SLA SLO SLI 차이 (서비스 상태, 목표, 약속)
API 운영에서 SLA, SLO, SLI는 서비스 신뢰성을 정의하는 핵심 개념입니다. 그러나 많은 경우 이 세 가지를 혼동하거나, 단순히 동일한 의미로 사용하는 경우가 많습니다. SLA, SLO, SLI — 세 단어가 다 똑같아 보인다고 느끼신 적 있으신가요? API 운영을 처음 맡았을 때 팀장이 "SLO부터 잡아"라고 했는데, 속으로 'SLA랑 뭐가 다르지?'라고 생각했던 기억이 납니다. 실제로는 각각의 역할과 목적이 명확히 구분되며, 이를 제대로 이해해야 안정적인 서비스 운영이 가능합니다. 이 글에서는 SLA, SLO, SLI의 차이를 구조적으로 정리하고, 실무에서 어떻게 활용해야 하는지 설명합니다. SLI, 숫자로 말하는 서비스 상태 SLI(Service Level Indicator)는 서비스 신뢰성을 측정하는 가장 기초 단위입니다. 쉽게 말해 "지금 시스템이 얼마나 잘 돌아가고 있냐"를 수치로 뽑아낸 것입니다. 응답 시간(Response Time), 에러율(Error Rate), 가용성(Availability) 같은 지표들이 여기 해당합니다. SLI를 그냥 '모니터링 수치' 정도로 여겼습니다. 그런데 그게 아니었습니다. SLI는 이후 SLO와 SLA를 설계하는 토대가 되기 때문에, 어떤 지표를 선택하느냐 자체가 서비스 신뢰성 전략의 시작점입니다. 잘못된 SLI를 잡으면 아무리 좋은 목표를 세워도 의미가 없어집니다. 가용성(Availability)이란 전체 시간 중 시스템이 정상적으로 작동한 시간의 비율을 뜻합니다. 예를 들어 99.9% 가용성이라면 한 달 기준 약 43분 정도의 다운타임이 허용된다는 의미입니다. 에러율(Error Rate)은 전체 요청 중 오류가 반환된 비율로, API 안정성을 판단하는 핵심 SLI 중 하나입니다. 일반적으로 SLI는 많으면 많을수록 좋다고 생각하는 분들도 있는데, 저는 오히려 반대 경험을 했습니다. 지표를 10개씩 잡아놨더니 정작 중요한...