복합 가용성 계산기
입력
| 구성 방식 | 직렬 |
|---|---|
| 구성 요소 수 | 2개 |
| 구성 요소 1 | 99.9 % |
| 구성 요소 2 | 99.9 % |
| 구성 요소 3 | 99.9 % |
복합 가용성 계산기
신뢰성 블록 다이어그램에 따라 두세 개의 구성 요소를 직렬 또는 병렬(이중화)로 결합했을 때의 시스템 전체 가용성을 계산합니다. 복합 가용성과 그에 따른 연간 다운타임을 알 수 있습니다.
입력
구성 요소 가용성
결과
값을 입력하면 계산 결과가 표시됩니다.
시스템 가용성
예상 다운타임
복합 가용성
가용성은 구성 요소가 정상 작동하는 시간의 장기적 비율입니다. 하나의 서버, 링크, 서비스에는 저마다 고유한 가용성이 있으며 흔히 "나인"으로 표현됩니다. 예컨대 99.9 %는 스리나인입니다. 그러나 실제 시스템은 그런 부품 여러 개로 이루어지며, 사용자가 실제로 체감하는 가용성은 그 부품들이 어떻게 연결되어 있는지에 달려 있습니다. 복합 가용성은 각 구성 요소의 가용성과, 그것들을 잇는 신뢰성 블록 다이어그램의 구성으로부터 계산한 시스템 전체의 가용성입니다.
두 가지 구성이 대부분의 경우를 포괄합니다. 직렬에서는 모든 구성 요소가 작동해야 시스템이 동작합니다. 병렬에서는 구성 요소가 이중화되어 있어, 그중 어느 하나라도 작동하면 시스템이 계속 돌아갑니다. 직렬 구성은 가용성을 갉아먹고, 병렬 구성은 가용성을 쌓아 올립니다. 이 계산기는 두세 개의 구성 요소를 두 구성 중 하나로 결합하여, 복합 가용성과 그것이 1년 동안 의미하는 다운타임을 함께 산출합니다.
공식
각 구성 요소 의 가용성을 0과 1 사이의 값인 라 합시다.
직렬 구성 요소의 경우, 모두가 가용할 때에만 시스템이 가용합니다. 고장이 독립이라고 가정하면 가용성을 곱합니다.
A=i∏Ai=A1×A2×⋯결과는 항상 가장 가용성이 낮은 구성 요소보다 낮습니다. 직렬에 부품이 하나 늘 때마다 고장 날 수 있는 지점이 하나 더 늘기 때문입니다.
병렬(이중화) 구성 요소의 경우, 모든 경로가 동시에 불가용할 때에만 시스템이 불가용합니다. 동시에 일어나야 하는 것은 각 부품의 불가용성 이므로, 이쪽으로 따지는 편이 더 쉽습니다.
A=1−i∏(1−Ai)=1−(1−A1)(1−A2)⋯결과는 항상 가장 우수한 구성 요소보다 높습니다. 이중화된 사본이 고장 난 하나를 대신할 수 있기 때문입니다.
복합 가용성을 알면, 1년 동안의 예상 다운타임은 불가용 비율에 1년의 길이를 곱한 값입니다.
Dyear=(1−A)×525,600 분=(1−A)×8,760 시간계산 예시
각각 99.9 % 가용성()인 두 구성 요소를 두 방식으로 결합해 봅시다.
직렬일 때:
A=A1×A2=0.999×0.999=0.998001=99.8001%두 구성 요소를 직렬로 두면 가용성이 99.9 %에서 99.8 %로 낮아지며 예상 다운타임이 대략 두 배가 됩니다. 이제 시스템은 연간 약 17.5시간 불가용합니다.
병렬일 때:
A=1−(1−A1)(1−A2)=1−(0.001)(0.001)=1−0.000001=99.9999%두 구성 요소를 이중화하면 가용성이 스리나인에서 식스나인으로 높아지며 예상 다운타임이 몇 시간에서 연간 약 30초로 줄어듭니다. 같은 두 부품이라도 배치를 달리하면 다운타임이 약 2,000배 차이가 납니다.
직렬은 나인을 줄이고, 병렬은 나인을 더한다
직렬 가용성은 서로 곱해지므로, 구성 요소를 이어 붙일수록 나인은 꾸준히 줄어듭니다. 99.9 %인 동일 서비스 10개를 하나의 직렬 사슬로 엮으면 이 되어, 각 고리가 스리나인이어도 사슬 전체는 약 투나인으로 떨어집니다. 여러 서비스를 거치는 요청 경로가 그 위의 어느 단일 서비스보다도 훨씬 덜 신뢰할 수 있는 이유가 이것입니다.
이중화는 반대 방향으로 작용합니다. 병렬의 각 사본은 이미 작은 불가용성에 또 다른 작은 수를 곱하므로 나인이 빠르게 쌓입니다.
| 이중화 사본 수(각 99.9 %) | 시스템 가용성 | 연간 다운타임 |
|---|---|---|
| 1 | 99.9 % | 약 8.76시간 |
| 2 | 99.9999 % | 약 31.5초 |
| 3 | 99.9999999 % | 약 0.03초 |
이 가파른 상승이 이중화 설계의 핵심 매력입니다. 하드웨어를 두 배로 늘리면 스리나인이 식스나인이 됩니다.
나인과 다운타임
연간 다운타임 수치는 대개 가용성 숫자를 읽는 가장 구체적인 방법입니다. 나인이 하나 늘 때마다 허용 다운타임은 대략 10분의 1로 줄어듭니다.
| 가용성 | 연간 다운타임 |
|---|---|
| 99 %(투나인) | 약 3.65일 |
| 99.9 %(스리나인) | 약 8.76시간 |
| 99.99 %(포나인) | 약 52.6분 |
| 99.999 %(파이브나인) | 약 5.26분 |
| 99.9999 %(식스나인) | 약 31.5초 |
구성 요소를 직렬로 결합하면 이 표에서 아래로, 병렬로 이중화를 더하면 위로 이동합니다.
가정과 한계
곱셈 규칙은 구성 요소의 고장이 독립이라는 것, 즉 한 부품의 정지가 다른 부품의 정지 확률을 높이지 않는다는 것을 전제로 합니다. 이중화는 사본이 진정으로 독립적으로 고장 날 때에만 그 극적인 이득을 제공합니다. 공유 전원, 공통 네트워크, 이중화 쌍 앞단의 단일 로드 밸런서, 또는 모든 사본에 존재하는 소프트웨어 버그는 모두 단순한 공식이 포착하지 못하는 상관 고장을 만들어 냅니다. 그런 시스템의 실제 가용성은 병렬 결과가 시사하는 것보다 낮습니다.
또한 이 계산은 가용성을 안정적인 장기 평균으로 다루며, 수리 시간, 페일오버 지연, 계획된 유지보수 시간대는 각 구성 요소의 가용성 수치에 이미 반영되어 있지 않은 한 무시합니다. 그렇더라도 구성 요소 배치가 어떻게 동작할지 1차 근사로 추정하는 데에는 직렬·병렬 규칙이 표준 도구이며, 부품을 더하는 것과 이중화를 더하는 것 사이의 절충을 한눈에 보여 줍니다.
단일 가용성 목표 뒤에 있는 다운타임 수치는 업타임 SLA 계산 를 참조하세요.
자주 묻는 질문 (FAQ)
복합 가용성이란 무엇인가요?
복합 가용성은 여러 구성 요소로 이루어진 시스템 전체의 가용성으로, 각 부분의 가용성과 이들이 연결된 방식으로부터 계산됩니다. 가용성은 구성 요소가 정상 작동하는 시간의 장기적 비율로, 99.9 % 가용성은 구성 요소가 99.9 %의 시간 동안 작동함을 뜻합니다. 신뢰성 블록 다이어그램은 시스템을 직렬·병렬 또는 이 둘의 혼합으로 연결된 블록으로 표현하며, 복합 가용성은 이 블록들이 결합되는 방식에서 도출됩니다.
직렬과 병렬은 어떻게 다른가요?
직렬 구성에서는 모든 구성 요소가 작동해야 시스템이 동작하므로, 어느 한 곳의 고장만으로도 전체 시스템이 멈춥니다. 가용성을 곱하며, 그 결과는 항상 가장 약한 구성 요소보다 낮습니다. 병렬(이중화) 구성에서는 구성 요소가 서로를 백업합니다. 적어도 하나의 경로가 작동하는 한 시스템은 계속 동작하며, 모두가 동시에 고장 날 때에만 멈춥니다. 이때는 불가용성, 즉 1 − A 항을 곱하므로 결과는 가장 우수한 구성 요소보다 높아집니다.
이중화는 왜 가용성을 그토록 크게 높이나요?
독립적인 고장이 동시에 일어나는 경우가 드물기 때문입니다. 어떤 구성 요소가 0.1 %의 시간 동안 정지한다면, 동일한 구성 요소 두 개를 병렬로 두었을 때 둘이 동시에 정지할 확률은 0.1 % × 0.1 % = 0.0001 %에 불과하여 스리나인이 식스나인으로 바뀝니다. 이중화된 각 사본은 이미 작은 불가용성에 또 다른 작은 수를 곱하므로 가용성이 가파르게 올라갑니다. 이 이득은 구성 요소가 서로 독립적으로 고장 난다는 전제에서 성립합니다. 공유 전원, 공통 의존성, 또는 쌍 앞단의 단일 스위치는 이중화로 없앨 수 없는 상관 고장을 만들어 냅니다.
"나인"의 개수는 다운타임과 어떤 관계인가요?
나인이 하나 늘 때마다 허용 다운타임은 대략 10분의 1로 줄어듭니다. 투나인(99 %)은 연간 약 3.65일, 스리나인(99.9 %)은 약 8.76시간, 포나인(99.99 %)은 약 52.6분, 파이브나인(99.999 %)은 약 5.26분의 다운타임을 허용합니다. 직렬로 결합하면 나인이 줄고, 병렬로 이중화를 더하면 나인을 되찾습니다. 그래서 연간 다운타임 수치가 복합 가용성 결과를 읽는 가장 구체적인 방법인 경우가 많습니다.