성능·가용성·신뢰성·복구성·확장성
서비스가 한 달 대부분 접속 가능해도 결제 도중 자주 실패하면 믿기 어렵다. 반대로 오랫동안 고장 없이 일하다 한 번 장애가 났을 때 복구에 며칠이 걸릴 수도 있다. 운영 품질은 사용할 수 있었는지와 고장 없이 임무를 수행했는지를 구분해 측정해야 한다.
켜져 있는 것과 믿고 맡길 수 있는 것은 다르다
서비스가 한 달 대부분 접속 가능해도 결제 도중 자주 실패하면 믿기 어렵다. 반대로 오랫동안 고장 없이 일하다 한 번 장애가 났을 때 복구에 며칠이 걸릴 수도 있다. 운영 품질은 사용할 수 있었는지와 고장 없이 임무를 수행했는지를 구분해 측정해야 한다.
먼저 되짚기: 성능축과 부분실패
지연·대역폭·처리량은 한 작업의 시간과 용량·완료량을 구분하고, 부분실패는 일부 노드·통신만 실패할 수 있음을 뜻한다. 운영 품질은 정상 부하뿐 아니라 이 실패의 빈도·복구·사용자 임무까지 함께 본다.
복구·확장을 말하기 전에 성능과 가용·신뢰의 경계를 고정한다
성능은 정한 부하에서 응답시간과 처리량 목표를 만족하는 정도다. 가용성은 필요한 시점에 서비스를 제공할 수 있는 정도이고 신뢰성은 정한 조건과 기간 동안 고장 없이 임무를 수행할 가능성이다. 짧은 장애가 자주 있으면 월간 가용성이 높아도 긴 연속 임무의 신뢰성은 낮을 수 있다.
다시 연결하기: 실패의 빈도에서 복구·확장으로
가용성과 신뢰성은 고장과 임무 실패의 시간특성을 본다. 복구성은 실패 후 얼마나 빨리 업무를 되찾는지, 확장성은 부하가 늘 때 자원을 늘려 품질목표를 유지하는지를 별도로 본다.
성능·가용성·신뢰성·복구성·확장성
성능은 주어진 자원과 부하에서 응답시간과 처리량 목표를 만족하는 정도다. 가용성(availability)은 필요한 시점에 시스템이 요구된 서비스를 제공할 수 있는 정도이며, 신뢰성(reliability)은 정한 조건과 기간 동안 요구 기능을 고장 없이 수행할 가능성이다. 복구성은 실패 뒤 목표시간과 허용손실 안에서 서비스를 되찾는 능력이고, 확장성은 부하 증가에 자원을 늘리며 목표 품질을 유지하는 능력이다. 가용성은 고장 빈도와 복구시간의 영향을 함께 받고 신뢰성은 연속 임무의 실패 가능성에 초점을 둔다.
같은 장애를 두 관점으로 보기
짧은 장애가 자주 나지만 자동 복구가 빠르면 월간 가용성은 높을 수 있다. 그러나 30분 동안 끊기지 않아야 하는 시험 제출 업무는 자주 끊기는 것 자체가 신뢰성 문제다. 사용자가 몰릴 때 자원을 늘려도 응답시간이 유지되는지는 성능과 확장성의 문제이고, 장애 뒤 언제까지 어떤 데이터 상태로 돌아오는지는 복구성의 문제다. 서비스 시간, 부하, 허용 중단, 임무 길이, 복구시간과 데이터 손실 허용치를 함께 적는다.
백분율만 높이면 되는가
계획정지를 분모에서 임의로 빼거나 핵심 기능 일부가 고장 났는데 접속만 된 시간을 정상으로 세면 가용성을 과장한다. 월간 평균은 중요한 업무시간의 집중 장애를 숨길 수 있다. 서버 수가 늘었다는 사실만으로 확장성과 복구성을 입증할 수도 없다. 측정 경계·부하·정상 판정조건·관찰창을 명시하고 실제 부하시험과 장애전환·복구시험으로 목표를 검증한다.
부하와 실패를 서로 다른 질문으로 읽는다
| 부하·실패에서 묻는 질문 | 해당 속성 |
|---|---|
| 정상·혼잡 부하의 응답시간·처리량은? | 성능 |
| 자원 증가 뒤 같은 목표를 유지하는가? | 확장성 |
| 고장 중 필요한 시점에 서비스가 가능한가? | 가용성 |
| 정한 임무 동안 무고장으로 수행하는가? | 신뢰성 |
| 고장 뒤 언제·어떤 데이터로 되찾는가? | 복구성 |
상자 안의 대상과 화살표의 조건을 함께 읽으세요. 좁은 화면에서는 같은 관계를 세로로 재배치한 도식을 보여 줍니다.
고장 뒤 5분 안에 재개해도 30분 연속 제출 임무는 중단될 수 있다. 월간 720시간 중 72분 중단은 약 99.83%로 99.9% 목표의 허용 43.2분을 넘고, 관측한 1000세션 중 8세션이 중단됐다면 무중단 완료비율은 992/1000=99.2%다. 가용성·임무 신뢰성·복구성은 각각 판단한다.
같은 구조가 여러 속성에 영향을 주지만 질문과 증거는 다르다. 자동 재시작은 복구시간을 줄여 가용성을 높일 수 있어도 사용자의 30분 제출 임무가 매번 중단된다면 신뢰성 문제는 남는다.
운영 품질 다섯 가지를 한 표로 구분한다
| 속성 | 핵심 질문 | 조건과 대표 척도 | 대표 검증 |
|---|---|---|---|
| 성능 | 현재 부하를 얼마나 빠르고 많이 처리하나 | 사용자·요청 혼합, 응답시간 분포, 처리량 | 부하·스트레스 시험 |
| 가용성 | 필요한 시점에 서비스를 쓸 수 있나 | 서비스 시간, 정상 판정 경계, 사용 가능 시간 비율 | 장애 주입과 관찰 |
| 신뢰성 | 정한 임무를 중단 없이 끝낼 수 있나 | 임무 길이·조건, 실패 빈도·확률 | 장시간·반복 임무 시험 |
| 복구성 | 실패 뒤 얼마나 빨리 어느 상태로 돌아오나 | 목표 복구시간, 허용 데이터 손실 | 전환·복원·업무재개 시험 |
| 확장성 | 부하 증가에 자원을 늘려 목표를 유지하나 | 부하 배수, 자원 배수, 성능·비용 변화 | 단계적 확장 시험 |
“서버가 살아 있다”를 정상으로 세면 핵심 거래가 실패하는 시간을 가용시간으로 잘못 포함할 수 있다. 업무별 정상 판정, 관찰기간과 중요시간대를 먼저 정의한다.
중복 자원은 품질을 자동으로 보장하지 않는다
복제와 자동전환은 한 구성요소 고장에 견딜 수 있지만 데이터 동기화 지연, 전환 복잡도와 운영비용을 늘린다. 캐시는 응답속도를 높이지만 오래된 값을 제공할 수 있고, 자원을 급히 확장하면 비용 폭증이나 외부 의존성 병목이 남을 수 있다. 목표를 정하지 않은 채 서버 수만 늘리면 어떤 속성이 얼마나 개선되었는지 판단할 수 없다.
선택은 업무 임무와 실패 피해에서 시작한다. 반드시 중단 없이 끝내야 할 거래, 허용 중단시간과 데이터 손실, 혼잡 부하와 비용 한도를 정하고 구조 대안을 비교한다. 이후 부하·장애·복구를 함께 시험해 한 속성의 개선이 다른 속성을 악화시키지 않는지 확인한다.
높은 가용성 뒤의 낮은 임무 신뢰성
한 달 720시간 동안 총 중단이 72분, 즉 1.2시간이었다면 단순 시간 가용성은 (720 - 1.2) ÷ 720 × 100 = 약 99.83%다. 중단 72분을 60으로 나누어 1.2시간으로 맞춘 뒤, 정상시간 718.8시간을 전체 720시간으로 나눈 계산이다.
같은 720시간 창에서 교육용 가용성 목표를 99.9% 이상으로 정하면 중단 허용비율은 100%−99.9%=0.1%=0.001이다. 따라서 허용중단은 720×0.001=0.72시간이고, 분으로 바꾸면 0.72×60=43.2분이다. 관측 72분은 43.2분을 넘으므로 이 목표에는 실패한다. 실제 서비스에서는 필요한 업무시간과 정상 서비스 판정경계를 먼저 정한 뒤 같은 방식으로 계산한다. 그러나 30분 동안 끊기지 않아야 하는 시험 제출 세션이 짧은 장애로 여덟 번 실패했다면 월간 가용성만으로 사용자 임무의 신뢰성을 설명할 수 없다.
각 장애를 5분 안에 자동 복구했다면 복구성은 빠를 수 있다. 동시 사용자 1천 명에서 응답의 95%가 2초 안에 끝났지만 2천 명에서 8초로 늘었다면 성능 목표와 확장성도 별도로 확인해야 한다. 자원을 두 배 늘린 뒤 2천 명에서 다시 2초 목표를 만족하는지, 비용과 오류율은 어떻게 변했는지 단계적으로 시험한다. 이 사례는 한 백분율 대신 임무·부하·복구 상태를 함께 적어야 함을 보여 준다.
실패 8건만으로는 임무 성공 비율을 계산할 수 없다. 전체 수행 수와 동일한 30분 임무·부하·실패 정의가 필요하다. 추가 교육용 가정을 “같은 조건에서 끝까지 관측한 1000세션 중 8세션이 한 번 이상 중단”으로 두면 관측된 무중단 완료비율은 992/1000=99.2%다. 한 세션의 여러 장애를 여러 실패 세션으로 중복 집계하지 않는다. 이는 표본의 경험 비율이고 미래 30분 임무의 참 신뢰도 확정값은 아니다.
자체 10점 문제
성능, 가용성, 신뢰성, 복구성과 확장성을 비교하고 서비스 운영 품질 목표 및 검증방안을 설명하시오.
요구어는 비교와 설명이다. 업무시간·부하·임무길이·정상 판정·실패 피해를 먼저 고정하고 부하·장시간 임무·장애전환·복원·확장 시험으로 증거를 연결한다.
10점 풀이 방향과 모범답안 보기
답안 목차
- 다섯 운영 품질속성의 정의와 관계
- 부하·업무시간·임무·정상 판정·복구 상태 조건
- 속성별 목표와 응답시간·가용시간·실패·복구 척도
- 부하·장시간 임무·장애전환·복원·확장 시험
- 중복·일관성·복잡도·비용 상충과 구조 선택
- 평균·백분율·자원 수 오판과 운영 재측정
답안에 넣을 핵심 도식
업무 시나리오의 부하·임무·업무시간·실패피해·허용비용을 먼저 고정한다. 정상 부하에는 성능 목표, 고장 중에는 가용·신뢰·복구 목표, 부하 증가에는 확장성 목표를 연결한다. 부하·장시간 임무·전환·복원·확장 시험의 증거를 운영에서 재측정한다. 복구와 임무 중단 그림은 서로 다른 목표를 상쇄하지 못하는 이유를 보여 준다.
도식은 속성 이름에서 시작하지 않고 업무 시나리오의 조건과 피해에서 목표와 검증을 도출한다는 판단 순서를 보여 준다.
모범답안
성능은 정한 자원과 부하에서 응답시간·처리량 목표를 만족하는 정도다. 가용성은 필요한 시점에 요구 서비스를 제공할 수 있는 정도, 신뢰성은 정한 조건과 기간 동안 임무를 고장 없이 수행할 가능성이다. 복구성은 실패 뒤 목표시간과 허용손실 안에서 업무를 되찾는 능력, 확장성은 부하 증가에 자원을 늘려 목표 품질을 유지하는 능력이다.
목표는 서비스 경계와 업무시간, 부하·요청 혼합, 임무 길이, 정상 판정조건, 허용 중단·손실과 비용을 포함해야 한다. 월간 가용성이 높아도 짧은 장애가 자주 발생하면 연속 임무 신뢰성은 낮을 수 있고, 빠른 자동복구는 복구성을 개선해도 중단 자체를 없애지는 않는다.
검증은 정상·혼잡 부하시험, 장시간 반복 임무, 장애 주입과 자동전환, 데이터 복원과 업무재개, 자원 증가별 단계적 확장시험을 함께 수행한다. 복제·캐시·자동확장은 품질을 높일 수 있지만 동기화, 복잡도와 비용을 늘리므로 대안·잔여위험을 기록한다. 단일 평균, 월간 백분율이나 서버 수가 아니라 사용자 임무와 실제 운영 결과로 재측정해야 한다.
자체 25점 문제
시험 제출 서비스의 성능·가용성·임무 신뢰성·복구성·확장성 목표를 분리하고 장애·부하 시나리오별 검증계획을 설계하시오.
요구어는 설계다. 월간 백분율 하나로 품질을 대표하지 않고 정상·고장·복구·부하증가 상태별 목표와 시험을 분리한다.
25점 풀이 방향과 모범답안 보기
25점 답안 목차
- 업무시간·임무·부하·실패피해
- 응답·처리량 성능목표
- 시간 가용성
- 연속 임무 신뢰성
- 복구시간·허용손실
- 단계적 확장성과 비용
- 장애주입·전환·복원·부하시험
- 운영 재측정·잔여위험
25점 답안 도식
정상 부하의 성능, 장애 중의 가용·신뢰, 장애 후의 복구, 부하 증가의 확장을 같은 업무 시나리오에서 별도 목표·시험·운영 재측정으로 관리한다. 질문별 비교와 인과 그림을 아래 수용표의 각 행에 연결한다.
25점 모범답안
먼저 시험 제출의 업무시간, 30분 연속 임무, 정상·혼잡 부하, 실패 피해와 허용비용을 정한다. 성능은 p95 응답과 처리량, 가용성은 업무시간 중 서비스 제공비율, 신뢰성은 30분 임무를 고장 없이 완료할 가능성으로 분리한다.
복구성은 장애 뒤 목표 복구시간과 허용 데이터손실, 확장성은 사용자 수 증가에 자원을 늘렸을 때 같은 응답·오류 목표를 유지하는지로 정의한다. 월간 가용성이 높아도 짧은 장애가 여러 시험 세션을 끊으면 임무 신뢰성은 낮을 수 있다.
정상·혼잡 부하, 장시간 반복 임무, 장애주입과 자동전환, 데이터 복원·업무재개, 자원 증가별 확장시험을 수행한다. 복제·캐시·자동확장은 동기화·복잡도·비용을 늘릴 수 있으므로 품질 이득과 잔여위험을 같이 기록하고 실제 운영에서 같은 정의로 재측정한다.
자체 수용표는 다음처럼 분리한다. 모든 값은 이 문제에서 선택한 목표다.
| 속성 | 목표·시험 기대값 |
|---|---|
| 성능 | 동시 1000명에서 전체 조회의 95% 이상이 정상 응답 2초 이내 |
| 가용성 | 720시간 기준≥99.9%, 허용중단≤0.72시간=43.2분 |
| 임무 신뢰성 | 동일 30분 1000세션 중 무중단 완료≥995세션 |
| 복구성 | 지정한 단일 장애에서 서비스 재개≤5분, 확정 제출 데이터 손실 0 |
| 확장성 | 자원 2배·동시 2000명에서 성능/오류 목표 유지 및 비용 기록 |
관측한 중단시간 72분은 43.2분을 넘고, 추가 가정의 완료 992세션은 995에 못 미치므로 둘 다 실패다. “복구 5분 이내” 하나만으로 이 실패를 상쇄하지 않는다. 무손실 복구는 실제 확정 제출과 복원 기록을 대조하는 별도 시험으로 확인한다.
출처와 적용 경계
성능·가용성·신뢰성·복구성·확장성은 안정된 품질속성 기초개념이다. 720시간·72분·30분 임무와 부하 수치는 자체 교육 사례이며 실제 SLA를 뜻하지 않는다.
자기교정과 조건 변경
| 잘못 쓴 답 | 수정 | 복습 |
|---|---|---|
| 가용성이 높으면 긴 임무 신뢰성도 높다 | 중단 빈도·임무 길이를 별도로 본다 | 사례 |
| 복구가 빠르면 장애가 없었던 것과 같다 | 복구성은 중단 뒤 회복능력이며 중단 자체를 없애지 않는다 | 정의 |
| 서버 수를 두 배로 늘리면 확장성은 증명된다 | 부하 증가 뒤 같은 품질·비용 목표를 실측한다 | 사례 |
| 평균 응답시간만 보면 성능을 알 수 있다 | 분포·오류·요청혼합과 부하조건을 함께 본다 | 답안 |
| 월간 백분율 하나로 운영품질을 대표한다 | 업무임무·복구·부하 증가 상태를 나눠 본다 | 도식 |
업무시간이 24시간에서 12시간으로 바뀌면? 가용성 분모와 중요 임무 구간을 새 서비스 경계에 맞춘다.
복구시간 목표가 5분에서 1분으로 강화되면? 탐지·전환·데이터복원 각 단계의 시간예산과 비용을 다시 설계한다.
사용자가 2배인데 자원은 1.5배만 늘릴 수 있다면? 성능목표·비용·축소기능·유입통제를 함께 비교한다.
한 번에 되찾기
성능은 부하 아래 응답과 처리, 가용성은 필요할 때 사용 가능함, 신뢰성은 임무의 무고장 가능성이다. 복구성은 실패 뒤 되찾는 능력, 확장성은 자원 증가로 부하에 대응하는 능력이며 각 목표는 조건과 시험증거를 붙인다.