99.9% 가용성? 클라우드 SLA의 함정을 파헤치다!

by DD
3개월 전
조회수 16

99.9% 가용성은 월 43분 다운타임을 의미하며, 실제로는 다양한 예외 조항으로 인해 보상받기 어려움

복합 SLA(Composite SLA)는 종속된 서비스들의 SLA를 곱하여 계산하며, 실제 가용성은 더욱 낮아짐

SLA 크레딧(Credits)은 청구 절차가 복잡하고, 사업 손실을 보상하지 않음

SLO(Service Level Objective)와 오류 예산(Error Budget)을 활용한 신뢰성 목표 설정이 더 효과적임

SLA, SLO, SLI의 정확한 이해

SLA(Service Level Agreement), SLO(Service Level Objective), SLI(Service Level Indicator)는 클라우드 환경에서 가용성(Availability)을 측정하고 관리하는 핵심 지표이다. SLI는 모니터링 도구가 측정하는 원시 지표(예: HTTP 5xx 에러율)이며, SLO는 내부 목표 (예: 99.95% 성공률 유지)를 설정하는 데 사용된다. 반면, SLA는 법적 구속력을 가지며, 서비스 제공자와 고객 간의 계약 조건으로, 가용성 미달 시 금전적 보상(Credit)을 포함한다. 따라서 SLO는 SLA보다 더 엄격하게 설정하여 안전 마진(Safety Net)을 확보해야 한다.

복합 SLA(Composite SLA)의 함정

클라우드 애플리케이션은 여러 서비스에 의존하므로, 각 서비스의 SLA를 개별적으로 고려하는 것은 불충분하다. 복합 SLA(Composite SLA)는 시스템 전체의 가용성을 계산하기 위해, 종속된 모든 서비스의 SLA를 곱하여 산출한다. 예를 들어, 3개의 99.9% SLA를 가진 서비스가 직렬로 연결된 경우, 전체 시스템의 가용성은 99.7%로 감소한다. 이는 단일 서비스의 43분 다운타임 허용 시간보다 훨씬 긴 2시간 10분의 다운타임을 의미한다. 따라서, 시스템 아키텍처 설계 시 복합 SLA를 고려하여 가용성을 예측하고, 필요한 경우 데이터 격리 아키텍처(Data Isolation Architecture) 또는 이중화(Redundancy)를 통해 가용성을 향상시켜야 한다.

SLA가 보장하지 않는 것들

클라우드 서비스의 SLA는 모든 상황을 보장하지 않는다. 스로틀링(Throttling), 콜드 스타트(Cold Starts), 지연 시간 증가 등은 SLA에 포함되지 않는 경우가 많다. 예를 들어, API 호출 횟수가 제한을 초과하여 429 에러가 발생하는 경우, 서비스는 여전히 '가용' 상태로 간주될 수 있다. 또한, 예정된 유지보수(Scheduled Maintenance) 역시 SLA에 포함되지 않으므로, 서비스 중단 시 보상을 받기 어렵다. 따라서, SLA는 최소한의 보장일 뿐이며, 실제 사용자 경험과 차이가 있을 수 있음을 인지해야 한다.

오류 예산(Error Budget)을 활용한 신뢰성 관리

오류 예산(Error Budget)은 SLO를 기반으로, 시스템의 신뢰성을 적극적으로 관리하는 방법이다. SLO가 99.95%인 경우, 0.05%의 오류를 허용하는 예산이 할당된다. 이 예산은 서비스 중단, 지연 시간 증가 등 각종 사고 발생 시 차감되며, 예산 소진 시에는 새로운 기능 배포를 중단하고 안정성에 집중해야 한다. 오류 예산은 팀 간의 의사 결정을 객관적으로 만들어주며, 제품 개발과 운영 팀의 목표를 일치시키는 데 기여한다. 모니터링 도구(Monitoring Tools)를 통해 실시간으로 오류 예산을 추적하고, 위험 상황을 사전에 감지하는 것이 중요하다.

SLA 크레딧(Credits)의 현실적인 이해

SLA를 충족하지 못할 경우, 서비스 제공자는 크레딧을 제공하지만, 그 조건은 매우 제한적이다. 크레딧은 일반적으로 월 사용료의 일부(최대 50% 또는 100%)로 제한되며, 청구 절차가 복잡하고, 사업 손실을 보상하지 않는다. 또한, AWS, Azure, Google Cloud 등 주요 클라우드 제공업체는 유료 지원 플랜(Paid Support Plan)을 사용해야 기술 지원을 받을 수 있으며, SLA 크레딧을 청구하기 위해서는 이 플랜 가입이 필수적이다. 따라서, SLA 크레딧은 실제 손실을 완전히 보상하지 못하며, 데이터 미저장 정책(Zero-Retention Policy), 데이터 격리 아키텍처(Data Isolation Architecture) 등 자체적인 장애 대응 전략(Disaster Recovery Strategy)을 마련하는 것이 중요하다.

99.9% uptime: what your cloud provider isn't telling you (SLA fine print + calculators)