Описание: архитектура, где управление серверами полностью делегировано облачному провайдеру, разработчики фокусируются только на бизнес-логике в виде функций (FaaS) и используют управляемые сервисы (BaaS).

Ключевые компоненты:

  • Functions as a Service (FaaS): AWS Lambda, Azure Functions, Google Cloud Functions
  • Backend as a Service (BaaS): Managed databases, message queues, authentication services
  • Event Sources: API Gateway, Cloud Events, Message Brokers

Область применения:

  • event-driven обработка данных
  • API бэкенды с переменной нагрузкой
  • периодические задачи (cron jobs)
  • обработка файлов и стримов
  • IoT и real-time обработка

Архитектурные варианты:

  1. API-Centric Serverless: REST/GraphQL API на функциях
  2. event Processing Pipeline: Цепочки функций для обработки событий
  3. choreography Serverless: Координация через события без оркестратора

Оценки:

  • масштабируемость: ⭐⭐⭐⭐⭐ (5/5) — Автоскейлинг до нуля
  • надежность: ⭐⭐⭐⭐ (4/5) — Изоляция функций, но vendor lock-in
  • сопровождение: ⭐⭐⭐⭐ (4/5) — Нет серверов, но сложная отладка
  • стоимость: ⭐⭐⭐⭐ (4/5) — Плата за использование, экономично при переменной нагрузке
  • время выхода на рынок: ⭐⭐⭐⭐⭐ (5/5)

Паттерны реализации:

  1. strangler Fig Pattern: Постепенная миграция монолита в serverless
  2. fan-out/Fan-in: Параллельная обработка с агрегацией результатов
  3. priority Queue Pattern: Управление приоритетами выполнения

Типичный технологический стек:

AWS: Lambda + API Gateway + DynamoDB + S3 + EventBridge
Azure: Functions + Cosmos DB + Blob Storage + Service Bus
GCP: Cloud Functions + Firestore + Cloud Storage + Pub/Sub

Ограничения и предупреждения:

  • cold starts влияют на latency-sensitive приложения
  • максимальное время выполнения (обычно 15 мин)
  • ограничения памяти и CPU
  • vendor lock-in риски
  • сложность локальной разработки