SLI SLO SLA
비교표
| 구분 |
정의 |
목적 |
설정 주체 |
법적 구속력 |
예시 |
| SLA (서비스 수준 계약) |
고객과의 서비스 품질 보장 계약 |
신뢰 구축 및 품질 보장 |
제공자 & 고객 |
있음 |
"99.9% 가용성, 위반 시 |
| SLI (서비스 수준 지표) |
서비스 성능을 측정하는 지표 |
서비스 품질을 정량적으로 평가 |
제공자 (운영팀) |
없음 |
"응답 시간 200ms |
| SLO (서비스 수준 목표) |
내부적으로 설정한 성능 목표 |
SLA 충족 및 운영 기준 제공 |
제공자 (운영팀) |
없음 |
"가용성 99.95% 유지" |
- SLA는 고객과의 약속이며, 법적 구속력이 있음.
- SLO는 운영팀이 서비스 품질을 유지하기 위해 설정한 내부 목표.
- SLI는 SLO와 SLA를 측정하기 위한 실제 수치.
SLI (Service Level Indicator) – 측정 지표 설정
SLI는 서비스 품질을 객관적으로 측정할 수 있어야 한다
| 유형 |
설명 |
예시 |
| 가용성(Availability) |
특정 기간 동안 서비스가 정상적으로 운영되는 비율 |
99.95% 이상의 가용성 |
| 응답 시간(Response Time) |
요청이 처리되는 속도 |
200ms 이하인 요청 비율 |
| 오류율(Error Rate) |
실패한 요청 비율 |
0.01% 이하 |
| 처리량(Throughput) |
초당 처리 가능한 요청 수 |
초당 1,000 RPS 이상 |
| 지연율(Latency) |
응답 시간이 특정 임계값을 초과한 요청 비율 |
99%의 요청이 500ms 이하 |
SLO (Service Level Objective) – 현실적인 목표 설정
- SLO는 너무 낮으면 SLA를 충족하더라도 고객 만족도가 낮아지고 높으면 운영 부담이 커진다.
- 일반적인 설정 방식: SLO = SLA보다 조금 더 높은 목표치
예) SLA: 99.9%, SLO: 99.95%
- 실제 SLI 데이터 분석을 통해 SLO 설정
예) 응답 시간 200ms 이내가 98%라면, SLO를 99%로 설정하여 점진적 개선 유도
SLA (Service Level Agreement) – 고객과 계약하는 수치
- SLA는 고객과의 계약이므로 지킬 수 있는 값이어야 한다.
- 일반적인 SLA 예시: 가용성: 99.9% 이상 (월간 다운타임 약 43분)
- 응답 시간: 95%의 요청이 300ms 이하
- 보상 정책: SLA 미준수 시 크레딧 또는 환불 제공
SLA, SLI, SLO 설정 예시
| 유형 |
SLA |
SLO |
SLI |
| 가용성 |
99.9% 이상 |
99.95% 이상 |
실제 서비스 가동 시간 비율 |
| 응답 시간 |
95% 요청이 300ms 이하 |
99% 요청이 200ms 이하 |
요청당 평균 응답 시간 |
| 오류율 |
0.1% 이하 |
0.05% 이하 |
HTTP 5xx 응답 비율 |
SLA는 고객과의 계약이므로 보수적으로 설정하고, SLO는 SLA보다 높은 목표를 설정하여 내부적으로 유지할 수 있도록 한다.
- SLI는 실제 성능을 측정하는 수치
- SLO는 서비스 품질을 유지하기 위한 운영 목표
- SLA는 고객과의 계약으로 반드시 지켜야 하는 약속
graph TD;
A(SLA - 고객과의 계약) -->|기준| B(SLO - 내부 목표)
B -->|측정 지표| C(SLI - 성능 측정)
C -->|예시: 가용성, 응답시간, 오류율| D(데이터 수집 및 분석)
D -->|모니터링| E(서비스 품질 개선)