Ответ
Бюджет ошибок (Error Budget) — это концепция из Site Reliability Engineering (SRE), которая количественно определяет допустимый объем ненадежности сервиса за определенный период (обычно месяц). Это инструмент для баланса между скоростью внесения изменений (разработка новых функций) и стабильностью сервиса.
Как рассчитывается: Бюджет ошибок = 100% - Целевой показатель доступности (SLO).
Пример:
- Сервис имеет SLO доступности 99.95% за календарный месяц.
- Общее время в месяце (30 дней) = 30 24 60 = 43 200 минут.
- Допустимое время простоя (бюджет ошибок) = 43 200 (100% - 99.95%) = 43 200 0.0005 = 21.6 минуты.
Как используется на практике:
- Измерение: Мониторинг (например, через Prometheus и Grafana) постоянно отслеживает доступность. Если за месяц простояло 15 минут, то остаток бюджета — 6.6 минут.
- Принятие решений:
- Бюджет не исчерпан: Можно проводить более рискованные обновления, эксперименты или ускорять релизный цикл.
- Бюджет исчерпан или близок к исчерпанию: Команда переключается на задачи, повышающие стабильность: устранение дефектов, рефакторинг, улучшение мониторинга и отказоустойчивости. Новые релизы приостанавливаются.
В моей работе с высоконагруженными сервисами мы использовали бюджет ошибок как объективный арбитр в спорах между разработкой (которая хочет выпускать фичи) и эксплуатацией (которая хочет стабильности). Это переводит дискуссию из эмоциональной плоскости («слишком рискованно») в плоскость данных («у нас осталось только 5 минут бюджета»).