advanced

Lambda

Запускайте event-driven функции без управления серверами, учитывая cold start, таймауты, IAM permissions и stateless-дизайн.

Lambda выполняет event-driven функции на Node.js без управления серверами. Триггеры: API Gateway, SQS, уведомления S3, EventBridge, расписания. На каждый вызов — изолированная память, потолок timeout и временный каталог `/tmp`.

Обработчики проектируют stateless: долговечное состояние — в DynamoDB, S3 или RDS через RDS Proxy. Cold start бьёт по latency чувствительных API; помогают provisioned concurrency и компактный bundle. IAM execution role даёт минимальные права на функцию.

| Ограничение | Типичный эффект | |-------------|-----------------| | Timeout (до 15 мин) | Длинные задачи — Step Functions или очереди | | Размер payload | Крупные загрузки через S3, не через handler | | Лимит concurrency аккаунта | Всплески требуют планирования reserved concurrency |

На интервью: cold start, идемпотентность с SQS, API Gateway vs Function URLs, Lambda в VPC и когда Lambda не подходит для стабильно высокого RPS API.

Типовые ошибки: монолитный handler; секреты в env без ротации; прямое подключение к RDS без пулинга; игнор partial batch failures у SQS-триггера.

Компромисс — нулевой server ops и оплата за использование против разброса latency, лимитов длительности и сложной локальной отладки.

Чеклист:

  • Небольшие, идемпотентные и быстрые handlers.
  • Состояние снаружи; крупные payload — через S3.
  • Память (с ней растёт CPU) и timeout осознанно.
  • Минимальные IAM-права на каждую функцию.