Получить доступ

Что такое error budget и зачем он нужен?

MiddleНаблюдаемость и SLO
Ещё спрашивают так:
  • Чем SLI, SLO и SLA отличаются?
  • Что делать, когда бюджет ошибок исчерпан?
Коротко

Бюджет ошибок = 100% − SLO. При SLO 99,9% за 30 дней можно «потратить» ~43 минуты недоступности. Это инструмент решений: бюджет есть — выкатываем смелее, кончился — приоритет надёжности.

  • SLI — измеряемая величина (доля успешных запросов быстрее 300 мс)
  • SLO — внутренняя цель; SLA — внешний договор с компенсациями, всегда слабее SLO
  • Каждая девятка кратно дороже предыдущей — SLO выбирают достаточным, а не максимальным

А ещё Алерты — по скорости прожигания бюджета

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Термины:

  • SLI (индикатор) — что меряем: доля успешных запросов, доля запросов быстрее порога, свежесть данных;
  • SLO (цель) — какое значение SLI нужно за окно: «99,9% запросов успешны за 30 дней»;
  • SLA (соглашение) — обещание клиентам с последствиями (возврат денег). Его делают слабее SLO, чтобы был запас.

Бюджет ошибок — допустимая «ненадёжность»: 0,1% запросов за месяц или ~43 минуты полной недоступности. Он превращает спор «фичи против стабильности» в арифметику:

  • бюджет расходуется медленно — можно выкатывать чаще и рискованнее, проводить эксперименты;
  • бюджет кончился — заморозка рискованных изменений, работа над надёжностью, разбор причин.

Почему не 100%: пользователь не отличит 99,99% от 100% из-за своей сети и устройств, а каждая девятка требует кратно больше вложений (резервирование, дежурства, замедление выкаток). SLO выбирают по потребности пользователей.

Алерты строят на скорости прожигания: «если так продолжится, бюджет кончится за двое суток» — это значимо, а одиночный всплеск ошибок — нет.

Пример

SLO 99,9% за 30 дней → бюджет 0,1% ≈ 43 мин недоступности
SLO 99,99%           → ≈ 4,3 мин
SLO 99%              → ≈ 7,2 ч

Что хотят услышать

  • Определения SLI, SLO, SLA и их соотношение.
  • Расчёт бюджета.
  • Бюджет как инструмент решений о выкатках.
  • Почему SLO не ставят максимальным.

Частые ошибки

  • Путать SLA и SLO.
  • Ставить SLO 100% или «как можно выше».

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Допустимый объём нарушений, вытекающий из SLO: пока бюджет есть — выкатываем смелее, когда исчерпан — останавливаем релизы фич
  • ✗Сумма денег, заложенная на компенсации клиентам при нарушении SLA
  • ✗Лимит на число ошибок в логах, после которого срабатывает алерт
  • ✗Резерв вычислительных мощностей на случай пиковой нагрузки

Что спросят дальше

  • Что такое алерт по скорости прожигания бюджета?
  • Почему SLA всегда слабее SLO?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем