Phase 5레슨 25
SLO / SLA / Error Budget
SLI, SLO, SLA, Error Budget — 신뢰성을 수치로 관리하는 법
💡ELI5·
예산과 신뢰성
SLI (측정) → SLO (목표) → SLA (계약)
가동률 99.9% 크레딧 지급
Error Budget = 100% - SLO = 0.1%
한 달(43200분) × 0.1% = 43.2분
예산 사용 중:
→ 새 기능 출시 OK (리스크 감수)
예산 소진:
→ 신기능 동결, 안정성 작업 우선💡 비유 — 월 용돈(Error Budget). 예산이 있으면 외식(새 기능)을 할 수 있다. 예산을 다 쓰면 외식을 멈추고 저축(안정성 작업)에 집중해야 한다. SRE는 가계부 관리자.
🔬Deep Dive·
SLO 설정 예시
| 서비스 | 가용성 SLO | 지연 SLO | SLA (고객 계약) |
|---|---|---|---|
| 검색 | 99.9% | 99% < 200ms | 99.5% (더 여유) |
| 결제 | 99.95% | 99% < 500ms | 99.9% 크레딧 10% |
| 스트리밍 | 99.9% | 95% < 2s 시작 | 99.5% 크레딧 5% |
| 내부 배치 | 99% | N/A | N/A (내부) |
SLA는 SLO보다 여유롭게 설정한다. SLO 99.9% → SLA 99.5%. SLO 위반이 곧 SLA 위반이 되면 크레딧 지급이 빈번해진다.
🔬Deep Dive·
Error Budget 정책
| 예산 상태 | 정책 |
|---|---|
| 예산 여유 > 50% | 새 기능 적극 출시, 위험 감수 |
| 예산 여유 25-50% | 신중한 출시, 카나리 배포 |
| 예산 여유 < 25% | 신기능 동결, 안정성 작업 우선 |
| 예산 소진 | 모든 신기능 동결, 장애 원인 분석 + 해결 |
⚖️Trade-off·
신뢰성 vs 혁신
| 높은 SLO (99.99%) | 낮은 SLO (99%) |
|---|---|
| 사용자 신뢰 높음 | 혁신 속도 빠름 |
| 비용 매우 높음 (이중화, 복제) | 비용 낮음 |
| 새 기능 출시 느림 | 장애 빈번 |
| 결제, 의료 등에 적합 | 내부 도구, 실험 서비스에 적합 |
SLO는 비즈니스 요구사항에 따라 결정한다. 모든 서비스를 99.99%로 만드는 것은 비용 낭비다.
❓ 체크포인트 질문
- 1.SLI, SLO, SLA의 관계는?
- 2.Error Budget이 무엇이고 왜 유용한가?
- 3.SLO가 99.9%일 때 한 달 허용 장애 시간은?
- 4.SLO를 100%로 설정하면 안 되는 이유는?
- 5.지연 기반 SLO와 가용성 기반 SLO의 차이는?