| Название и короткое описание инцидента (summary) |
Тут нужно сформулировать самую суть (никаких обвинений, только факты о системах). |
Сервис заказа такси на 15 минут вышел из-за бага в алгоритме поиска. |
| Потери |
|
|
| (business impact) |
Числовое выражение потерь (деньги, покупки, пользователи) |
18k заказов вернули ошибку, что вызвало потери X eur дохода и 4к удалений приложения. |
| **Главные причины |
|
|
| (root cause)** |
Основные причины, почему авария произошла. |
В алгоритм поиска был внесен баг, из-за чего километры стали метрами (10 км → 10 м), поэтому ближайшая машина никогда не могла быть найдена. |
| С чего началось (trigger) |
Что запустило процесс аварии. |
Баг попал в продакшн в один из двух датацентров в 08:56. |
| Как заметили (detection) |
Алерты? Взгляд на график? Случайно? |
Резкий скачок Error rate SLI сервиса бронирований вызвал алерт. |
| Как починили (resolution) |
Что сделали, чтобы остановить аварию? |
Откатили сервис к предыдущему состоянию. |
| Что прошло хорошо (what went well) |
Что прошло как мы планировали? |
Быстро сработали алерты, команда быстро починила простым откатом. |
| Баг был выкачен только в один из датацентров - спасибо системе двухступенчатого роллаута. |
|
|
| Что прошло плохо (what didnt go well) |
Что пошло не так? |
У нас вообще не было тестов при выкатке на прод. |
| Кроме того, мы потратили весь SLO-бюджет. По требованиям SLA мы вынуждены остановить разработку новых фичей до конца месяца и работать над улучшением устойчивости сервиса. |
|
|
| **Где нам повезло |
|
|
| (where we were lucky)** |
Что пошло хорошо, где могло бы пойти плохо :) |
Повезло, что авария произошла в дневное время, так что среагировать получилось очень быстро. |
| Что будем делать (action points) |
|
|
| Конкретные действия по предотвращению такой аварии в будущем и ссылки на стори в бэклоге. |
1) Добавить достаточное число тестов для сервиса поиска. |
|