Постмортемы или как мы учимся на факапах
Опыт построения культуры разбора инцидентов в крупном финтехе
Содержание слайдов
1. Постмортемы или как мы учимся на факапах
Опыт построения культуры разбора инцидентов в крупном финтехе
2. О чём поговорим
Зачем нужны постмортемы
Как это делают Etsy и Google
Наш шаблон и процесс
Примеры факапов и выводы
3. 01. Зачем нужны постмортемы
Когда команда растёт, факапы становятся cross-team
4. Команды растут — факапы усложняются
От простых инцидентов в одной команде к cross-team фейлам
Late 2016 — 3 команды, простые факапы внутри
Рост команд — больше команд — cross-team фейлы
Сегодня — cross-department инциденты
5. Что хотели от процесса
Задачи, которые должен закрывать постмортем
Зафиксировать факт инцидента
Оценить эффект на бизнес и людей
Описать, как тушили пожар
Действия и ответственные, чтобы не повторилось
6. 02. Как другие работают с постмортемами
Etsy и Google как ключевые источники
7. Откуда мы учились
Открытые материалы по культуре blameless postmortems
Etsy — Just Culture
Google SRE Book и SRE Workbook
Публичный шаблон постмортема Google
Debriefing Facilitation Guide (Etsy)
8. Etsy: разбор без обвинений
Blameless даёт честные данные
Цель — узнать факты
Без обвинений рассказывают детали
Страх рождает CYA-engineering
Just Culture: ошибка ≠ рискованное поведение
9. Постмортем — артефакт обучения
Google SRE Book: разбор, а не наказание
Безобвинительно и конструктивно
Все постмортемы проходят ревью
Нет ревью — лучше не писать
Action items: конкретные и с владельцем
10. Хороший постмортем vs плохой
Workbook разбирает оба на примерах
Плохой
Размытое summary
Нет конкретных действий
Поиск виноватого
Хороший
Ясная хронология
Action items с владельцами
Безобвинительный тон
Критерии: ясность, конкретика, безобвинительность
11. 03. Наш шаблон постмортема
Что мы взяли и как адаптировали под себя
12. Пять разделов закрывают все вопросы
Одинаково удобно писать и читать
Issue Summary — одно предложение
Timeline — что и когда
Root Cause — техническая и системная
Resolution & Corrective — с владельцами
13. 04. Примеры факапов «моего друга»
Реальные кейсы и что мы из них вынесли
14. Метатеги уехали в релизе
Общий компонент без владельца
Релиз фронта — просадка SEO
Сильносвязный монолит
Библиотеку правят 20+ команд
Нет автотестов и проверки в регрессе
Выводы: проверки метатегов в регрессе, переработка общего компонента
15. Пробы — это тоже запросы
Django, долгие запросы и пробы
Однопоточный Django
Часть запросов — долгие
Пробы в общей очереди с пользователями
Всплеск трафика — цикл рестартов
Выводы: знать рантайм инструмента, проектировать деградацию
16. Кеш тоже надо версионировать
Про базу помнят, про кеш забывают
Подняли версию схемы в базе
Изменили ожидаемый ответ
Старый кеш вернулся — 404 около часа
Stage без mirroring трафика
Выводы: mirroring трафика на stage, правила версионирования кеша
17. Что важно
Правила, которые работают у нас
Blameless — иначе не скажут правду
Шаблон обязателен — иначе несравнимы
Action items без владельцев не делаются
Разбор — про систему, а не про людей
постмортем без action items — просто отчёт
18. Спасибо!
polomodov.tech
Все слайды и ссылки — в Telegram-канале
Александр Поломодов, Технический директор и Fellow, Т-Технологии
@book_cube