Описание: архитектура, где управление серверами полностью делегировано облачному провайдеру, разработчики фокусируются только на бизнес-логике в виде функций (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 обработка
Архитектурные варианты:
- API-Centric Serverless: REST/GraphQL API на функциях
- event Processing Pipeline: Цепочки функций для обработки событий
- choreography Serverless: Координация через события без оркестратора
Оценки:
- масштабируемость: ⭐⭐⭐⭐⭐ (5/5) — Автоскейлинг до нуля
- надежность: ⭐⭐⭐⭐ (4/5) — Изоляция функций, но vendor lock-in
- сопровождение: ⭐⭐⭐⭐ (4/5) — Нет серверов, но сложная отладка
- стоимость: ⭐⭐⭐⭐ (4/5) — Плата за использование, экономично при переменной нагрузке
- время выхода на рынок: ⭐⭐⭐⭐⭐ (5/5)
Паттерны реализации:
- strangler Fig Pattern: Постепенная миграция монолита в serverless
- fan-out/Fan-in: Параллельная обработка с агрегацией результатов
- 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 риски
- сложность локальной разработки