Раздел описывает путь программного изменения от исходного кода до работающей системы, а также процессы, необходимые для её устойчивой эксплуатации.
Материалы раздела рассматривают сборку, тестирование, управление артефактами, автоматизацию доставки, развёртывание, конфигурацию, управление секретами, сопровождение, резервное восстановление и реагирование на инциденты.
Основные направления
- Сборка и управление артефактами — воспроизводимые сборки, зависимости, версии, пакеты, контейнерные образы, репозитории и неизменяемость результатов сборки.
- Непрерывная интеграция и проверки качества — pipeline as code, автоматические тесты, статический и динамический анализ, проверки безопасности и условия объединения изменений.
- Управление релизами и окружениями — версии, release notes, продвижение артефактов, development, testing, staging и production-среды.
- Развёртывание и progressive delivery — rolling, blue-green, canary, feature flags, проверки после выпуска, критерии остановки и автоматический откат.
- Конфигурация и секреты — внешняя конфигурация, параметры окружений, configuration drift, безопасное хранение, выдача и ротация секретов.
- Эксплуатация и сопровождение — runbooks, регламентные работы, управление изменениями, capacity planning, обновления, обслуживание и операционная готовность.
- Резервное копирование и восстановление — backup, restore, RTO, RPO, disaster recovery, проверка резервных копий и восстановительные учения.
- Инциденты и непрерывность сервиса — обнаружение, классификация, эскалация, коммуникация, локализация, восстановление, postmortem и предотвращение повторений.
- Управление надёжностью и уровнем сервиса — SLI, SLO, SLA, error budget, риски изменений и баланс скорости поставки с устойчивостью системы.
Основные вопросы раздела
Материалы раздела должны помогать отвечать на следующие вопросы:
- Как получить воспроизводимый и проверяемый артефакт из исходного кода?
- Какие проверки должны выполняться до объединения и выпуска изменения?
- Чем непрерывная интеграция отличается от непрерывной доставки и развёртывания?
- Как продвигать один и тот же артефакт между окружениями?
- Как выбрать стратегию развёртывания и критерии безопасного продолжения выпуска?
- Когда следует выполнить rollback, а когда roll forward?
- Как отделить конфигурацию и секреты от программного артефакта?
- Какие действия необходимы для операционной готовности нового сервиса?
- Как определить требования к резервному копированию и восстановлению?
- Как организовать реагирование на инцидент и коммуникацию с участниками?
- Как провести postmortem и превратить его выводы в улучшения системы?
- Как использовать SLO и error budget при принятии решений о поставке изменений?
Границы раздела
Раздел посвящён техническим процессам сборки, выпуска, развёртывания и сопровождения программных систем.
Организация командной разработки и управления задачами рассматривается в разделе инженерного процесса. Платформы выполнения, контейнеры и Kubernetes относятся к разделу инфраструктуры и платформ. Сбор и анализ телеметрии рассматриваются в разделе наблюдаемости и диагностики. Архитектурные механизмы отказоустойчивости относятся к разделу распределённых систем и надёжности, а защита pipeline, артефактов и секретов — к разделу безопасности.