System Design Space

    Глава 132

    Обновлено: 16 февраля 2026 г. в 03:00

    Cloud Native (short summary)

    Прогресс части0/17

    Связанная книга

    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.

    Cloud Native — оригинальная обложкаОригинал

    Что такое Cloud Native?

    Cloud Native — это подход к разработке, который максимально использует преимущества облачных платформ: эластичность, управляемые сервисы, автоматизацию и распределённость.

    Ключевые характеристики

    • Контейнеризация (Docker, containerd)
    • Оркестрация (Kubernetes)
    • Микросервисная архитектура
    • Serverless и FaaS
    • Immutable infrastructure
    • Declarative APIs

    Преимущества

    • Быстрый time-to-market
    • Автоматическое масштабирование
    • Высокая отказоустойчивость
    • Эффективное использование ресурсов
    • Независимые деплои

    Документальные фильмы

    Структура книги

    Part I

    Cloud Native Context

    Определение cloud native. Distributed systems challenges. The Twelve-Factor App methodology. Cloud native vs cloud-enabled.

    Part II

    Cloud Native Patterns

    Foundational patterns для containers и orchestration. Communication patterns. Reliability и resiliency patterns.

    Part III

    Cloud Native Data

    Data in cloud native world. Event-driven architecture. Stream processing. CQRS и Event Sourcing.

    Part IV

    Cloud Native DevOps

    CI/CD для cloud native. GitOps. Observability: logging, metrics, tracing. Security best practices.

    Контейнеры и Kubernetes

    Глубокое погружение

    Kubernetes Patterns

    Каталог паттернов для K8s: sidecar, health probes, configuration и advanced patterns.

    Читать обзор

    Связанная книга

    Site Reliability Engineering

    Как Google управляет production-системами с Borg — предшественником Kubernetes.

    Читать обзор

    Контейнеры

    • Изоляция приложений через 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.

    Polyglot PersistenceSaga PatternEventual Consistency

    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

    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 — это не просто «в облаке», а архитектурный подход
    Контейнеры + оркестрация = основа современной инфраструктуры
    Serverless отлично подходит для event-driven workloads
    Resilience patterns критичны для distributed systems
    Observability — must-have для production систем
    GitOps и CI/CD — ключ к быстрым и безопасным релизам

    Где найти книгу