-
가용성(Availability) vs. 안정성(Reliability) – 어느 것이 더 중요한가?Interview 2025. 3. 18. 13:07728x90
SRE 관점에서 안정성(Reliability)이 더 중요한 요소입니다. 안정성이 보장되지 않으면 높은 가용성(Availability)도 의미가 없으며, 안정성을 최적화한 후 가용성을 높이는 것이 가장 이상적인 접근 방식입니다.
예) Amazon에서 주문 API가 99.99%의 가용성을 유지하지만, 일부 주문이 정상적으로 처리되지 않는다면 고객 불만이 증가할 것입니다. 따라서, 안정성을 우선적으로 확보한 후 가용성을 보장하는 것이 중요합니다
📌 1️⃣ 가용성과 안정성의 차이점
- 가용성(Availability): 시스템이 정상적으로 운영되는 시간의 비율
- 시스템이 장애 없이 사용 가능해야 함
- 예: 서비스 가용성이 99.99%라면, 한 달(30일) 기준 약 4.32분 이하의 다운타임만 허용
- 안정성(Reliability): 시스템이 일관되게 기대한 대로 동작하는 능력
- 장애 발생 시 복구가 빠르고, 데이터 정합성이 유지되어야 함
- 예: API가 99.99%의 가용성을 가지지만, 1%의 요청이 실패한다면 안정성이 부족한 상태
✅ 비유적 설명
- 가용성(Availability)은 "전등이 켜져 있는지"를 의미
- 안정성(Reliability)은 "전등이 안정적으로 깜빡이지 않고 지속적으로 켜져 있는지"를 의미
📌 2️⃣ 가용성과 안정성 중 어느 것을 우선적으로 고려해야 하는가?
📌 정답: 상황에 따라 다르지만, 일반적으로 "안정성(Reliability)"이 더 중요함
(1) 높은 안정성이 곧 높은 가용성을 의미함
✔ 안정성이 없으면, 가용성이 높아도 의미가 없음
- 예를 들어, 서비스 가용성이 99.99%라고 해도 API 응답이 불안정하면 사용자 경험이 나빠짐
- "서비스는 켜져 있지만, 자주 응답이 실패한다면 가용성이 높아도 실제 유용성이 떨어짐"
✔ 반대로 안정성을 확보하면, 결과적으로 가용성도 자연스럽게 따라옴
- 안정적인 서비스는 예측 가능한 성능과 복구 능력을 가지므로, 장기적으로 가용성을 높이는 효과
✅ 예시:
"만약 서비스가 99.99% 가용성을 유지하지만, 응답 시간이 불규칙하고 오류가 자주 발생한다면, 사용자 입장에서는 불편할 것입니다. 따라서, 안정성이 확보된 이후에 가용성을 고려하는 것이 더욱 효과적입니다."
(2) 서비스 유형에 따라 달라질 수 있음
📌 가용성이 더 중요한 경우
✔ 이커머스, 스트리밍 서비스(Coupang, Netflix)- 사용자가 서비스에 접근하지 못하면 수익 손실로 직결
- 따라서, 최대한 가용성을 높이는 것이 중요
📌 안정성이 더 중요한 경우
✔ 금융, 의료 서비스(Payment System, Banking, Healthcare)- 결제 서비스가 99.99% 가용성이지만, 거래 내역이 정확하지 않다면 신뢰할 수 없음
- 데이터 무결성(Data Integrity)이 중요한 시스템에서는 안정성이 최우선
✅ 예시:
"Coupang에서 주문 API가 99.99%의 가용성을 유지하지만, 일부 주문이 정상적으로 처리되지 않는다면 고객 불만이 증가할 것입니다. 따라서, 안정성을 우선적으로 확보한 후 가용성을 보장하는 것이 중요합니다."
📌 3️⃣ 결론: SRE 관점에서의 접근 방식
📌 "안정성이 확보된 후, 가용성을 극대화하는 것이 가장 이상적인 전략"
✔ SLO(Service Level Objective) 기준을 설정하여 가용성과 안정성을 균형 있게 관리
✔ Error Budget을 활용하여 서비스 안정성을 유지하면서도, 가용성을 최적화하는 전략 적용
✔ Auto Healing, Rate Limiting, Circuit Breaker 등의 기술을 사용하여 시스템 안정성을 높임✅ 최적의 접근 방식:
"우리는 가용성을 보장하는 동시에, 안정성을 최우선으로 고려해야 합니다. 안정성이 확보되지 않은 가용성은 의미가 없기 때문입니다. 따라서, SLO 기반의 Error Budget을 설정하고, 장애 복구 속도를 향상시키는 Auto Healing 시스템을 구축하여 서비스의 신뢰성을 확보해야 합니다."728x90'Interview' 카테고리의 다른 글
장애 대응 프로세스 설계 (0) 2025.03.18 Amazon과 같은 대규모 트래픽 환경에서 SRE가 가장 중요하게 고려해야 할 요소 (0) 2025.03.18 SRE 팀의 주요 역할과 책임 (0) 2025.03.18 Event-Driven Architecture 란 (0) 2025.03.18 Backtracking(백트래킹)과 DFS의 차이점 (0) 2025.03.17 - 가용성(Availability): 시스템이 정상적으로 운영되는 시간의 비율