Выкладка, откат и разбор инцидентов глазами бэкендера
↑ 7.6 DevOps для бэкенд-разработчика · ← Предыдущая · → Следующая
Зачем это на собесе
«Расскажите про инцидент и что вы сделали» — поведенческий и технический вопрос сразу.
Объяснение
Стратегии выкладки
| Стратегия | Суть | Плюс/минус |
|---|---|---|
| Recreate | остановить старое, запустить новое | просто, простой сервиса |
| Rolling | постепенная замена экземпляров | без простоя, две версии одновременно |
| Blue/Green | параллельное окружение, переключение трафика | мгновенный откат, двойные ресурсы |
| Canary | новая версия для малой доли трафика | риск ограничен, нужны метрики и автоматика |
| Feature flags | код в проде выключен, включается флагом | отделяет деплой от релиза |
Откат
- Возврат на предыдущий образ (тег) — быстро и предсказуемо.
- Миграции обратно совместимы, поэтому откат кода не требует отката схемы.
- Критерии автоматического отката: рост ошибок/задержки, падение health checks после выкладки.
Инцидент: порядок действий
- Обнаружить (алерт) и объявить инцидент, назначить ответственного.
- Стабилизировать: откат, отключение флага, масштабирование, деградация — сначала восстановить сервис, потом искать причину.
- Диагностировать: метрики → трейсы → логи (см. Три столпа observability: логи, метрики, трейсы).
- Коммуникация: статус заинтересованным сторонам.
- Постмортем без поиска виноватых: хронология, корневая причина (5 почему), что сработало, что нет, действия с владельцами и сроками.
Структура рассказа про инцидент (STAR): ситуация → задача → действия (диагностика, решение, откат) → результат (время восстановления, что улучшили).
Нюансы и подводные камни
- Выкладка в пятницу вечером и «одновременно много изменений».
- Откат, невозможный из-за необратимой миграции.
- Инцидент без owner: все смотрят, никто не действует.
- Постмортем без действий — формальность.
- Не удаляйте улики (логи, дампы) при спешке.
Практика
- Реализуйте canary-выкладку с автоматическим откатом по метрике ошибок.
- Проведите учебный game day и напишите постмортем.
- Подготовьте историю инцидента по STAR на 2 минуты.
Вопросы с ответами
Что делать первым при инциденте?
Восстановить сервис (откат, отключение фичи), а затем разбираться с причиной.
Blue/green или canary?
Blue/green даёт быстрый откат, canary — постепенное снижение риска на реальном трафике.