Что такое SLO, SLA и SLI?
Если вы сталкивались с SRE (Site Reliability Engineering) или мониторингом сервисов, то наверняка видели три похожих термина: SLO, SLA и SLI. Разобраться в них важно, потому что именно они задают правила игры между командой и пользователями.
SLI — Service Level Indicator (Индикатор уровня сервиса)
Это метрика, которая показывает, как работает система.
Примеры:
- Время отклика API
- Процент успешных запросов
- Количество ошибок 5xx
👉 SLI — это как термометр: он просто измеряет состояние.
SLO — Service Level Objective (Цель уровня сервиса)
Это цель, которую мы ставим для SLI.
Примеры:
- “95% запросов должны обрабатываться быстрее 300 мс”
- “Доступность 99.9% за месяц”
👉 SLO — это наш ориентир, определение «достаточно хорошо».
SLA — Service Level Agreement (Соглашение об уровне сервиса)
Это уже формальное соглашение с клиентами. В нём прописано, что будет, если сервис не выполнит SLO.
Примеры:
- “Если аптайм ниже 99.9%, возвращаем 10% стоимости”
- “Если задержка больше 500 мс для более чем 1% запросов — предоставляем скидку”
👉 SLA — это обещание, подкреплённое штрафами.
Как это связано
- SLI — измерение (“аптайм = 99.8%”)
- SLO — цель (“аптайм ≥ 99.9%”)
- SLA — договор (“если аптайм < 99.9% — возврат денег”)
Пример из жизни
Заказали пиццу на дом:
- SLI: фактическое время доставки (например, 35 минут).
- SLO: цель ресторана (“доставить за 30 минут”).
- SLA: договор (“опоздали — пицца бесплатно”).
Вывод
SLA, SLO и SLI — это три уровня одной системы:
- SLI — что мы измеряем,
- SLO — чего хотим достичь,
- SLA — что обещаем клиенту.
Они помогают бизнесу и пользователям быть на одной волне и честно оценивать надёжность сервиса.