System Design Space
Граф знанийНастройки

Обновлено: 25 июня 2026 г. в 03:22

Показатель уровня сервиса (SLI), целевой уровень сервиса (SLO), соглашение об уровне сервиса (SLA) и бюджет ошибок

средний

Практический разбор: показатель уровня сервиса (SLI), целевой уровень сервиса (SLO), соглашение об уровне сервиса (SLA), бюджет ошибок, скорость его расходования, оповещения и политика релизов.

Показатель уровня сервиса (SLI), целевой уровень сервиса (SLO), соглашение об уровне сервиса (SLA) и бюджет ошибок нужны затем, чтобы разговор о надёжности перестал быть спором вкусов и превратился в договорённость о риске.

Глава показывает, как показатели, целевые уровни сервиса и бюджет ошибок связывают продуктовые ожидания с эксплуатацией: по ним читают скорость расходования бюджета, ограничивают релизы и решают, когда системе нужнее починка, чем следующая функция.

На интервью эта тема особенно полезна, потому что через неё легко обсуждать дисциплину измерений, допустимый риск и политику выпуска изменений вместо абстрактной фразы о том, что система просто должна быть стабильной.

Практическая польза главы

Практика проектирования

Переводите цели надёжности в измеримые показатели, целевые уровни сервиса, бюджет ошибок и правила оповещения.

Качество решений

Оценивайте архитектуру через пользовательские пути, скорость расходования бюджета и цену отказа, а не только через среднюю доступность.

Аргументация на интервью

Показывайте, когда команда может ускорять выпуск изменений, а когда должна перейти в режим стабилизации.

Формулировка компромиссов

Явно фиксируйте компромисс между скоростью релизов, ожиданиями клиентов, стоимостью надёжности и внешними обязательствами.

Источник

Google SRE Workbook

Практическое руководство по определению показателей и целевых уровней сервиса и работе с бюджетами ошибок.

Перейти на сайт

«Сервис должен работать надёжно» — фраза, под которой продукт и инженеры понимают разное, пока надёжность не выражена числами. Показатели, цели и соглашения об уровне сервиса и есть тот общий язык: они превращают расплывчатое ожидание в измеримые правила, по которым можно спорить и принимать решения. В этой главе разберём (SLI), (SLO), (SLA), и . Вместе они проводят границу между «можно ускорять релизы» и «пора защищать надёжность». Если нужен широкий контекст по инженерии надёжности сервисов, начните с вводной главы раздела.

Показатели, цели и соглашения об уровне сервиса: чем отличаются

SLI

Показатель уровня сервиса

Service Level Indicator

Измеримый сигнал качества пользовательского пути: , , или .

SLO

Целевой уровень сервиса

Service Level Objective

Целевое значение показателя за период. Например: 99.9% за 30 дней.

SLA

Соглашение об уровне сервиса

Service Level Agreement

Внешнее обязательство, у которого есть цена нарушения: компенсации, штрафы или условия поддержки. Поэтому соглашение об уровне сервиса (SLA) ставят заведомо мягче внутренней цели.

Почему это важно

Единый язык для продукта и инженерии

переводит фразу «сервис должен быть стабильным» в конкретные числа и правила принятия решений.

Контроль релизного риска

даёт формальный критерий: можно ускорять или пора включать .

Прозрачная приоритизация

Когда бюджет на исходе, спор «надёжность или новая фича» решается не голосом самого громкого, а цифрой: команда показывает, во что обходится продолжать выпуск.

Предсказуемые ожидания клиентов

фиксирует внешние обязательства, а целевой уровень сервиса помогает держаться внутри этих границ.

Калькулятор 1: допустимое время недоступности

Бюджет ошибок = 0.100%

Допустимое время недоступности

43 мин

В секундах

2 592

Ошибок на 1M запросов

1 000

Формула: budget = (1 - goal) * period. Например, при целевом уровне 99.9% за 30 дней доступно около 43 минут времени недоступности.

Калькулятор 2: скорость расходования бюджета

Наблюдаемая доля ошибок

0.0240%

Скорость расходования

0.24x

Потрачено в окне

0.03%

Остаток бюджета

84.97%

При текущем темпе бюджет закончится примерно через 106 д 5 ч 0 мин.

Бюджет тратится медленно: есть запас для безопасного выпуска изменений.

Как применять в ежедневной работе

  1. Выберите 1-3 и определите для них .
  2. Согласуйте с продуктом и стоимостью отказов.
  3. Опишите : какие релизы допустимы при скорости расходования бюджета ниже 1x, от 1x до 2x и выше 2x.
  4. Свяжите и с бюджетом ошибок, а не только с инфраструктурными метриками.

Типичные антипаттерны

Мерить только по загрузке процессора и памяти (CPU/RAM): графики зелёные, а пользователь видит ошибки и таймауты на своём пути.

Задавать целевой уровень 99.999% без связи с реальной стоимостью, архитектурными ограничениями и ожиданиями бизнеса.

Использовать как внутреннюю инженерную метрику вместо внешнего контрактного уровня.

Смотреть только на итог месяца и не следить за : о проблеме узнаёшь, когда бюджет уже исчерпан и реагировать поздно.

Рекомендации

Определяйте 1-3 ключевых и стройте показатели уровня сервиса именно вокруг них.

Привязывайте релизы к : если бюджет есть, можно принимать риск; если он исчерпан, нужен режим стабилизации.

Используйте быстрые и медленные , чтобы ловить резкие всплески и плавные деградации.

Разделяйте внутренние целевые уровни сервиса и внешние , чтобы честно управлять ожиданиями пользователей.

Источники

Связанные главы

  • Site Reliability Engineering (short summary) - Базовая модель инженерии надёжности сервисов (SRE): целевые уровни сервиса, бюджеты ошибок, сокращение ручной операционной работы и баланс скорости с надёжностью.
  • The Site Reliability Workbook (short summary) - Практики внедрения целевых уровней сервиса в промышленной эксплуатации: правила оповещения, скорость расходования бюджета и рабочий ритм команды.
  • Observability & Monitoring Design - Показатели уровня сервиса хороши настолько, насколько надёжны данные под ними; здесь — проектирование метрик, логов и трассировки, на которых эти показатели держатся.
  • Performance Engineering - Дополняет работу с показателями задержки через профилирование, планирование ёмкости и бюджеты производительности.
  • Release It! (short summary) - Расширяет тему политик надёжности паттернами устойчивости и безопасного выпуска изменений.

Чтобы отмечать прохождение, включи трекинг в Настройки