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% времени работы» без учета планового простоя.
### Лучшие практики
- Проектирование с учетом избыточности.
- Минимизация одиночных точек отказа.
- Автоматизация обнаружения и переключения.
- Непрерывный мониторинг времени работы.
- Измерение надежности на основе реальных данных.
Post #2523
1.97K