Граф знанийНастройки

Обновлено: 25 марта 2026 г. в 00:30

Cloud Native (short summary)

hard

Книга про 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
  • Автоматическое масштабирование
  • Высокая отказоустойчивость
  • Эффективное использование ресурсов
  • Независимые деплои

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

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

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

Связанная глава

Контейнеризация

База про образы, слои, 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.

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

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

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

Связанные главы

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

Чтобы отмечать прохождение, включи трекинг в Настройки