Error Budget의 정의
Error Budget(에러 버짓)은 서비스가 허용할 수 있는 ‘실패의 총량’을 수치로 정의한 개념입니다. Google의 SRE(Site Reliability Engineering) 조직에서 제안한 개념으로, 서비스의 신뢰성 목표인 SLO(Service Level Objective)를 100%가 아닌 예를 들어 99.9%로 설정했을 때, 나머지 0.1%가 바로 Error Budget이 됩니다.
즉 한 달 동안 서비스가 99.9%의 가용성을 유지해야 한다면, 남은 0.1%만큼은 장애가 발생해도 괜찮다는 뜻입니다. 이 0.1%를 시간으로 환산하면 한 달에 약 43분 정도의 장애 시간이 ‘예산’으로 주어지는 셈입니다.
동작 원리와 예시
Error Budget은 마치 회사의 법인카드 한도와 비슷합니다. 한 달에 쓸 수 있는 한도가 정해져 있고, 그 안에서는 자유롭게 지출(배포와 실험)을 할 수 있지만, 한도를 초과하면 지출을 멈추고 관리에 들어가야 하는 것과 같은 원리입니다.
실제 운영에서는 다음과 같은 방식으로 활용됩니다.
- Error Budget이 충분히 남아있다면, 개발팀은 새로운 기능을 빠르게 배포하고 실험적인 시도를 할 수 있습니다.
- Error Budget을 다 소진했다면, 신규 배포를 잠시 중단하고 안정성 개선과 장애 원인 분석에 집중합니다.
- 이 기준은 팀 간의 감정적인 논쟁(‘왜 이렇게 자주 배포하냐’, ‘왜 이렇게 느리게 배포하냐’)을 데이터 기반의 객관적 판단으로 바꿔줍니다.
예를 들어 SLO가 99.9%인 API 서버가 이번 주에 이미 예산의 90%를 소진했다면, 팀은 자연스럽게 새로운 배포보다는 로그 분석과 알림 개선에 우선순위를 둘 수 있습니다.
실무에서 왜 중요한가
Error Budget이 없다면 ‘무조건 장애는 0%여야 한다’는 비현실적인 목표에 갇히기 쉽습니다. 하지만 100% 무결점을 추구하면 배포 속도는 극단적으로 느려지고, 혁신은 멈추게 됩니다. 반대로 안정성을 아예 고려하지 않으면 서비스 신뢰도가 무너집니다.
Error Budget은 이 두 가지 목표, 즉 ‘빠른 배포’와 ‘안정적인 운영’ 사이에서 합리적인 기준점을 제공합니다. 개발팀과 운영팀이 같은 숫자를 보고 의사결정을 내릴 수 있다는 점에서, 조직 문화 차원에서도 매우 실용적인 도구라 할 수 있습니다.