slo-sli-sla
TL;DR
- SLO, SLI, SLA는 서비스 수준을 정의하고 관리하는 핵심 개념임.
- SLO는 목표 성능 수준, SLI는 이를 측정하는 지표, SLA는 법적 계약임.
- 각 개념은 서로 보완하며, 효과적인 서비스 운영과 고객 만족을 위해 함께 사용됨.
- 올바른 설정과 지속적 관리가 서비스 안정성과 품질 보장에 필수임.
서비스 수준 개념 이해
- 서비스 수준은 일정 기간 내 사용자에게 제공되는 서비스 품질을 측정 가능한 용어로 정의함.
- SLO(Service Level Objectives)는 시스템에서 기대하는 성능 목표를 설정함.
- SLI(Service Level Indicators)는 SLO 달성 여부를 판단하는 핵심 지표임.
- SLA(Service Level Agreements)는 SLO 미충족 시 법적 책임과 보상 조건을 명시한 계약임.
SLO, SLI, SLA 차이점
- SLA는 고객과 공급업체 간 합의된 서비스 품질 수준과 법적 책임을 정의함.
- SLO는 SLA를 충족하기 위한 구체적이고 측정 가능한 성능 목표임.
- SLI는 SLO 달성 여부를 실시간으로 측정하는 지표임.
- SLA는 덜 유연하며 법무팀과 고객 협의가 필요, SLO는 기술적 목표로 유연하게 조정 가능, SLI는 기술 발전에 따라 계속 개선됨.
SLO 설정과 활용
- SLO는 고객 기대치와 시스템 성능을 반영해 구체적이고 달성 가능한 목표로 설정함.
- 업타임, 레이턴시, 오류율, 처리량, 용량 등 다양한 영역에서 SLO를 정의할 수 있음.
- SLO는 주기적으로 검토 및 조정하며, 지나치게 엄격한 목표는 혁신 저해 가능성 있음.
- SLO 미충족 시 근본 원인 분석과 개선 작업이 필요함.
SLI 선택과 측정
- SLI는 사용자 경험과 비즈니스 우선순위에 기반해 중요 지표를 선정함.
- 가용성, 레이턴시, 오류율, 처리량, 리소스 포화도 등이 대표적 SLI임.
- 정확한 측정을 위해 모니터링, 로깅 시스템과 정기 검증이 필수임.
- SLI는 SLO와 SLA의 기반이 되어 서비스 상태를 실시간으로 파악함.
SLA 작성과 관리
- SLA는 고객과 공급업체 간 법적 계약으로 서비스 품질과 책임을 명확히 함.
- SLA에는 서비스 범위, 성능 목표(SLO), 측정 지표(SLI), 보상 조건 등이 포함됨.
- SLA 작성 시 법무, 비즈니스, 안정성 팀 등 다양한 이해관계자 협의가 필요함.
- SLA 위반 시 명확한 의사소통과 문제 해결이 중요하며, 보상 조치가 따름.
SLO, SLI, SLA의 도전과제
- SLO: 적절한 메트릭 선택과 균형 잡힌 목표 설정이 어려움.
- SLI: 너무 많은 지표와 측정 어려움으로 관리 부담 발생 가능.
- SLA: 다양한 이해관계자 조율과 기술 변화 대응, 비용 관리가 복잡함.
서비스 수준 관리의 중요성
- 서비스 수준 관리는 SLO 설정, SLI 측정, SLA 준수를 포함한 전반적 프로세스임.
- 팀 간 공통 용어와 목표 공유를 통해 서비스 안정성과 고객 만족도를 높임.
- 자동화 도구와 플랫폼 활용으로 반복적 개선과 투명한 모니터링 가능.
- 효과적 관리 시 SLA 위반 방지, 운영 효율성 증대, 고객 신뢰 확보에 기여함.
SLO 예시
- 업타임/가용성 SLO
- 30일 동안 99.9% 업타임 제공
- 일주일 동안 시스템 오류로 인해 요청이 실패하는 비율 0.1% 미만
- 레이턴시 SLO
- 웹 페이지 로드의 95%가 2초 이내 완료
- API 요청의 99%가 300밀리초 이내 반환
- 오류율 SLO
- 모든 트랜잭션의 0.05% 미만에서 오류 발생
- 데이터베이스 쓰기 중 실패 1% 미만
- 처리량 SLO
- 피크 타임 중 초당 10,000개 요청 처리 가능
- 일일 5TB 데이터 수집 가능
- 용량 및 사용량 SLO
- 중요 시스템 디스크 사용률 80% 미만 유지
- 서비스 인스턴스 총 RAM 사용량 70% 미만 유지
- 데이터 무결성 및 일관성 SLO
- 5분 안에 클러스터 간 데이터 복제 완료
- 데이터 불일치 0.01% 미만 유지
- 내구성 SLO
- 1년 간 99.9999999% 데이터 내구성 제공
- 백업 복원 성공률 99.5%
- 변경 관리 및 배포 SLO
- 배포 98% 롤백 없이 수행
- 99% 변경 사항이 계획되지 않은 중단 없이 완료
SLI 예시
- 가용성/업타임
- 총 요청 대비 성공한 요청 비율
- 전체 기간 중 시스템 업타임 비율
- 레이턴시
- API 요청 응답 시간
- 최종 사용자 웹 페이지 로드 시간
- 처리량
- 초당 처리되는 요청 수
- 특정 기간 내 처리된 데이터 양
- 오류율
- 총 요청 대비 실패한 요청 비율
- 반환된 4xx, 5xx HTTP 상태 코드 수
- 포화도
- CPU, RAM 등 리소스 활용률
- 사용 가능한 저장 공간 대비 사용량
- 커버리지
- 정해진 기간 내 기능 업데이트 받은 사용자 비율
- 총 전달된 응답 대비 캐시된 응답 비율
- 선도(Freshness)
- 데이터 쓰여진 시점 대비 읽기 데이터 수명
- 데이터베이스 간 복제 지연 시간
- 용량
- 동시에 처리 가능한 최대 사용자 또는 세션 수
- 성능 저하 없이 처리 가능한 최대 데이터 볼륨
SLA 예시
- AWS 일반 SLA: 99.99% 업타임 보장, 서비스 중단 시 크레딧 지급
- HP Enterprise 보안 서비스 SLA: 보안 이벤트 대응 시간 명시
- Verizon Business 인터넷 서비스 SLA: 네트워크 가용성 및 복구 시간 규정
- SLA 주요 조항
- 계약 범위 및 목적 정의
- 서비스 품질 목표 및 모니터링 방법 명시
- 예외 사항 및 책임 분담 규정
- 서비스 응답 시간 및 지원 방식
- 위반 시 보상 및 페널티 조건 포함