Tooling и Delivery
Для чего модуль
Собрать процесс поставки от коммита до production так, чтобы релизы были частыми, предсказуемыми и безопасными.
Результат после прохождения
- Вы проектируете CI/CD pipeline под контекст команды и продукта.
- Вы вводите quality gates, которые реально уменьшают риск дефектов.
- Вы умеете планировать rollout/rollback без импровизации.
- Вы строите post-release наблюдаемость и цикл непрерывного улучшения.
Термины и аббревиатуры
| Термин | Коротко |
|---|---|
CI/CD | Непрерывная интеграция и доставка |
Canary | Постепенный релиз |
Rollback | Откат на стабильную версию |
Lead time | Время до продакшена |
CFR | Доля неуспешных релизов |
Фокус по грейдам
Junior: понимать базовые механики и объяснять их простыми примерами.Middle: применять тему в продуктовых сценариях с учетом рисков и ограничений.Senior: управлять архитектурными trade-offs, метриками и эволюцией решения.
Как работать с модулем
- На каждом уроке выберите один этап delivery pipeline и формализуйте его.
- Любой новый gate сопровождайте обоснованием стоимости/пользы.
- После урока обновляйте release runbook и ownership.
Программа модуля
Урок 1. CI pipeline
Цель: обеспечить быстрый и надежный сигнал качества на каждом изменении.
Структура CI
- Fast checks (lint, typecheck, unit).
- Integration/smoke checks.
- Build artifact и проверка воспроизводимости.
Принципы эффективного CI
- Быстрый feedback (до 10-15 минут для критичных проверок).
- Параллелизация и кэширование.
- Детеминированная среда запуска.
Где ломается в проде
- CI слишком медленный, разработчики обходят проверки.
- Нестабильные тесты дают шумный сигнал.
- Нет разделения обязательных и опциональных шагов.
Мини-задача (обязательная)
Нарисуйте текущий CI pipeline и выделите 3 узких места. Для каждого предложите улучшение с оценкой эффекта.
Что спросит интервьюер: как сделать CI быстрее, не жертвуя качеством.
Критерий готовности по уроку: вы можете объяснить CI как систему сигналов качества, а не как «набор job'ов».
Урок 2. CD и релизная стратегия
Цель: доставлять изменения в production управляемо и с контролем риска.
Релизные паттерны
- Feature flags.
- Canary / phased rollout.
- Blue-green (где применимо).
Release readiness
- Чеклист готовности релиза.
- Явные блокеры и ответственность за принятие решения.
- Коммуникация и окно релиза.
Где ломается в проде
- Релизы «большими пачками» раз в долгое время.
- Нет плана отката до начала релиза.
- Flag-логика накапливается и становится новым источником риска.
Мини-задача (обязательная)
Подготовьте rollout strategy для одной рискованной фичи: этапы, метрики мониторинга, trigger для rollback.
Что спросит интервьюер: как вы снижаете риск релиза без потери скорости поставки.
Критерий готовности по уроку: вы можете провести релиз по процессу, который выдерживает ошибки и частичные отказы.
Урок 3. Observability и эксплуатация
Цель: видеть состояние системы после релиза и быстро локализовать проблемы.
Что должно быть в проде
- Метрики (latency, error rate, saturation, business KPIs).
- Structured logs с корреляцией (
traceId/requestId). - Алерты с разумным уровнем шума.
Post-release контроль
- Проверка ключевых user journeys.
- Сравнение baseline и after по критичным метрикам.
- Фиксация аномалий и решений в runbook.
Где ломается в проде
- Много логов, но нет корреляции и actionable сигналов.
- Алерты слишком шумные и игнорируются.
- Нет явного owner post-release мониторинга.
Мини-задача (обязательная)
Соберите observability checklist для релиза: какие метрики/логи/алерты проверяются в первые 30 минут.
Что спросит интервьюер: какие сигналы показывают, что релиз нужно откатывать.
Критерий готовности по уроку: вы можете доказать стабильность релиза данными, а не субъективным ощущением.
Урок 4. Инциденты и улучшение процессов
Цель: превращать инциденты в источник улучшений системы поставки.
Incident flow
- Детектирование и triage.
- Mitigation и коммуникация.
- Root cause analysis.
- Corrective/Preventive actions.
Postmortem без обвинений
- Таймлайн событий.
- Что сработало/не сработало.
- Какие изменения процесса предотвращают повтор.
Где ломается в проде
- Инциденты тушат, но не закрывают системную причину.
- Нет владельцев corrective actions.
- Одни и те же сбои повторяются через 1-2 релиза.
Мини-задача (обязательная)
Подготовьте postmortem template и заполните его на учебном кейсе релизного инцидента.
Что спросит интервьюер: как вы делаете так, чтобы инциденты реально улучшали процесс команды.
Критерий готовности по уроку: вы можете показать цикл «инцидент -> изменения процесса -> измеримое снижение повторов».
Практика
- Опишите текущий CI/CD pipeline с рисками и bottleneck.
- Добавьте quality gates для одного критичного сервиса.
- Подготовьте rollout/rollback runbook для рискованной фичи.
- Соберите observability checklist для релиза.
- Проведите учебный postmortem и закрепите в Senior Frontend.
- Смоделируйте rollout + rollback сценарий в Песочнице и проверьте критерии остановки релиза.
Связь с треками и вопросами
- Треки: Middle трек, Senior трек.
- Вопросы: Senior Frontend, Playbook.
- Повторение: 3-5 вопросов без подсказок -> сверка с модулем -> повтор через 24 часа.
Критерий готовности
Вы объясняете процесс поставки от коммита до post-release контроля как единую инженерную систему.
Артефакты после модуля
- Карта CI/CD процесса команды.
- Rollout/rollback runbook.
- Observability checklist.
- Postmortem template.