SLA/SLO/SLI — метрики и цели качества услуги; фиксируют, как измеряется и обещается работа системы.
Определения
-
SLI (Service Level Indicator) — фактическое измерение качества (доля успешных запросов, p95 latency, время восстановления).
-
SLO (Service Level Objective) — целевое значение SLI за период (аптайм 99.9% в месяц, p95 ≤ 300 мс).
-
SLA (Service Level Agreement) — контрактные обязательства и штрафы; базируется на SLO, включает исключения.
Примеры
-
Доступность: SLI — аптайм за 30 дней; SLO — ≥ 99.9%; SLA — 99.5% с кредитами 10% за нарушение.
-
Производительность: SLI — p95 latency /auth; SLO — ≤ 250 мс при RPS 200; SLA — 400 мс с исключением плановых работ.
-
Надёжность данных: SLI — RPO (данных потеряно) ≤ 5 минут; SLO — 99% инцидентов.
Ошибка бюджета
-
Error budget = 1 − SLO. Расход бюджета = доля времени/запросов вне цели.
-
Если бюджет исчерпан — стоп-риск (фичи ставим на паузу), фокус на надежность.
Формулировка SLO
-
SLI, порог, период, условия нагрузки, исключения.
-
Пример: «p95 latency /orders ≤ 300 мс в течение 28 дней при RPS ≤ 200; исключая плановые окна 1 час/неделю».
Валидация и контроль
-
Источник метрик: APM/логирование/пробы; частота сбора и агрегация.
-
Оповещения: раннее предупреждение при расходе 50–70% бюджета, критическое — 90%.
-
Трассировка: НФТ → Архитектура (кэш/очереди/репликации) → реализации → дашборд и алерты.