Коротко. SLI — это измеренный показатель работы сервиса (например, доля успешных запросов). SLO — внутренняя цель по этому показателю (скажем, 99,9% за 30 дней). SLA — внешнее соглашение с клиентом, где SLO закреплён юридически и привязан к компенсациям. SLI измеряете, SLO ставите как цель, SLA обещаете заказчику.
Три понятия в одном предложении
Проще всего запомнить связку так:
SLI измеряет. SLO ставит цель. SLA обещает клиенту и наказывает рублём за нарушение.
- SLI (Service Level Indicator) — фактическая метрика: доступность, доля быстрых ответов, частота ошибок.
- SLO (Service Level Objective) — целевое значение SLI на интервале: «99,9% успешных запросов за 30 дней».
- SLA (Service Level Agreement) — договор с клиентом, где зафиксирован SLO и описаны санкции (возврат денег, кредиты).
Что такое SLI и какими они бывают
SLI всегда выражается как отношение «хороших событий» к «общему числу событий». Самые частые типы:
- Доступность (availability) — доля успешных запросов или минут аптайма.
- Латентность (latency) — доля запросов быстрее порога, например < 300 мс.
- Доля ошибок (error rate) — процент ответов 5xx от общего числа.
- Свежесть данных (freshness) — доля данных, обновлённых вовремя.
Формула доступности
Доступность по запросам и по времени считается так:
Доступность (по запросам) = успешные запросы / все запросы × 100%
Доступность (по времени) = (период − простой) / период × 100%
Пример за 30 дней (43 200 минут):
простой = 43 минуты
Доступность = (43200 − 43) / 43200 × 100% = 99,900%
Таблица девяток: сколько простоя допускает каждый SLO
«Девятки» — это удобный способ говорить о доступности. Вот сколько простоя разрешает каждый уровень за разные периоды:
| SLO | Простой в месяц | Простой в год |
|---|---|---|
| 99% (две девятки) | ~7 ч 18 мин | ~3,65 суток |
| 99,9% (три девятки) | ~43 мин 49 с | ~8 ч 46 мин |
| 99,95% | ~21 мин 54 с | ~4 ч 23 мин |
| 99,99% (четыре девятки) | ~4 мин 23 с | ~52 мин 36 с |
| 99,999% (пять девяток) | ~26 с | ~5 мин 15 с |
Как связан бюджет ошибок
SLO в 99,9% означает, что 0,1% времени сервис может не работать — это и есть бюджет ошибок. Считается просто:
Бюджет ошибок = (1 − SLO) × период
SLO = 99,9%, период = 30 дней (43 200 минут):
Бюджет = 0,001 × 43200 = 43,2 минуты простоя в месяц
Если за месяц уже было 30 минут простоя:
осталось 43,2 − 30 = 13,2 минуты бюджета
Когда бюджет исчерпан — команда замораживает рискованные релизы и переключается на надёжность. Подробнее — в статье про бюджет ошибок.
Как ставить разумные SLO
- Начните с измерения текущего SLI за 30 дней — это база.
- Ставьте SLO чуть выше текущего уровня, но не «пять девяток ради красоты».
- Каждая лишняя девятка дорожает в разы — оцените, нужна ли она бизнесу.
- SLA всегда мягче SLO: внутренняя цель строже внешнего обещания, чтобы был запас.
Где enterno.io помогает измерять SLI
enterno.io — это внешний (synthetic) мониторинг сайтов: он проверяет ваш сервис снаружи и собирает доступность как SLI. Бесплатный план даёт 10 мониторов с интервалом 5 минут, платные — проверки каждую минуту или раз в 30 секунд для точной картины. Доступны типы HTTP, SSL, Ping и DNS, алерты в Telegram, Slack, email, webhook, PagerDuty и Jira, а также мультирегиональные проверки из России, Европы и США.
На публичной статус-странице вы показываете клиентам реальную доступность, а мониторы копят историю для расчёта SLO. Для контроля фоновых задач есть heartbeat-мониторинг.
Частые вопросы
В чём главное отличие SLO от SLA?
SLO — внутренняя цель команды, её можно менять без юристов. SLA — внешний договор с клиентом, нарушение которого ведёт к компенсациям. SLA всегда строится поверх более строгого SLO.
Какой SLO выбрать для старта?
Для большинства веб-сервисов 99,9% — разумная отправная точка: это около 43 минут простоя в месяц, достижимо без чрезмерных затрат.
Можно ли иметь SLO без SLA?
Да, и это нормально. Внутренние команды часто работают только по SLO, а SLA вводят, когда появляются платные клиенты с договорными обязательствами.
Как часто пересматривать SLO?
Раз в квартал. Если бюджет ошибок постоянно не расходуется — SLO можно ужесточить; если регулярно превышается — стоит вложиться в надёжность или ослабить цель.
Готовы измерять свою доступность? Создайте мониторы на enterno.io/monitors и начните собирать SLI уже сегодня — бесплатный план не требует карты.