advanced
SLO
Задавайте целевую надёжность пользовательского поведения через SLI, окна и burn-rate алерты.
Service Level Objective (SLO) — внутренняя цель надёжности для пользовательского поведения в процентах или пороге за скользящее окно. Измеряется Service Level Indicators (SLI) — метриками, проксирующими опыт пользователя.
| Пример SLI | Цель SLO | |------------|----------| | Успешные HTTP / всего | 99.9% за 30 дней | | Завершённые checkout / попытки | 99.5% за 7 дней | | p95 API latency < 300ms | 99% часов |
error budget = 1 - SLO → 0.1% downtime/месяц при 99.9%
Алертуйте на **burn rate** — скорость расхода error budget — а не на каждый всплеск. Multi-window ловит быстрые и медленные просадки.
На интервью: SLI для BFF, выбор длины окна и разница uptime инфраструктуры vs доступность для пользователя.
Типовые ошибки: SLO по CPU вместо outcomes; много SLO без владельца; алерты по шуму SLI без `for`.
Компромисс — амбициозные цели (узкий budget) против скорости поставки и нагрузки on-call.
Чеклист:
- SLI, которые чувствует пользователь.
- SLO с явными окнами.
- Алерты по burn budget, не по сырым пикам.
- Квартальный review SLO с продуктом.