Перейти к основному содержимому

Tooling и Delivery

Для чего модуль

Собрать процесс поставки от коммита до production так, чтобы релизы были частыми, предсказуемыми и безопасными.

Результат после прохождения

  1. Вы проектируете CI/CD pipeline под контекст команды и продукта.
  2. Вы вводите quality gates, которые реально уменьшают риск дефектов.
  3. Вы умеете планировать rollout/rollback без импровизации.
  4. Вы строите post-release наблюдаемость и цикл непрерывного улучшения.

Термины и аббревиатуры

ТерминКоротко
CI/CDНепрерывная интеграция и доставка
CanaryПостепенный релиз
RollbackОткат на стабильную версию
Lead timeВремя до продакшена
CFRДоля неуспешных релизов

Фокус по грейдам

  1. Junior: понимать базовые механики и объяснять их простыми примерами.
  2. Middle: применять тему в продуктовых сценариях с учетом рисков и ограничений.
  3. Senior: управлять архитектурными trade-offs, метриками и эволюцией решения.

Как работать с модулем

  1. На каждом уроке выберите один этап delivery pipeline и формализуйте его.
  2. Любой новый gate сопровождайте обоснованием стоимости/пользы.
  3. После урока обновляйте release runbook и ownership.

Программа модуля

Урок 1. CI pipeline

Цель: обеспечить быстрый и надежный сигнал качества на каждом изменении.

Структура CI

  1. Fast checks (lint, typecheck, unit).
  2. Integration/smoke checks.
  3. Build artifact и проверка воспроизводимости.

Принципы эффективного CI

  1. Быстрый feedback (до 10-15 минут для критичных проверок).
  2. Параллелизация и кэширование.
  3. Детеминированная среда запуска.

Где ломается в проде

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

Мини-задача (обязательная)

Нарисуйте текущий CI pipeline и выделите 3 узких места. Для каждого предложите улучшение с оценкой эффекта.

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

Критерий готовности по уроку: вы можете объяснить CI как систему сигналов качества, а не как «набор job'ов».

Урок 2. CD и релизная стратегия

Цель: доставлять изменения в production управляемо и с контролем риска.

Релизные паттерны

  1. Feature flags.
  2. Canary / phased rollout.
  3. Blue-green (где применимо).

Release readiness

  1. Чеклист готовности релиза.
  2. Явные блокеры и ответственность за принятие решения.
  3. Коммуникация и окно релиза.

Где ломается в проде

  1. Релизы «большими пачками» раз в долгое время.
  2. Нет плана отката до начала релиза.
  3. Flag-логика накапливается и становится новым источником риска.

Мини-задача (обязательная)

Подготовьте rollout strategy для одной рискованной фичи: этапы, метрики мониторинга, trigger для rollback.

Что спросит интервьюер: как вы снижаете риск релиза без потери скорости поставки.

Критерий готовности по уроку: вы можете провести релиз по процессу, который выдерживает ошибки и частичные отказы.

Урок 3. Observability и эксплуатация

Цель: видеть состояние системы после релиза и быстро локализовать проблемы.

Что должно быть в проде

  1. Метрики (latency, error rate, saturation, business KPIs).
  2. Structured logs с корреляцией (traceId/requestId).
  3. Алерты с разумным уровнем шума.

Post-release контроль

  1. Проверка ключевых user journeys.
  2. Сравнение baseline и after по критичным метрикам.
  3. Фиксация аномалий и решений в runbook.

Где ломается в проде

  1. Много логов, но нет корреляции и actionable сигналов.
  2. Алерты слишком шумные и игнорируются.
  3. Нет явного owner post-release мониторинга.

Мини-задача (обязательная)

Соберите observability checklist для релиза: какие метрики/логи/алерты проверяются в первые 30 минут.

Что спросит интервьюер: какие сигналы показывают, что релиз нужно откатывать.

Критерий готовности по уроку: вы можете доказать стабильность релиза данными, а не субъективным ощущением.

Урок 4. Инциденты и улучшение процессов

Цель: превращать инциденты в источник улучшений системы поставки.

Incident flow

  1. Детектирование и triage.
  2. Mitigation и коммуникация.
  3. Root cause analysis.
  4. Corrective/Preventive actions.

Postmortem без обвинений

  1. Таймлайн событий.
  2. Что сработало/не сработало.
  3. Какие изменения процесса предотвращают повтор.

Где ломается в проде

  1. Инциденты тушат, но не закрывают системную причину.
  2. Нет владельцев corrective actions.
  3. Одни и те же сбои повторяются через 1-2 релиза.

Мини-задача (обязательная)

Подготовьте postmortem template и заполните его на учебном кейсе релизного инцидента.

Что спросит интервьюер: как вы делаете так, чтобы инциденты реально улучшали процесс команды.

Критерий готовности по уроку: вы можете показать цикл «инцидент -> изменения процесса -> измеримое снижение повторов».

Практика

  1. Опишите текущий CI/CD pipeline с рисками и bottleneck.
  2. Добавьте quality gates для одного критичного сервиса.
  3. Подготовьте rollout/rollback runbook для рискованной фичи.
  4. Соберите observability checklist для релиза.
  5. Проведите учебный postmortem и закрепите в Senior Frontend.
  6. Смоделируйте rollout + rollback сценарий в Песочнице и проверьте критерии остановки релиза.

Связь с треками и вопросами

  1. Треки: Middle трек, Senior трек.
  2. Вопросы: Senior Frontend, Playbook.
  3. Повторение: 3-5 вопросов без подсказок -> сверка с модулем -> повтор через 24 часа.

Критерий готовности

Вы объясняете процесс поставки от коммита до post-release контроля как единую инженерную систему.

Артефакты после модуля

  1. Карта CI/CD процесса команды.
  2. Rollout/rollback runbook.
  3. Observability checklist.
  4. Postmortem template.

Куда дальше

  1. Package Managers и Bundlers
  2. Git для командной разработки
  3. Tooling и Delivery