TGViewer
ДевОпс Українською ДевОпс Українською @devops_in_ukrainian · 647 subscribers
Post #38 713
Cold start vs Warm start у AWS Lambda

З 1 серпня 2025 AWS почне враховувати час cold start у вартості виклику Lambda. Раніше цей час був безкоштовний для ZIP-функцій із managed runtime — більше ні 😐

INIT-фаза буде включена у Billed Duration для всіх типів функцій. В CloudWatch ти побачиш:
Duration: 250ms | Billed Duration: 351ms | Init Duration: 101ms — раніше було 250ms.

Cold start - це коли Lambda створює нове оточення для функції:
- Завантажує код (під капотом код в амазоні завантажується з S3 бакету)
- Ініціалізує runtime
- Запускає статичний код поза handler

Warm start - повторне використання вже існуючого середовища. Код у INIT більше не виконується, одразу йде handler. Це значно швидше.

Як зменшити час cold start?
1. Оптимізуй розмір функції
- У Node.js уникай import * as AWS, краще import S3 from "aws-sdk/clients/s3"
- Краще використовувати aws-sdk v3, який дозволяє імпортувати лише потрібні клієнти, наприклад:
import { S3Client } from "@aws-sdk/client-s3"
- Використовуй esbuild або інший bundler для мінімізації залежностей

2. Ініціалізуй об'єкти поза handler
Наприклад, створення підключення до бази, клієнта до S3 чи DynamoDB — краще робити ОДИН раз у INIT:

Node.js

const mysql = require('mysql2/promise');
const conn = await mysql.createConnection({ /* creds */ }); // INIT
exports.handler = async (event) => {
const [rows] = await conn.query("SELECT * FROM demo"); // Fast!
return rows;
};


Python

import pymysql
conn = pymysql.connect(host='host', user='user', password='pass') # INIT
def lambda_handler(event, context):
with conn.cursor() as cursor:
cursor.execute("SELECT * FROM demo")
return cursor.fetchall()


3. Уникай непотрібних залежностей — не тягни весь aws-sdk v2, не використовуй великі фреймворки без потреби.
- Наприклад, aws-sdk v2 важить 50MB, а aws-sdk v3 — 1.5MB.
- Використовуй @aws-sdk/client-s3 замість aws-sdk для S3.

самий правильний коментар до цього що я бачив - "initflation"
https://aws.amazon.com/blogs/compute/aws-lambda-standardizes-billing-for-init-phase/
  • 👍 10
  • ❤ 1
More from @devops_in_ukrainian
  1. Oct 13, 2026AWS представила Lambda Web Functions — новий спосіб запускати вебзастосунки без серверів!…
  2. Oct 6, 2026Дуже цікаві деталі для аналізу щодо нещодавнього зламу АТБ. Додатково можна почитати тут,…
  3. Oct 6, 2026Привіт усім! Хочу розповісти про застосунок, у розробці якого я брав активну участь — SimB…
  4. Sep 23, 2026Вчора Anthropic випустила Claude Opus 5.5 - нову флагманську модель, орієнтовану на складн…
  5. Sep 22, 2026Cloudflare випустила аналог ngrok - Cloudflare Tunnel. https://developers.cloudflare.com/t…
  6. Aug 27, 2026Успішно склав CKAD Теми були на іспиті: - deployments - services - cronjobs - jobs - confi…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →