Постмортемы или как мы учимся на факапах
Опыт построения культуры разбора инцидентов в крупном финтехе
Опыт построения культуры разбора инцидентов в крупном финтехе
Опыт построения культуры разбора инцидентов в крупном финтехе
Зачем нужны постмортемы
Как это делают Etsy и Google
Наш шаблон и процесс
Примеры факапов и выводы
Когда команда растёт, факапы становятся cross-team
От простых инцидентов в одной команде к cross-team фейлам
Late 2016 — 3 команды, простые факапы внутри
Рост команд — больше команд — cross-team фейлы
Сегодня — cross-department инциденты
Задачи, которые должен закрывать постмортем
Зафиксировать факт инцидента
Оценить эффект на бизнес и людей
Описать, как тушили пожар
Действия и ответственные, чтобы не повторилось
Etsy и Google как ключевые источники
Открытые материалы по культуре blameless postmortems
Etsy — Just Culture
Google SRE Book и SRE Workbook
Публичный шаблон постмортема Google
Опыт PagerDuty, Atlassian, GitLab
Blameless даёт честные данные
Цель — узнать факты
Без обвинений рассказывают детали
Страх рождает CYA-engineering
Just Culture: error ≠ at-risk
Google SRE Book: разбор, а не наказание
Безобвинительно и конструктивно
Все постмортемы проходят ревью
Нет ревью — лучше не писать
Action items: конкретные и с владельцем
Workbook разбирает оба на примерах
Плохой
Размытое summary
Нет конкретных действий
Поиск виноватого
Хороший
Ясная хронология
Action items с владельцами
Безобвинительный тон
Критерии: ясность, конкретика, безобвинительность
Что мы взяли и как адаптировали под себя
Одинаково удобно писать и читать
Summary — одно предложение
Эффект — пользователи, бизнес, метрики
Timeline — что и когда
Root cause + action items с владельцем
От инцидента до закрытия action items
Инцидент → дежурный фиксирует факт
48 часов — черновик постмортема
Ревью команды и cross-team
Action items → очередь задач с дедлайнами
Раз в квартал — ретроспектива по всем постмортемам
Реальные кейсы и что мы из них вынесли
Хорошо подготовили, плохо выкатили
Большой релиз без flag и canary
Тест на ограниченных данных
Прод: деградация за 5 минут
Откат 25 минут — ручной процесс
Выводы: feature flags, canary, runbook отката
Критичность общего сервиса неявна
Команда A: breaking change в общем API
Команда B не знала зависимость
Каскад на 3 сервиса вниз
Причина — коммуникация, не код
Выводы: контракт-тесты, единый каталог сервисов
Виноват не код, а конфиг сети
Изменение DNS в одном ЦОД
Частичный резолв — серый отказ
Мониторинг не поймал — всё зелёное
Узнали по жалобам пользователей
Выводы: synthetic monitoring, multi-region health checks
Что мы поняли за 3 года работы с постмортемами
Правила, которые работают у нас
Blameless — иначе не скажут правду
Шаблон обязателен — иначе несравнимы
Action items без владельцев не делаются
Ретроспектива — раз в квартал
метрики процесса: % action items и время до закрытия
polomodov.tech
Все слайды и ссылки — в Telegram-канале
Александр Поломодов, Технический директор и Fellow, Т-Технологии
@book_cube