콘텐츠로 바로가기

SLO, SLI & Error Budget Physics

서비스의 신뢰도를 수치적 지표(SLI)와 목표(SLO)로 정의하고, 허용 가능한 실패의 양인 에러 예산을 통해 혁신과 안정의 물리적 균형을 맞추는 SRE 핵심 물리학을 다룹니다.

sys.entry
M

Me

hyunyoun's Blog

posts7 min read

1. Overview

SLO, SLI 및 에러 예산 물리학(SLO, SLI & Error Budget Physics, SEB)은 "사용자에게 시스템이 얼마나 신뢰할 만한가?"라는 추상적 질문을 차가운 수리적 공식으로 변환하고, '완벽(100%)'이라는 불가능한 물리적 목표 대신 '허용된 실패'라는 자원을 경영하는 '신뢰도 거버넌스' 공학입니다.

학습자는 무엇을 측정할 것인지 결정하는 **SLI (Service Level Indicator)**와, 어느 수치까지 보장할 것인지 정의하는 **SLO (Service Level Objective)**의 수리적 결합을 배웁니다. 특히, SLO를 초과 달성하며 남은 '실패의 여유분'을 공격적인 배포와 실험에 투자하는 **에러 예산(Error Budget)**의 물리적 가중치를 익힙니다. 이를 통해 개발팀의 혁신 속도와 운영팀의 안정성 갈망 사이의 물리적 충돌을 수치적인 데이터로 중재하는 하이엔드 SRE 역량을 확보합니다.

2. Scope & Boundaries

In-Scope

  • SLI Identification: 가용성, 지연 시간, 처리량 등 핵심 물리 지표 선정 수순
  • SLO Modeling: 99.9% (Three-Nines) 등이 의미하는 물리적 시간 및 실패 횟수 환산
  • Error Budget Consumption: 장애 발생 및 배포 시 예산이 수치적으로 깎이는 물리 기제
  • Consequence of Breach: 예산 소진 시 배포 동결 등 물리적 통제 정책 설계
  • User Happiness Mapping: 지표의 수치가 실제 사용자의 심리적 만족도와 일치하는지 수리 검증

Out-of-Scope

  • 실제 장애 조치를 위한 트러블슈팅 상세 기술 (10-XX-XX 영역에서 분담)
  • 비즈니스 수준의 법적 계약인 SLA (Service Level Agreement) 작성 법무 (Legal 영역으로 위임)

Boundaries

  • SEB vs. OTP: OTP(09-04-01)가 '데이터를 뽑아내는 기술'에 집중한다면, SEB는 그 뽑아낸 데이터를 '어떤 수치로 관리하여 시스템 안정성을 통제할 것인가'라는 정책 물리에 집중하여 구분합니다.

3. Counterexample

  • 단순히 "가용성 99.9% 목표 잡기"라 설명하는 것은 SEB 학습이 아닙니다. 왜 100% 가용성 목표가 하드웨어 관점에서 물리적으로 불가능하며 기회비용을 수리적으로 낭비하는지 증명할 수 있어야 하며, 에러 예산이 남아있음에도 불구하고 배포를 주저하는 행위가 조직의 물리적 생산성(VelocityVelocity)을 어떻게 수치적으로 감쇄시키는지 논증하지 못한다면 SEB의 본질을 이해하지 못한 것입니다.

4. Prerequisites

  • Observability & Telemetry Physics (Basic): 09-04-01의 메트릭 및 지계열 데이터 이해가 필수입니다.
  • Computing Logic & Fundamental Math (Recommended): 01-01-XX의 확률 및 통계 기초 이해가 권장됩니다.

5. Learning Map

  1. The Pulse of System: 시스템이 살아있음을 증명하는 가장 핵심적인 수치(SLI)를 고릅니다.
  2. Commitment to Quality: 사용자에게 약속할 수 있는 정직하고 견고한 목표 수치(SLO)를 수립합니다.
  3. Budgeting Failure: 실패를 자산으로 취급하여, 실험을 위해 낭비해도 되는 '에러 예산'을 계산합니다.
  4. Data-driven Truce: 숫자와 예산의 통제 아래 개발과 운영이 기계적으로 화해하는 고차원 거버넌스를 완성합니다.

6. Learning Topics

Basic

Core: SLI, SLO의 정의와 수치 환산 (Metrics to Commitments)

  • Why to Learn: "서버 괜찮아요"라는 주관적 판단을 "가용성 99.9%입니다"라는 하드웨어적 진실로 바꾸기 위해서입니다.
  • What to Learn:
    • SLI (Service Level Indicator): 좋은 이벤트 수 / 전체 이벤트 수의 수리적 공식
    • SLO (Service Level Objective): 특정 기간(28일 등) 동안 달성해야 할 SLI 하한선
    • Downtime Math: 99.9%가 1개월에 허용하는 물리적 장애 시간(43분) 계산법
  • How to Learn:
    • 현재 운영 중인 웹 서비스의 1주일치 로그를 분석하여, 성공 응답률을 SLI 공식으로 결과값 도출 실습
    • 목표치를 '9' 하나 더 늘릴 때(99.9% -> 99.99%) 하드웨어 복구 시간(MTTRMTTR)이 얼마나 줄어야 하는지 수치적 고통 체감
  • Implement: 성공/실패 요청 수를 넣으면 현재 SLI 수치를 실시간 계산하는 SLICalculator

Core: 에러 예산과 혁신 자산화 (Error Budget Physics)

  • Why to Learn: 시스템 안정성을 해치지 않으면서도 최대한 빠르게 기능을 배포하는 물리적 경계선을 찾기 위함입니다.
  • What to Learn:
    • Budget Calculation: 100 - SLO로 산출되는 실패 허용 비중
    • Consumption Rate: 장애 상황 발생 시 예산이 줄어드는 속도의 물리적 감시
    • Burn Rate: 특정 시점에 평소보다 예산을 얼마나 빨리 '태우고' 있는지의 수치적 지표
  • How to Learn:
    • 가상의 에러 예산 100점을 설정하고, 배포 1회당 10점, 장애 1분당 5점을 물리적으로 차감하는 게임 시뮬레이션 실습
    • 번레이트(BurnRateBurn Rate)가 기준치를 넘었을 때 자동으로 경고 메일을 발송하는 수리적 로직 설계
  • Implement: 예산 소진 속도를 분석하여 프로젝트 '안전 운행 기간'을 예측하는 BudgetForecaster

Practical

Core: 사용자 만족도 기반 지표 설계 (Customer-centric SLIs)

  • Why to Learn: 서버는 멀쩡한데(SLO 통과) 사용자는 불편해하는(품질 저하) 수리적 괴리를 해결하기 위해서입니다.
  • What to Learn:
    • Critical User Journeys: 사용자가 가치를 느끼는 물리적 행동 경로 식별
    • Window Periods: 통계적 오류를 줄이기 위한 적절한 측정 기간(Rolling Window) 설정
    • Counter-metrics: 가용성 확보를 위해 지연 속도를 희생하는 등의 물리적 트레이드오프 분석
  • How to Learn:
    • "로그인 성공률"과 "장바구니 결제 성공률" 중 어떤 SLI가 비즈니스 가치에 더 수치적으로 기여하는지 가중치 결정 실습
    • 실제 사용자의 체감 속도를 반영하기 위해 브라우저 단의 텔레메트리 값을 SLI에 수리적으로 합산하는 훈련
  • Implement: 중요도에 따라 SLI들을 점수화하여 '종합 건강 지수'를 내는 HealthScoreCard

Advanced

Core: 예산 소진 정책과 거버넌스 (Policy Enforcement)

  • Why to Learn: 숫자가 약속한 대로 시스템이 강제 작동하게 하여 감정 섞인 비난을 물리적으로 근절하기 위함입니다.
  • What to Learn:
    • Policy Automation: 예산 전액 소진 시 배포 파이프라인을 수리적으로 잠그는 법
    • Error Budget Policy: 예산 복구 전까지 수행해야 할 Post-mortem 및 개선 작업 수순
    • Multi-burn-rate Alerts: 작은 장애와 큰 폭발을 구별하여 물리적 대응 우선순위 결정
  • How to Learn:
    • CI/CD 파이프라인에 API를 연동하여, 대시보드의 에러 예산이 0일 때 'Deploy' 버튼을 물리적으로 비활성화하는 환경 구축 실습
    • 과거 1년치 장애 데이터와 배포 빈도를 대조하여 '최적의 SLO' 수치를 도출하는 데이터 통계 연구
  • Implement: 예산 소진 상황에 따라 자동으로 팀의 업무 모드(Innovation vs. Fix)를 전환 공지하는 GovBot

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
SLI 서비스 품질의 특정 측면을 측정하기 위한 수리적 척도로, 주로 성공률이나 속도 등을 계산합니다. 기본 정량 지표 Metric / Success SLO 메트릭 전체와 다름 Industry core
SLO 특정 기간 동안 달성해야 할 SLI의 수리적 목표치로, 시스템 안정성의 준거점이 됩니다. 추천 계약/약속 SLI / Agreement Error Budget 100%는 지양함 Industry core
Error Budget SLO에 의해 정의된 허용 가능한 최대 실패의 양으로, 혁신을 위한 물리적 자산입니다. 실무 리스크 제어 Burn Rate / Risk Velocity 남으면 버리는 점수 아님 Industry core
Burn Rate 에러 예산이 소모되는 속도를 나타내며, 대규모 장애를 조기에 식별하는 수리적 기준이 됩니다. 심화 긴급 분석 Threshold / Alert Duration 단순히 '에러수' 아님 Industry core

8. References

Primary

Secondary

  • [Site Reliability Engineering (The SRE Book)] Niall Richard Murphy — Chapters on SLOs and Error Budgets.
  • [The Site Reliability Workbook] — Implementation patterns for SEB.

Industry

  • [Google Cloud: Art of SLOs] — Definitive guide for building SEB frameworks.
  • [Coursera: SRE - Measuring Reliability] — Practical calculation methods.

9. Final Checklist

Primary

  • 'SLI'가 100%임에도 사용자가 불만을 느끼는 상황을 물리적 가시성 사각지대의 관점에서 설명 가능한가? (P2)
  • 'SLO' 수치가 비즈니스 수익성과 하드웨어 운영 비용 사이에서 갖는 수리적 균형점을 기술할 수 있는 가? (P2)

Secondary

  • '에러 예산' 정책이 '무책임한 배포'를 막는 물리적 방어 기제로 작동하는 과정을 논리적으로 소통 가능한가?
  • **번레이트(Burn Rate)**가 급격히 상승할 때, 즉각 대응(ReactionReaction)에 필요한 수리적 임계치 도출 과정을 논증할 수 있는 가?

Industry

  • 실무 조직에서 개발팀과 운영팀의 KPI를 '에러 예산'이라는 단일 수치로 어떻게 물리적 통합을 이룰지 제안할 수 있는 가? (SFIA)
  • 에러 예산 소진 정책을 우회해야 하는 '긴급 패치(Critical Security Fix)'의 예외 수리 모델을 분석할 수 있는 가?