Error Budget의 정의와 계산 원리
Error Budget는 'SLO에서 100%를 뺀 값'으로 정의됩니다. 예를 들어, 99.9% 가용성 SLO를 목표로 하는 서비스의 Error Budget은 0.1%입니다. 측정 기간(보통 30일 롤링 윈도우) 내에 수용 가능한 오류율을 시간, 요청 수, 또는 성능 지표로 변환하여 추적됩니다. 100만 개의 요청을 받는 서비스라면 99.9% SLO는 1,000건의 허용 가능한 오류 개수로 변환됩니다.
팀 간 긴장 완화 메커니즘
제품 개발팀과 SRE팀은 서로 다른 목표를 추구합니다. 개발팀은 신기능 배포 빈도(Velocity)를 중시하고, SRE팀은 안정성을 우선합니다. Error Budget은 이 두 그룹의 동기를 통일하는 객관적 지표 역할을 하며, Error Budget이 충분할 때는 개발팀이 신속하게 배포할 수 있고, Budget이 소진되기 시작하면 팀 전체가 안정성에 집중해야 한다는 점에 동의합니다.
실무 적용: Burn Rate와 정책 실행
Google SRE의 권장사항에 따르면, Burn Rate(현재 오류율을 허용 오류율로 나눈 값)를 기준으로 다단계 알림을 설정합니다. 14.4배 이상의 burn rate가 1시간 이상 지속되면 긴급 호출, 6배 이상이 6시간 지속되면 이슈 생성하는 방식입니다. Error Budget이 고갈되면 P0 보안 패치를 제외한 모든 배포를 중단하고 안정성 개선에 집중합니다.