К основному содержимому
27 сентября 2019

Постмортемы или как мы учимся на факапах

Опыт построения культуры разбора инцидентов в крупном финтехе

/ Постмортемы · 2019

Содержание слайдов

  1. 1. Постмортемы или как мы учимся на факапах

    Опыт построения культуры разбора инцидентов в крупном финтехе

  2. 2. О чём поговорим

    Зачем нужны постмортемы

    Как это делают Etsy и Google

    Наш шаблон и процесс

    Примеры факапов и выводы

  3. 3. 01. Зачем нужны постмортемы

    Когда команда растёт, факапы становятся cross-team

  4. 4. Команды растут — факапы усложняются

    От простых инцидентов в одной команде к cross-team фейлам

    Late 2016 — 3 команды, простые факапы внутри

    Рост команд — больше команд — cross-team фейлы

    Сегодня — cross-department инциденты

  5. 5. Что хотели от процесса

    Задачи, которые должен закрывать постмортем

    Зафиксировать факт инцидента

    Оценить эффект на бизнес и людей

    Описать, как тушили пожар

    Действия и ответственные, чтобы не повторилось

  6. 6. 02. Как другие работают с постмортемами

    Etsy и Google как ключевые источники

  7. 7. Откуда мы учились

    Открытые материалы по культуре blameless postmortems

    Etsy — Just Culture

    Google SRE Book и SRE Workbook

    Публичный шаблон постмортема Google

    Debriefing Facilitation Guide (Etsy)

  8. 8. Etsy: разбор без обвинений

    Blameless даёт честные данные

    Цель — узнать факты

    Без обвинений рассказывают детали

    Страх рождает CYA-engineering

    Just Culture: ошибка ≠ рискованное поведение

  9. 9. Постмортем — артефакт обучения

    Google SRE Book: разбор, а не наказание

    Безобвинительно и конструктивно

    Все постмортемы проходят ревью

    Нет ревью — лучше не писать

    Action items: конкретные и с владельцем

  10. 10. Хороший постмортем vs плохой

    Workbook разбирает оба на примерах

    Плохой

    Размытое summary

    Нет конкретных действий

    Поиск виноватого

    Хороший

    Ясная хронология

    Action items с владельцами

    Безобвинительный тон

    Критерии: ясность, конкретика, безобвинительность

  11. 11. 03. Наш шаблон постмортема

    Что мы взяли и как адаптировали под себя

  12. 12. Пять разделов закрывают все вопросы

    Одинаково удобно писать и читать

    Issue Summary — одно предложение

    Timeline — что и когда

    Root Cause — техническая и системная

    Resolution & Corrective — с владельцами

  13. 13. 04. Примеры факапов «моего друга»

    Реальные кейсы и что мы из них вынесли

  14. 14. Метатеги уехали в релизе

    Общий компонент без владельца

    Релиз фронта — просадка SEO

    Сильносвязный монолит

    Библиотеку правят 20+ команд

    Нет автотестов и проверки в регрессе

    Выводы: проверки метатегов в регрессе, переработка общего компонента

  15. 15. Пробы — это тоже запросы

    Django, долгие запросы и пробы

    Однопоточный Django

    Часть запросов — долгие

    Пробы в общей очереди с пользователями

    Всплеск трафика — цикл рестартов

    Выводы: знать рантайм инструмента, проектировать деградацию

  16. 16. Кеш тоже надо версионировать

    Про базу помнят, про кеш забывают

    Подняли версию схемы в базе

    Изменили ожидаемый ответ

    Старый кеш вернулся — 404 около часа

    Stage без mirroring трафика

    Выводы: mirroring трафика на stage, правила версионирования кеша

  17. 17. Что важно

    Правила, которые работают у нас

    Blameless — иначе не скажут правду

    Шаблон обязателен — иначе несравнимы

    Action items без владельцев не делаются

    Разбор — про систему, а не про людей

    постмортем без action items — просто отчёт

  18. 18. Спасибо!

    polomodov.tech

    Все слайды и ссылки — в Telegram-канале

    Александр Поломодов, Технический директор и Fellow, Т-Технологии

    @book_cube