1. Availability 개요
- 가용성(Availability)은 시스템이 정상적으로 작동하며 사용 가능한 상태를 유지하는 능력을 의미합니다.
- 분산 시스템의 복원력(Resiliency)을 정량적으로 측정하는 가장 중요한 지표 중 하나입니다.
- 고가용성 워크로드를 구축한다는 것은 시스템이 장애 상황에서도 최소한의 중단 시간으로 서비스를 제공할 수 있도록 설계하는 것을 의미합니다.
1.1 가용성의 정의
- 가용성(A)은 워크로드가 사용 가능한 시간의 비율로 정의됩니다.
- 예상되는 "가동 시간(uptime)"과 전체 측정 시간(가동 시간 + 중단 시간) 사이의 비율입니다.
A = uptime / (uptime + downtime)
A: 가용성 (Availability)
uptime: 시스템이 정상적으로 작동하는 시간
downtime: 시스템이 중단된 시간
1.2 가용성의 중요성
- 사용자 경험에 직접적인 영향을 미칩니다.
- 비즈니스 손실을 최소화합니다.
- 시스템 신뢰성을 보장합니다.
- 경쟁 우위를 확보할 수 있습니다.
2. 가용성 측정 지표
가용성을 측정하고 개선하기 위해서는 다음 세 가지 핵심 지표를 이해해야 합니다.
2.1 MTBF (Mean Time Between Failure)
- MTBF는 평균 장애 간격을 의미합니다.
- 워크로드가 정상 작동을 시작한 시점부터 다음 장애가 발생할 때까지의 평균 시간입니다.
- MTBF가 길수록 시스템이 안정적이라는 의미입니다.
예시
시스템이 3개월 동안 3번 장애 발생:
- 1차 장애: 30일 후
- 2차 장애: 35일 후
- 3 차 장애: 25일 후
MTBF = (30 + 35 + 25) / 3 = 30일
2.2 MTTR (Mean Time To Repair/Recovery)
- MTTR은 평균 복구 시간을 의미합니다.
- 장애가 발생한 후 시스템이 정상 상태로 복구되기까지 걸리는 평균 시간입니다.
- 워크로드를 사용할 수 없는 기간을 나타냅니다.
- MTTR이 짧을수록 시스템의 가용성이 높습니다.
- MTTR 구성 요소
- 장애 감지 시간
- 문제 진단 시간
- 수리/복구 실행 시간
- 시스템 재시작 및 검증 시간
2.3 MTTD (Mean Time To Detection)
- MTTD는 평균 감지 시간을 의미합니다.
- 장애가 발생한 시점부터 복구 작업이 시작되기까지의 시간입니다.
- MTTR의 중요한 구성 요소입니다.
- MTTD가 짧을수록 빠르게 문제에 대응할 수 있습니다.
2.4 지표 간 관계

- MTTD는 MTTR의 일부입니다. 장애를 빨리 감지할수록(MTTD 감소) 전체 복구 시간(MTTR)도 줄어들어 가용성이 향상됩니다.
3. 가용성 계산
3.1 MTBF와 MTTR을 이용한 가용성 계산
- 가용성은 MTBF(가동 시간)와 MTTR(중단 시간)을 사용하여 표현할 수 있습니다.
A = MTBF / (MTBF + MTTR)
예시 1
MTBF = 720시간 (30일)
MTTR = 1시간
A = 720 / (720 + 1) = 0.9986 = 99.86%
예시 2
MTBF = 8760시간 (1년)
MTTR = 2시간
A = 8760 / (8760 + 2) = 0.9998 = 99.98%
3.2 장애 확률
- 워크로드가 "사용 불가능한" 상태일 확률은 장애 확률(F)로 표현됩니다.
F = 1 - A
F: 장애 확률 (Failure probability)
A: 가용성 (Availability)
예시
가용성이 99.9%인 시스템:
F = 1 - 0.999 = 0.001 = 0.1%
연간 중단 시간 = 365일 × 24시간 × 0.001 = 8.76시간
3.3 가용성 수준별 연간 다운타임
| 가용성 | 연간 다운타임 | 월간 다운타임 | 주간 다운타임 | 일일 다운타임 |
|---|---|---|---|---|
| 90% (1 nine) | 36.53일 | 73시간 | 16.8시간 | 2.4시간 |
| 99% (2 nines) | 3.65일 | 7.31시간 | 1.68시간 | 14.40분 |
| 99.9% (3 nines) | 8.77시간 | 43.83분 | 10.08분 | 1.44분 |
| 99.95% (3.5 nines) | 4.38시간 | 21.92분 | 5.04분 | 43.20초 |
| 99.99% (4 nines) | 52.60분 | 4.38분 | 1.01분 | 8.64초 |
| 99.995% (4.5 nines) | 26.30분 | 2.19분 | 30.24초 | 4.32초 |
| 99.999% (5 nines) | 5.26분 | 26.30초 | 6.05초 | 0.86초 |
높은 가용성의 비용
가용성이 높아질수록 이를 달성하기 위한 비용과 복잡도가 기하급수적으로 증가합니다. 99.9%에서 99.99%로 향상하는 것보다 99.99%에서 99.999%로 향상하는 것이 훨씬 어렵습니다.
4. 가용성 향상 전략
- 가용성 개선의 3가지 핵심 요소는 아래와 같습니다.
- 더 긴 MTBF: 장애가 덜 자주 발생하도록 함
- 더 짧은 MTTD: 장애를 빠르게 감지함
- 더 짧은 MTTR: 복구 시간을 단축함
이 세 가지 요소가 분산 시스템의 가용성을 개선하는 핵심입니다.