Что означают девятки в надежности сервисов
Погнали разбираться, что скрывается за всеми этими девятками в расчете аптайма сервиса.
1️⃣ С каждой следующей девяткой сложность инфраструктуры растет экспоненциально. Например, если для 99.9% надежности достаточно сервера в одном регионе, то 99.99% влечет за собой деплой сразу во много регионов, автоматический хелсчек и более сложные алгоритмы восстановления.
2️⃣ Такая оценка дает лишь очень приближенное представление о реальной надежности, так как скрывает много нюансов. Например, игнорирует частичный отказ сервисов, и предполагает равномерное распределение отказов по времени. Для пользователя картинка выглядит по-другому, и одно падение на час может быть существенно хуже, чем 200 минутных падений в течение года.
3️⃣ Не стоит стремиться к наибольшему количеству девяток, так как более высокая надежность влечет за собой кучу трейдоффов. Например, будут страдать скорость разработки и существенно расти косты на поддержку. Иногда придется даже жертвовать пользовательским опытом – упрощать фичи, чтобы архитектура системы была проще, или заменять синхронное действие сложными асинхронными распределенными транзакциями.
Хорошие вопросы, которые помогут понять, а что именно вам нужно в плане надежности:
👉Как влияют на бизнес разные типы инцидентов?
👉Где во всей системе мы можем иметь разные уровни стабильности?
👉Как надо обрабатывать случаи частичного отказа каких-то частей сервиса?
👉Как повышение надежности влияет на скорость разработки и возможность делать что-то новое?
Post #1808
9.02K

- 👍 40
- 👎 8
- ❤ 1