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

Обновлено: 11 мая 2026 г. в 04:55

Cloud Native (short summary)

сложный

Книга про Cloud Native ценна тогда, когда связывает контейнеры, функции и сервисы данных в одну рабочую картину, а не в набор отдельных технологий.

Для реальных проектных решений глава помогает увидеть, как собирать прикладную архитектуру под конкретную нагрузку, выбирать разумный уровень абстракции и оценивать решение через скорость поставки, радиус сбоя и простоту эксплуатации после запуска.

Для интервью и инженерных разборов она полезна тем, что помогает обсуждать облачную архитектуру через границы платформы, SLA и стоимость владения, а не через перечень модных инструментов.

Практическая польза главы

Практика проектирования

Связывайте контейнеры, функции и сервисы данных в единую прикладную архитектуру под реальную нагрузку.

Качество решений

Оценивайте архитектуру по скорости поставки, радиусу сбоя и простоте эксплуатации после запуска.

Аргументация на интервью

Структурируйте ответ через границы платформы: вычисления, данные, обмен сообщениями, наблюдаемость и безопасность.

Формулировка компромиссов

Показывайте, как выбрать уровень абстракции без потери контроля над SLA и стоимостью.

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

Building Microservices

Sam Newman о границах сервисов, коммуникации и цене распределённости.

Читать обзор

Cloud Native

Авторы: Boris Scholl, Trent Swanson, Peter Jausovec
Издательство: O'Reilly Media, 2019
Объём: 229 страниц

Практическое руководство O'Reilly по Cloud Native: контейнеры, функции, данные, устойчивость, GitOps и наблюдаемость.

Оригинал
В этой главе рассматривается как практический контракт между приложением и платформой: , , , , , и должны работать вместе, а не жить отдельными практиками.

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

Kubernetes Fundamentals

Практический разбор архитектуры, объектов и базовых практик Kubernetes.

Открыть главу

Что такое облачно-ориентированный подход

Облачно-ориентированный подход — это не “поставили приложение в облако”. Это способ проектирования, при котором сервис заранее рассчитан на автоматизацию, эластичность, управляемые сервисы, частичные отказы и переносимость между средами.

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

  • Приложение упаковано в и не зависит от ручной настройки конкретной машины.
  • Инфраструктура описывается декларативно: от до политики развёртывания.
  • Состояние выносится в , а процессы приложения остаются без локального состояния.
  • Платформа берёт на себя масштабирование, перезапуск, маршрутизацию и сбор сигналов наблюдаемости.

Практическая польза

  • Быстрее выпускать изменения без ручных операций на серверах.
  • Масштабировать сервисы под профиль нагрузки, а не под заранее купленное железо.
  • Изолировать сбои и снижать радиус поражения через платформенные границы.
  • Собирать эксплуатационные сигналы сразу: логи, метрики, трассировки и проверки готовности.

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

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

Part I

Контекст облачно-ориентированной архитектуры

Книга задаёт словарь: , вызовы , методика The Twelve-Factor App и различие между приложением, изначально спроектированным под облако, и приложением, просто перенесённым туда.

Part II

Паттерны приложений и платформы

Разбираются контейнеры, оркестрация, коммуникация между сервисами, и паттерны, которые помогают переживать сетевые сбои и частичные отказы.

Part III

Данные в облачной архитектуре

Отдельный фокус на владении данными, событиях, потоковой обработке, CQRS и Event Sourcing: данные становятся частью распределённого контракта, а не просто таблицами за сервисом.

Part IV

Поставка, безопасность и эксплуатация

Финальные главы связывают CI/CD, , и безопасность в единый операционный контур.

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

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

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

База про образы, слои, пространства имён, группы управления ресурсами и то, как контейнеры работают под капотом.

Открыть главу

Контейнеры

  • Изоляция приложений через пространства имён и группы управления ресурсами.
  • делают запуск воспроизводимым.
  • ускоряет сборку и распространение образов.
  • хранит версии, которые затем запускает платформа.

Базовые объекты Kubernetes

  • Pod — минимальная единица запуска.
  • Service — стабильный сетевой адрес для группы Pod.
  • Deployment — декларативные обновления и откат версий.
  • 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"

Бессерверные функции

Бессерверная модель позволяет запускать код без управления серверами. Платформа масштабирует выполнение и тарифицирует его по фактическому использованию, но взамен задаёт ограничения по времени, памяти, сети и модели событий.

AWS Lambda

Функции как сервис, событийные триггеры, интеграция с AWS и ограниченное время выполнения.

Azure Functions

Функции, Durable Functions для долгоживущих процессов и привязки к событиям платформы.

Google Cloud Functions

HTTP-триггеры, событийные триггеры и Cloud Run, когда нужен контейнерный вариант.

Когда использовать

  • небольших независимых задач.
  • API-обработчики с переменной нагрузкой.
  • для фоновых операций.
  • без отдельного сервера обработки.

Ограничения

  • на редких или тяжёлых вызовах.
  • Ограничения по времени выполнения и объёму ресурсов.
  • Процессы по умолчанию.
  • и его событийной модели.

Управление данными

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

Designing Data-Intensive Applications, 2nd Edition

DDIA о репликации, шардировании и гарантиях консистентности в распределённых системах.

Читать обзор

База данных на сервис

Сервис владеет своими данными, а не делит одну схему со всеми соседями. Это снижает связанность, но усложняет и требует явной модели согласованности.

Архитектура с несколькими типами хранилищSagaСогласованность в конечном итоге

Событийная архитектура

Сервисы публикуют события и реагируют на них асинхронно. Это помогает масштабировать обработку, но требует идемпотентности, повторной обработки и аккуратной схемы событий.

Event Sourcing

Хранение истории событий вместо только текущего состояния

CQRS

Разделение команд изменения и запросов чтения

Паттерны устойчивости

Классика

Release It!

Michael Nygard — автор размыкателя цепи и других паттернов устойчивости.

Читать обзор

Повторные попытки с нарастающей паузой

помогают при временных сбоях, а и снижают риск лавины повторных запросов.

Размыкатель цепи

останавливает поток запросов к деградирующему сервису и защищает систему от каскадного сбоя.

Проверки работоспособности

отвечает, жив ли процесс, а — можно ли уже направлять на него трафик.

Изоляция по отсекам

ограничивает распространение сбоя: один пул, очередь или зависимость не должны положить всю систему.

DevOps и наблюдаемость

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

Site Reliability Engineering

Практики SRE для SLO, инцидентов и надёжной эксплуатации облачных платформ.

Читать обзор

Поставка изменений

GitOps

Git выступает как для инфраструктуры и платформенных изменений.

Канареечный запуск

постепенно открывает новую версию части трафика и сверяет её с метриками.

Blue-Green

держит две среды и переключает трафик между ними.

Три опоры наблюдаемости

Логи

, ELK или Loki и идентификаторы корреляции для поиска цепочки запроса.

Метрики

Prometheus, Grafana и методы RED/USE для оценки нагрузки, ошибок и насыщения ресурсов.

Трассировки

через Jaeger, Zipkin или OpenTelemetry показывает путь запроса между сервисами.

Применение на интервью по системному дизайну

Полезные концепции

  • Оркестрация контейнеров через Kubernetes.
  • Бессерверная модель для событийной обработки.
  • База данных на сервис и явное владение данными.
  • Размыкатель цепи, повторные попытки и проверки работоспособности.
  • Корректное завершение и работа без локального состояния.
  • Наблюдаемость: логи, метрики и трассировки.

Где пригодится

  • «Как развёртывать и масштабировать сервис?»
  • «Как переживать частичные отказы и деградацию зависимостей?»
  • «Как наблюдать распределённую систему в промышленной среде?»
  • «Как выбрать хранилище и границу данных для микросервиса?»
  • «Как реализовать событийную обработку без хаоса повторов?»

Главные выводы

— это не просто запуск “в облаке”, а способ проектировать приложение под автоматизацию и частичные отказы.
Контейнеры и оркестрация дают переносимую упаковку, управляемый запуск и масштабирование.
Бессерверная модель полезна для событийных задач, но требует учитывать холодный старт и зависимость от платформы.
Устойчивость строится не одним паттерном, а набором ограничителей: повторы, размыкатели, проверки и изоляция.
Наблюдаемость нужна с первого дня, иначе распределённая система быстро превращается в чёрный ящик.
GitOps и CI/CD превращают инфраструктуру и релизы в проверяемый, повторяемый процесс.

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

  • Зачем знать Cloud Native и 12 факторов - Вводная рамка: зачем облачно-ориентированный подход важен для системного дизайна и платформенной архитектуры.
  • The Twelve-Factor App - Базовые принципы переносимых приложений: конфигурация, процессы, разделение сборки/выпуска/запуска и близость окружений.
  • Контейнеризация - Практика контейнерной среды выполнения: образы, изоляция и переносимость как фундамент облачной эксплуатации.
  • Kubernetes Fundamentals (v1.36): архитектура, объекты и базовые практики - Как оркестрация управляет масштабированием, устойчивостью и жизненным циклом прикладных нагрузок.
  • Infrastructure as Code - Декларативное управление инфраструктурой и воспроизводимая поставка изменений для промышленных сред.
  • GitOps - Операционная модель, где Git становится источником истины для развёртывания и изменений платформы.
  • Serverless Architecture Patterns - Когда функции как сервис упрощают архитектуру, а когда добавляют ограничения платформы.

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

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