SLIs, SLOs & Error Budgets
시스템의 신뢰성을 수치화하는 지표들과, 비즈니스 가치와 엔지니어링 속도 사이의 물리적 균형을 맞추는 오류 예산 물리학을 다루는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts6 min read
1. Overview
신뢰성 지표 및 오류 예산(SLIs, SLOs & Error Budgets, SSE)은 "시스템이 완벽해야 한다"는 불가능한 열망을 버리고, 사용자가 만족할 수 있는 실질적인 서비스 수준을 수리적으로 정의하여 혁신의 속도를 조절하는 분산 시스템의 경제학입니다.
학습자는 서비스의 상태를 측정하는 구체적인 수치인 **서비스 수준 척도(SLI)**와, 이를 바탕으로 설정한 목표치인 **서비스 수준 목표(SLO)**의 수리적 사상을 배웁니다. 특히, SLO를 지키고 남은 '실패의 허용량'인 **오류 예산(Error Budget)**의 물리적 가동 원리와, 예산 소진 시 하드웨어 변경을 멈추고 신뢰성에 집중하는 의사결정 구조를 익힙니다. 이를 통해 막연한 안정성이 아닌, 데이터에 기반하여 '얼마나 위험을 감수할지'를 정교하게 설계하는 하이엔드 SRE 역량을 확보합니다.
2. Scope & Boundaries
In-Scope
- SLI Definitions: 가용성, 지연 시간(Latency), 처리량, 품질 등 물리적 측정 지표 수립
- SLO Modeling: 사용자 경험과 하드웨어 성능 사이의 합리적 수치 목표(99.9% 등) 설정
- Error Budget Mechanics: 공식을 통한 실패 허용량의 물리적 할당
- Compliance Period: 일간, 주간, 월간 단위의 지표 집계 및 수리적 평가 주기
- Consequence Dynamics: 오류 예산 소진 시 실행되는 정책(Freeze 등)의 운영 물리학
Out-of-Scope
- 모니터링 대시보드(Grafana 등)의 UI 위젯 설정 상세 (07-05-02 영역에서 분담)
- 구체적인 서버 성능 튜닝 코드 (09-02-XX 영역으로 위임)
Boundaries
- SSE vs. Monitoring: 모니터링(07-05-02)이 '무슨 일이 일어나는가'를 보는 눈이라면, SSE는 '그 일이 비즈니스적으로 허용 가능한가'를 판단하는 수리적 뇌로서 구분합니다.
3. Counterexample
- 단순히 "UP/DOWN 확인하기"라 설명하는 것은 SSE 학습이 아닙니다. 왜 **가용성 99%**와 99.99% 사이의 물리적 인프라 비용 격차가 지수적으로 발생하는지 수리 증명할 수 있어야 하며, 오류 예산이 남아있을 때 왜 의도적으로 장애를 내거나(Chaos) 배포 속도를 높이는 것이 하드웨어 최적화에 도움이 되는지 논증하지 못한다면 SSE의 철학을 이해하지 못한 것입니다.
4. Prerequisites
- Reliability Engineering & SRE Fundamentals (Basic): SRE의 기본 철학 이해가 필수입니다. (07-00-XX 기반 역량)
- Probability & Statistics (Recommended): 백분위수(Percentile)와 가득성 통계 이해가 권장됩니다. (04-03-02 PDS)
5. Learning Map
- Measuring Reality: 시스템이 내뱉는 수많은 로그 중 '고객의 고통'을 나타내는 물리적 지표(SLI)를 고릅니다.
- The Happiness Line: 고객이 화를 내기 직전의 최소 성능 수치(SLO)를 수리적으로 확정합니다.
- The Freedom of Failure: SLO를 만족하고 남은 여유 공간(Error Budget)을 물리적으로 계산합니다.
- Governing Speed: 남은 예산에 따라 하드웨어 배포의 가속 페달을 밟거나 브레이크를 거는 자동화된 제어 물리를 완성합니다.
6. Learning Topics
Basic
Core: SLI 지표의 물리적 선정 (Choosing SLIs)
- Why to Learn: 의미 없는 수천 개의 지표에 매몰되지 않고, 서비스의 생사를 결정짓는 핵심 물리량을 찾기 위해서입니다.
- What to Learn:
- Request-driven SLIs: 가용성(성공/전체), 지연 시간(), 처리량 측정
- Storage SLIs: 지연 시간, 사용량, 데이터 정합성 수치
- Pipeline SLIs: 데이터 처리량, 경과 시간()
- How to Learn:
- API 게이트웨이 로그를 분석하여 '200 OK' 비율과 '500 Error' 비율을 수리적으로 추출하는 실습
- 사용자 도메인별(로그인 vs 검색)로 어떤 물리 지표가 최우선인지 분류
- Implement: 특정 API의 에러율과 95분위수 응답 시간을 계산하여 출력하는
MetricAggregator
Recommended
Core: SLO 수치 모델링과 정당성 (Setting SLOs)
- Why to Learn: 하드웨어 가용성 1%를 높이기 위한 막대한 비용 지출이 비즈니스적으로 타당한지 수리 분석하기 위함입니다.
- What to Learn:
- The Rule of Nines: 99.9% 와 99.99%가 의미하는 물리적 가동 중단 시간의 격차
- User Expectation: 시스템의 한계가 아닌, 사용자가 느끼는 '충분함'의 수리적 정의
- Error Window: 지표를 평가할 물리적 관찰 창(Window) 설정
- How to Learn:
- 99.9% SLO 설정 시, 한 달간 허용되는 물리적 다운타임이 43분임을 수리 산출하는 실습
- 과거 장애 데이터를 바탕으로 현재 시스템 사양이 달성 가능한 최선의 SLO 도출
- Implement: 현재 가용성 수치가 설정한 SLO를 위반(Violation)했는지 판별하는
ComplianceChecker
Practical
Core: 오류 예산의 물리적 운영 (Error Budget Dynamics)
- Why to Learn: "장애는 피할 수 없다"는 전제하에 안정성과 변화 속도의 물리적 마찰을 해소하기 위해서입니다.
- What to Learn:
- Budget Calculation: 로 산출된 물리적 '실패 통장'
- Burn Rate: 예산이 얼마나 빨리 소모되고 있는지 나타내는 수리적 기울기
- Incident Impact: 특정 장애가 오류 예산의 몇 %를 물리적으로 깎아먹었는지 산출
- How to Learn:
- 10분간의 전면 장애 발생 시, 월간 오류 예산의 소진율을 계산하고 남은 배포 가능 횟수 예측 실습
- 예산 소진 속도에 따른 자동 경고(Alert) 임계치 설정
- Implement: 장애 발생 시간과 트래픽을 입력하면 삭감될 오류 예산을 계산해주는
BudgetManager
Advanced
Core: 신뢰성 기반 의사결정과 거버넌스 (SRE Governance)
- Why to Learn: 데이터가 시키는 대로 조직의 하드웨어 운영 정책을 강제하여 인적 오류를 최소화하기 위함입니다.
- What to Learn:
- Error Budget Policy: 예산 소진 시 배포 중단(Freeze) 및 안정성 작업 강제 수순
- Silver Bullet Fallacy: 과도한 SLO(100%)가 하드웨어 발전을 가로막는 물리적 역설
- Shared Responsibility: 개발과 운영이 같은 지표(SLO)를 바라보는 수리적 협업 구조
- How to Learn:
- 오류 예산이 넉넉할 때 실험적인 기술(Experimental Tech)을 물리 인프라에 적용하는 시나리오 실습
- SLO를 달성하지 못했을 때 수행하는 '근본 원인 분석(RCA)'과 오류 예산 복구 절차 분석
- Implement: 모든 서비스의 예산 상태를 집계하여 배포 가부를 판단(Gate)하는
ReliabilityDashboard기획
7. Terminology
8. References
Primary
- [P2] SWEBOK v4.0 - Software Maintenance / Maintenance Measurement (Reliability metrics) — Structural context.
- [P5] SFIA v9 - Quality and Management (Service level management) — Competency requirements.
Secondary
- [Site Reliability Engineering (SRE Book)] Google — Chapters on SLIs, SLOs, and Error Budgets.
- [The Site Reliability Workbook] Google — Practical guide to SLO implementation.
Industry
- [Google Cloud: Art of SLOs] — Hands-on modeling framework.
- [Datadog: Guide to SLOs and Error Budgets] — Tooling perspective.
9. Final Checklist
Primary
- '가용성'을 측정하는 SLI 수식()이 왜 하드웨어의 단순 생존()보다 정확한지 설명 가능한가? (P2)
- 'SLO' 설정을 통해 시스템의 '오버 엔지니어링'을 방어하고 인프라 비용을 절감하는 수리적 원리를 기술할 수 있는 가? (P5)
Secondary
- '오류 예산'이 남아있음에도 불구하고 개발 속도를 늦추는 행위가 왜 물리적 리소스 낭비가 되는지 소통 가능한가?
- **번 레이트(Burn Rate)**가 급격히 상승했을 때, 장애 상황실에서 취해야 할 물리적 대응 우선순위를 논증할 수 있는 가?
Industry
- 대규모 분산 시스템 설계 시, 지연 시간() SLO를 '평균'이 아닌 '99분위수()'로 설정해야 하는 수리적 필연성을 제안할 수 있는 가? (SFIA)
- 서비스 운영 중 '오류 예산 소진' 정책이 개발팀의 배포 자유도에 미치는 물리적 영향을 분석할 수 있는 가?