Reliability vs Availability (Надёжность и доступность) (продолжение
предыдущего поста)
Большинство инженеров считают, что время безотказной работы равно надёжности. Но это не так.
Надёжность спрашивает: «Будет ли это работать правильно?»
Доступность спрашивает: «Работает ли это прямо сейчас?»
Математика, лежащая в основе каждой устойчивой системы, базируется на следующих понятиях:
• MTTF, MTTR, MTBF
• Последовательные и параллельные настройки
• Уровни SLA и реальное время простоя
• Почему «пять девяток» не всегда равны пяти девяткам
### Основные определения-
Надежность (R): Вероятность того, что система будет работать корректно в течение заданного интервала времени. Формула: R(t)=e^(-t/MTTF)
-
Доступность (A): Доля времени, в течение которого система находится в рабочем состоянии. Формула: A= (Uptime+Downtime) / Uptime
-
MTTF (Mean Time to Failure): Среднее время до отказа системы или компонента.
-
MTTR (Mean Time to Restore): Среднее время восстановления после отказа.
-
MTBF (Mean Time Between Failures): Среднее время между отказами. Формула: MTBF = MTTF + MTTR
### Надежность зависит от конфигурации системы-
Последовательные системы: Все компоненты должны работать. Формула: R_series = R_1 * R_2 * ... * R_n
-
Параллельные системы: Достаточно, чтобы работал хотя бы один компонент. Формула: R_parallel = 1 - (1 - R_1)*(1 - R_2) * ... * (1 - R_n)
### Уровни доступности и SLAТаблица показывает соответствие между процентом доступности и допустимым временем простоя:
- 99% («две девятки»): ~3,65 дня в год, ~1,68 часа в неделю.
- 99,9% («три девятки»): ~8,76 часа в год, ~10,1 минуты в неделю.
- 99,99% («четыре девятки»): ~52 минуты в год, ~1 минута в неделю.
- 99,999% («пять девяток»): ~5 минут в год, ~6 секунд в неделю.
### Типичные ошибки- Предполагание независимых отказов, когда компоненты разделяют риски.
- Игнорирование сетевых зависимостей при расчете доступности.
- Неправильное указание «99,99% времени работы» без учета планового простоя.
### Лучшие практики- Проектирование с учетом избыточности.
- Минимизация одиночных точек отказа.
- Автоматизация обнаружения и переключения.
- Непрерывный мониторинг времени работы.
- Измерение надежности на основе реальных данных.