Этот материал - часть практического курса “ProductDo: Tech для продакта”
Шаблон построения post-mortem анализа
Чек-лист: “Как продакту не допустить аварий”
| Инструмент |
Фаза аварии |
Что продакт должен знать |
| SLIs/SLOs сервисов |
|
|
| Проактивно |
- Как устанавливать самые главные метрики для каждого сервиса (SLIs) |
|
- Как находить их адекватные границы (SLOs)
- Каждая дополнительная девятка SLO - месяцы и годы работы |
| Главные индикаторы аварий | Проактивно | В каком состоянии главные метрики аварий:
- Mean Time To Detect (MTTD)
- Mean Time To Respond (MTTR)
- Mean Time Between Failures (MTBF). |
| Функциональное тестирование | Проактивно | - Тесты по типу покрытия: unit (для куска кода), integration (для одинокого сервиса), end-to-end (с точки зрения пользователя).
- Тесты по назначению: Frontend/UI и Backend/API.
- Как генерировать: в коде, языковыми инструментами типа Gherkin, тестовыми формами.
- Тест должен описывать бизнес-сценарий, быть конкретным и быть частью стори поинтс фичи. |
| Нефункциональное тестирование | Проактивно | - По нагрузке: Load Test (длинный период нагрузки), Peak Test (короткие периоды нагрузки), Stress Test (увеличение нагрузки до предела).
- По введению хаоса: Chaos Test (рандомные мелкие поломки, например, ответа API), Failover Test (конкретная большая поломка, например одного из датацентров). |
| Security-подготовка | Проактивно | - Нужно защищать API, открытые во внешний мир.
- Аутентификация - кто ты?
- Авторизация - что тебе разрешено делать?
- Нужно защищать данные пользователя (PII)
- Нужно удовлетворять регуляциям (GDPR, SOX, PCI DSS)
- Нужно помнить про схемы мошенничества
- Важно: нужно завести security-департамент или познакомиться с уже имеющимся |
| Алерты | Проактивно/
Начало аварии | - 4 Golden Signals для алертов: Errors, Latency, Traffic, Saturation
- Алерты могут быть: срочные (pager ночью), важные (pager днем/чатик), неважные (чатик/имейл/ждет до завтра). |
| Команда SRE | Проактивно/
во время аварии | Команда SRE - специально обученные программисты, задача которых автоматизировать инфраструктуру и тушить пожары.
Они должны быть натренированы и иметь ясные инструкции от продакта и команды: где найти SLIs (метрика), SLOs (их здоровые значения) и OpDocs (что именно делать, чтобы потушить ту или иную проблему). |
| On-call | Во время аварии | Тут продакт обычно бесполезен, хотя может поиграть роль Comms (сообщающего о ходе инцидента). |
| Пост-мортем | После аварии | - Проконтролировать или провести пост-мортем.
- Приоритизировать уроки от аварии с помощью процесса пост-мортема (шаблон смотри выше). |