SLI — measured metric (e.g. "response time p99"). SLO — target для SLI (e.g. "p99 < 200ms"). SLA — contractual commitment к клиентам (e.g. "99.9% uptime, otherwise refund"). Google SRE book популяризовал эту иерархию. Typical: SLO = 99.9% monthly → error budget = 43 минуты в месяц. Если бюджет исчерпан — pause feature work, focus на reliability.
Ниже: подробности, пример, смежные термины, FAQ.
Бесплатный онлайн-инструмент — проверка HTTP-заголовков: результат мгновенно, без регистрации.
SLI: % requests with status 2xx\/3xx
SLO: 99.9% of requests succeed (monthly)
SLA: refund 10% if <99.9% in a monthSLI (Service Level Indicator), SLO (Service Level Objective) и SLA (Service Level Agreement) — это ключевые термины в управлении качеством услуг, особенно в контексте облачных сервисов и IT-инфраструктуры. SLI — это количественный показатель, который измеряет уровень сервиса, SLO — это целевой уровень, который необходимо достичь, а SLA — это формальное соглашение между провайдером услуг и клиентом, описывающее обязательства по уровню сервиса.
Каждый из этих терминов имеет свои уникальные характеристики и функции.
Рассмотрим практический пример на основе веб-сервиса, предоставляющего API для обработки платежей.
Предположим, у вас есть API, который должен обрабатывать запросы на оплату. Вы можете установить следующие параметры:
Для реализации SLI, SLO и SLA вы можете использовать инструменты мониторинга, такие как Prometheus или Grafana. Например, конфигурация Prometheus для отслеживания времени отклика API может выглядеть следующим образом:
http_request_duration_seconds{method="POST", handler="/api/payment"}Это позволит вам собирать метрики и отслеживать, насколько хорошо ваш сервис соответствует установленным уровням.
SLI (Service Level Indicator), SLO (Service Level Objective) и SLA (Service Level Agreement) представляют собой ключевые элементы управления качеством услуг. SLI — это конкретный метрик, который измеряет производительность услуги, SLO — это целевое значение для этого метрика, а SLA — это договоренность между поставщиком услуг и клиентом, в которой определяются обязательства по достижению SLO. Например, SLI может быть время отклика сервиса, SLO — 95% запросов должны обрабатываться за 200 мс, а SLA — это документ, который гарантирует клиенту возмещение в случае, если SLO не будет достигнуто.
Для наглядного примера рассмотрим веб-сервис, предоставляющий API для получения данных о погоде. В этой ситуации важно не только обеспечить доступность сервиса, но и контролировать его производительность.
SLI для нашего веб-сервиса может быть определен как время отклика API. Мы будем измерять, сколько времени требуется для обработки запросов от пользователей. Важно, чтобы метрика была четко определена и легко измеряема.
На основе SLI, мы можем установить SLO. Например, мы можем определить, что 95% запросов должны обрабатываться за 300 мс. Это означает, что в большинстве случаев пользователи должны получать ответ от сервиса в течение этого времени. Если этот показатель не будет достигнут, это может указывать на проблемы с производительностью.
Теперь, когда у нас есть SLI и SLO, мы можем перейти к формулированию SLA. В соглашении мы можем указать, что если SLO не будет достигнуто в течение одного месяца, то клиент имеет право на возмещение 10% от стоимости подписки. Это создает обязательства с обеих сторон и обеспечивает доверие между поставщиком услуг и клиентом.
Для мониторинга SLI и SLO мы можем использовать инструменты, такие как Prometheus и Grafana. Например, в конфигурации Prometheus мы можем настроить сбор метрик следующим образом:
api_server_requests_total{status="200"} 1000
api_server_requests_duration_seconds{status="200"} 0.25Здесь мы собираем общее количество запросов и время, затраченное на их обработку. В Grafana мы можем создать дашборд, который будет отображать как фактическое время отклика, так и целевое значение SLO, что позволит нам визуально отслеживать выполнение обязательств.
Использование SLI, SLO и SLA в управлении качеством услуг позволяет не только установить четкие цели и ожидания, но и эффективно контролировать их выполнение. Это особенно важно в условиях высокой конкуренции на рынке веб-сервисов, где качество обслуживания может стать решающим фактором для клиентов.
Синтетические probes (Enterno monitors) каждую минуту. 30-дневное окно. Успех = HTTP 2xx/3xx + response time < threshold.
Internal SLO — всегда. SLA — только если customer требует (enterprise, compliance).
Feature-freeze, postmortem, reliability work пока budget не восстановится. Это основной value error-budget подхода.
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.