Вопрос с собеседования · System design

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

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

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

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

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

Подробно

Термины:

  • 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% или «как можно выше».

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

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

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

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

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

Разбор темы

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

Партнёр платформы

Разбор собеседования с sotto

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

Разбор собеседования