Что такое 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 — что обещаем клиенту.

Они помогают бизнесу и пользователям быть на одной волне и честно оценивать надёжность сервиса.