Калькулятор SLA и доступности: «девятки» и простой
Допустимый простой для 99.9%, 99.99% и других целей SLA, доступность по фактическому простою, расчёт для цепочки и резервирования сервисов.
Данные обрабатываются в браузере и никуда не отправляются
Ввод
Результат
Здесь появится результат
Введите данные слева - результат появится сразу
Как пользоваться
Выберите расчёт. «По проценту»: введите целевую доступность (99.9) - инструмент покажет допустимый простой в год, месяц, неделю, сутки и час и сравнит с популярными целями. «По простою»: введите фактический простой (43 минуты, 1ч 30м) и период - получите достигнутую доступность. «Цепочка сервисов»: перечислите доступности компонентов через запятую - для последовательных зависимостей они перемножаются, при резервировании складываются недоступности.
Год считается за 365 дней, месяц - за 30. Поставщики облачных услуг считают SLA по календарному месяцу и обычно исключают плановые работы - сверяйтесь с договором.
Частые ошибки
Вот что чаще всего упускают, когда говорят про «девятки»:
99.9% - это почти 9 часов в год
Три девятки допускают 8 ч 45 мин простоя в год, или 43 минуты в месяц. Для пользователя, который в этот момент пытается оплатить заказ, это немало. Каждая следующая девятка сокращает допуск в десять раз и стоит заметно дороже.
Цепочка хуже самого слабого звена
Если запрос проходит через три сервиса по 99.9%, итоговая доступность - около 99.7%, то есть втрое больше простоя. Чем длиннее цепочка синхронных вызовов, тем хуже результат: поэтому критичные пути стараются сокращать.
Резерв работает только при независимых отказах
Формула «два сервиса по 99% дают 99.99%» верна лишь если они не падают одновременно. Общая база, общая сеть, одна и та же ошибка в коде и один дата-центр делают отказы зависимыми, и выигрыш исчезает.
Плановые работы и деградация
Простой «по SLA» часто не включает плановое обслуживание и частичную деградацию (медленные ответы). Пользователю всё равно: если страница отвечает 30 секунд, для него сервис недоступен. Определите, что считать «недоступностью», до того, как обещать цифры.
SLA, SLO и SLI - разные вещи
SLI - измеряемый показатель (доля успешных запросов), SLO - внутренняя цель по нему, SLA - юридическое обещание клиенту, обычно мягче SLO и со штрафами. Ставьте SLO строже, чем SLA, чтобы был запас.
100% достичь нельзя
Любая система иногда отказывает: оборудование, обновления, сети провайдеров. Цель 100% приводит к бесконечным затратам. Разумнее принять бюджет ошибок (error budget) и осознанно тратить его на релизы.
Частые вопросы
Отправляются ли мои данные на сервер?
Нет - 100%. Сайт целиком статический, у него нет серверной части. Расчёты выполняются в вашем браузере, введённые числа никуда не отправляются.
Сколько простоя допускает 99.9%, 99.99% и 99.999%?
99.9% - 8 ч 45 мин в год, 43 мин в месяц, 1 мин 26 с в сутки; 99.99% - 52 мин 34 с в год, 4 мин 19 с в месяц; 99.999% - 5 мин 15 с в год, 26 секунд в месяц.
Как посчитать доступность системы из нескольких сервисов?
Если сервисы нужны одновременно, доступности перемножаются: 0.999 x 0.999 x 0.999 = 0.997. Если достаточно любого из них (резерв), перемножаются недоступности: 1 - (1 - 0.99) x (1 - 0.99) = 0.9999.
Что такое бюджет ошибок (error budget)?
Это допустимый простой, который вы себе разрешаете: при SLO 99.9% на месяц - около 43 минут. Пока бюджет не исчерпан, можно выпускать изменения; когда исчерпан - сосредоточиться на надёжности. Так надёжность и скорость разработки балансируют друг друга.
Чем SLA отличается от SLO и SLI?
SLI - показатель, который вы измеряете (например, доля запросов с ответом быстрее 300 мс). SLO - цель по этому показателю (99.5% запросов). SLA - обязательство перед клиентом с последствиями при нарушении (например, возврат части платы).
Как поднять доступность с трёх девяток до четырёх?
Нужно убрать единые точки отказа (несколько копий сервиса, зон и баз), автоматизировать обнаружение сбоев и переключение, а обновления делать без остановки (canary, blue-green). Каждый шаг стоит денег, поэтому цель выбирают по цене простоя бизнеса.
Как считают SLA облачные провайдеры?
Обычно по календарному месяцу, для конкретного сервиса и региона, исключая плановые работы и ваши ошибки. При нарушении возвращают часть оплаты в виде кредита. Условия различаются, поэтому смотрите договор конкретного сервиса.
Почему год - 365 дней, а месяц - 30?
Это общепринятое упрощение для сравнения. В високосный год простой на 0.27% больше, а в 31-дневном месяце - на 3.3%. Для договоров используйте периоды из их текста.
Похожие инструменты
Курс «Проектирование API и интеграций»
Глубокое погружение в REST, gRPC, SOAP, проектирование баз данных и брокеры сообщений (Kafka, RabbitMQ). Делегирование рутины нейросетям (ИИ). Перестанете бояться технических собеседований и начнете говорить с разработчиками на одном языке. Курс собран так, чтобы пробить зарплатный потолок и вырасти в грейде - ученики тому подтверждение.
Перейти к курсу на Stepik