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

Обновлено: 24 июня 2026 г. в 21:45

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

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

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

Part IV

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

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

Контейнеры и платформа Kubernetes

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

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

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

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

Контейнеры

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

Базовые объекты платформы Kubernetes

  • Pod — минимальная единица запуска.
  • Service — стабильный сетевой адрес для группы Pod.
  • Развёртывание (Deployment) — декларативные обновления и откат версий.
  • ConfigMap / Secret — конфигурация и чувствительные параметры.
# Пример развёртывания на платформе Kubernetes
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

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

Читать обзор

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

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 - Как оркестрация управляет масштабированием, устойчивостью и жизненным циклом прикладных нагрузок.
  • Infrastructure as Code - Декларативное управление инфраструктурой и воспроизводимая поставка изменений для промышленных сред.
  • GitOps - Операционная модель, где Git становится источником истины для развёртывания и изменений платформы.
  • Serverless Architecture Patterns - Где функции как сервис снимают с команды эксплуатацию, а где взамен навязывают ограничения платформы и привязку к её модели событий.

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

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