Книга про cloud native ценна тогда, когда связывает контейнеры, функции и сервисы данных в одну рабочую картину, а не в набор отдельных технологий.
Для реальных проектных решений глава помогает увидеть, как собирать application blueprint под конкретную нагрузку, выбирать разумный уровень абстракции и оценивать архитектуру через скорость поставки, радиус сбоя и простоту day-2 эксплуатации.
Для интервью и инженерных разборов она полезна тем, что помогает обсуждать cloud-native архитектуру через границы платформы, SLA и стоимость владения, а не через перечень популярных инструментов.
Практическая польза главы
Практика проектирования
Связывайте контейнеры, serverless и data services в единый application blueprint под реальную нагрузку.
Качество решений
Оценивайте архитектуру по delivery velocity, blast radius и эксплуатационной простоте day-2 процессов.
Interview articulation
Структурируйте ответ как platform decomposition: compute, data, messaging, observability, security.
Trade-off framing
Показывайте, как выбрать уровень abstraction без потери контроля над SLA и стоимостью.
Связанная книга
Building Microservices
Sam Newman о декомпозиции и коммуникации сервисов — фундамент для Cloud Native.
Cloud Native
Авторы: Boris Scholl, Trent Swanson, Peter Jausovec
Издательство: O'Reilly Media, 2019
Объём: 229 страниц
Containers, Functions, Data: практическое руководство по созданию cloud-native приложений от O'Reilly.
Связанная глава
Kubernetes Fundamentals
Практический разбор архитектуры, объектов и базовых практик Kubernetes.
Что такое Cloud Native?
Cloud Native — это подход к разработке, который максимально использует преимущества облачных платформ: эластичность, управляемые сервисы, автоматизацию и распределённость.
Ключевые характеристики
- Контейнеризация (Docker, containerd)
- Оркестрация (Kubernetes)
- Микросервисная архитектура
- Serverless и FaaS
- Immutable infrastructure
- Declarative APIs
Преимущества
- Быстрый time-to-market
- Автоматическое масштабирование
- Высокая отказоустойчивость
- Эффективное использование ресурсов
- Независимые деплои
Документальные фильмы
Структура книги
Cloud Native Context
Определение cloud native. Distributed systems challenges. The Twelve-Factor App methodology. Cloud native vs cloud-enabled.
Cloud Native Patterns
Foundational patterns для containers и orchestration. Communication patterns. Reliability и resiliency patterns.
Cloud Native Data
Data in cloud native world. Event-driven architecture. Stream processing. CQRS и Event Sourcing.
Cloud Native DevOps
CI/CD для cloud native. GitOps. Observability: logging, metrics, tracing. Security best practices.
Контейнеры и Kubernetes
Связанная глава
Контейнеризация
База про образы, слои, cgroups/namespaces и то, как контейнеры работают под капотом.
Контейнеры
- Изоляция приложений через namespaces и cgroups
- Immutable images — воспроизводимость
- Layered filesystem — эффективность
- Container registries (Docker Hub, ECR, GCR)
Kubernetes Primitives
- Pod — минимальная единица деплоя
- Service — stable network endpoint
- Deployment — declarative updates
- ConfigMap / Secret — конфигурация
# Kubernetes Deployment пример
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
spec:
containers:
- name: my-app
image: my-app:v1.2.0
resources:
limits:
memory: "256Mi"
cpu: "500m"Serverless и Functions
Serverless позволяет запускать код без управления инфраструктурой. Платформа автоматически масштабирует и тарифицирует по фактическому использованию.
AWS Lambda
Event-driven, до 15 мин выполнения, интеграция с AWS
Azure Functions
Durable Functions для workflows, bindings
Google Cloud Functions
HTTP и event triggers, Cloud Run для containers
Когда использовать
- Event-driven processing
- API backends с variable load
- Scheduled tasks (cron jobs)
- Data transformation pipelines
Ограничения
- Cold start latency
- Ограничения по времени выполнения
- Stateless по умолчанию
- Vendor lock-in
Управление данными
Глубокое погружение
Designing Data-Intensive Applications
Kleppmann о репликации, партиционировании и consistency в распределённых системах.
Database per Service
Каждый микросервис владеет своими данными. Это обеспечивает loose coupling, но усложняет distributed transactions.
Event-Driven Architecture
Сервисы общаются через события. Это обеспечивает асинхронность и resilience.
Event Sourcing
Хранение событий вместо текущего состояния
CQRS
Разделение команд и запросов
Паттерны отказоустойчивости
Классика
Release It!
Michael Nygard — автор Circuit Breaker и других stability patterns.
Retry with Backoff
Повторные попытки с экспоненциальной задержкой. Jitter для предотвращения thundering herd.
Circuit Breaker
Защита от каскадных сбоев. Три состояния: Closed, Open, Half-Open.
Health Checks
Liveness probes (жив ли процесс) и Readiness probes (готов ли принимать трафик).
Bulkhead
Изоляция компонентов для предотвращения распространения сбоев.
DevOps и Observability
Связанная книга
Site Reliability Engineering
Практики SRE для SLA/SLO, инцидентов и надёжной эксплуатации cloud-native платформ.
CI/CD для Cloud Native
GitOps
Git как source of truth для инфраструктуры
Canary Deployments
Постепенный rollout с мониторингом
Blue-Green
Мгновенное переключение между версиями
Three Pillars of Observability
Logging
Structured logs, ELK/Loki, correlation IDs
Metrics
Prometheus, Grafana, RED/USE методы
Tracing
Jaeger, Zipkin, OpenTelemetry
Применение на System Design интервью
Полезные концепции
- Container orchestration (Kubernetes)
- Serverless для event processing
- Database per service pattern
- Circuit breaker и retry patterns
- Health checks и graceful shutdown
- Observability: logs, metrics, traces
Вопросы, где пригодится
- «Как деплоить и масштабировать сервис?»
- «Как обрабатывать failures?»
- «Как мониторить распределённую систему?»
- «Какую БД выбрать для микросервиса?»
- «Как реализовать event processing?»
Главные выводы
Связанные главы
- Зачем знать Cloud Native и 12 факторов - Вводная рамка: зачем cloud-native мышление важно для System Design и архитектуры платформ.
- The Twelve-Factor App - Базовые принципы cloud-native приложений: конфигурация, процессы, build/release/run и dev/prod parity.
- Контейнеризация - Практика контейнерного runtime: образы, изоляция и переносимость как фундамент cloud-native delivery.
- Kubernetes Fundamentals (v1.35): архитектура, объекты и базовые практики - Как оркестрация управляет масштабированием, отказоустойчивостью и жизненным циклом workloads.
- Infrastructure as Code - Декларативное управление инфраструктурой и repeatable delivery для production-сред.
- GitOps - Операционная модель, где Git становится source of truth для деплоя и изменений платформы.
- Serverless Architecture Patterns - Когда FaaS и event-driven execution упрощают архитектуру, а когда добавляют ограничения.
