Надёжность в цифрах: SLA, SLO и бюджет ошибок
«Работает хорошо» — это не состояние системы, а мнение о ней. Двадцать тем этой лекции о том, как мнение превращается в проверяемое число: цель 99,9% на окне в тридцать дней означает 43 минуты 12 секунд недоступности за месяц, и ни секундой больше.
Дальше начинается то, ради чего всё считается. Те же пятнадцать минут отказа в пиковый час сжигают месячный бюджет целиком, а ночью — семь процентов от него. Гарантия провайдера считается по другому знаменателю, чем ваш мониторинг, и расходится с ним на все аварийные работы. А цель, под которой не стоит подпись продуктовой стороны, не останавливает ни одного выката.
Третье число здесь — проверка на трезвость. Оно больше годового бюджета цели 99,99% в шестнадцать раз, и это один инцидент у поставщика, к которому вы не имели доступа.
Что считается известным
Три буквы SLI, SLO и SLA как три разных документа, порядок «соглашение ниже цели, цель ниже фактического уровня» и формула «бюджет ошибок = 1 − SLO» разобраны в лекции «Метрики процессов». Здесь они берутся готовыми и одной строкой. Эта лекция начинается ровно там, где та заканчивается: арифметика цели, способ её измерения, зависимость числа от окна и от точки замера, темп расхода бюджета с конкретными порогами и документ, который превращает число в решение о заморозке.
Чего здесь нет
- Правового разбора соглашения и отношений с подрядчиком — это территория лекций «Метрики процессов» и «Свой администратор, аутсорс и передача дел».
- Настройки мониторинга: золотые сигналы, перцентили, кардинальность меток и действенность оповещений разобраны в «Наблюдаемости». Перцентиль здесь используется как готовый инструмент.
- Запаса прочности и нагрузочного тестирования — в лекции «Нагрузка и запас прочности».
- Разбора инцидента: постмортем и «пять почему» — в «Инцидентах». Здесь только порог бюджета, который обязывает разбор написать.
- Графика дежурств и эскалации по ходу инцидента — в «Дежурстве и эскалации». Наша эскалация другая: спор о том, как посчитан бюджет.
Уровень продвинутый. Предполагается, что вы уже отвечали за выкат, сидели на дежурстве и хотя бы раз спорили с продуктовой командой о том, можно ли катить прямо сейчас.
Сорок три минуты — это цель, умноженная на окно
Цель доступности превращается в число одним умножением. Долю, которую вы обещаете не потерять, вычитаете из единицы и умножаете на длительность окна. Получается количество минут, которое система имеет право пролежать, оставшись внутри обещания.
Тридцать дней — это 43 200 минут. Одна тысячная от них — 43,2 минуты, то есть 43 минуты 12 секунд. Вся разница между «у нас стабильно» и «у нас 99,9%» в том, что второе можно проверить секундомером.
| Цель | 30 дней (43 200 мин) | 28 дней (40 320 мин) | Год (525 600 мин) |
|---|---|---|---|
| 99% | 432 мин = 7 ч 12 мин | 403,2 мин = 6 ч 43 мин | 5 256 мин = 87 ч 36 мин |
| 99,5% | 216 мин = 3 ч 36 мин | 201,6 мин = 3 ч 22 мин | 2 628 мин = 43 ч 48 мин |
| 99,8% | 86,4 мин = 1 ч 26 мин | 80,64 мин = 1 ч 21 мин | 1 051,2 мин = 17 ч 31 мин |
| 99,9% | 43,2 мин = 43 мин 12 с | 40,32 мин = 40 мин 19 с | 525,6 мин = 8 ч 45 мин 36 с |
| 99,95% | 21,6 мин | 20,16 мин | 262,8 мин = 4 ч 22 мин 48 с |
| 99,99% | 4,32 мин = 4 мин 19 с | 4,03 мин | 52,56 мин |
| 99,999% | 0,432 мин = 25,9 с | 0,403 мин = 24,2 с | 5,256 мин = 5 мин 15 с |
Два числа из таблицы стоит помнить не потому, что они круглые, а потому что их называют первоисточники. SRE Book в главе «Embracing Risk» пишет про систему с целью 99,99%: она «can be down for up to 52.56 minutes in a year and stay within its availability target». SRE Workbook в главе «Alerting on SLOs» считает, что цель 99,999% месячной доступности при полном отказе исчерпывается за двадцать шесть секунд — прямой расчёт даёт 25,9 секунды.
До умножения обсуждать нечего: «надёжно» у каждого своё. После умножения спор становится инженерным — хватит ли 43 минут в месяц на плановый перезапуск, на выкат с откатом и на один неудачный вторник. Обычно оказывается, что не хватает, и это полезное открытие до подписи, а не после.
Дальше нужен аккаунт
Прогресс и монеты сохранятся.