SLA
Service Level Agreement
산출물
서비스가 어느 수준으로 동작할지를 고객과 계약으로 못 박은 문서로, 못 지켰을 때의 보상까지 함께 적습니다.
등장 배경
도입 검토에서 안정적이라는 말로 답하던 시절에는 그 말이 검증되지 않았습니다. 파는 쪽은 진심으로 안정적이라고 믿고, 사는 쪽은 그 믿음을 확인할 방법이 없습니다. 지난 반년에 두 번 멈췄다는 사실은 물어봐야 나오고, 물어봐도 몇 분이었는지는 서로 기억이 다릅니다.
기업 고객의 구매 절차에서 이 문제가 드러났습니다. 계약 직전 검토 문서에는 가동률을 숫자로 적으라는 칸과 장애가 났을 때 무엇을 받는지 적으라는 칸이 있습니다. 두 칸이 비면 결재가 올라가지 않습니다. 수아가 좋은 제품이라고 설명해도 그 칸을 채우는 것은 설명이 아니라 문서입니다.
장애가 실제로 난 뒤에도 같은 문제가 남았습니다. 무엇을 위반으로 볼지 합의가 없으면 매번 다툽니다. 고객은 네 시간 동안 못 썼다고 하고 우리 쪽 기록에는 12분으로 남아 있습니다. 재는 방법과 판정 기준을 미리 적어 두지 않았기 때문입니다.
구성 항목
여섯 항목으로 이루어집니다. 순서는 회사마다 다르지만 빠지면 다툼이 생기는 항목은 정해져 있습니다.
- 대상 범위 — 어느 서비스의 어느 기능에 적용되는지 적습니다. 문서 편집과 저장은 포함하고 알림 메일 발송은 제외한다는 식입니다. 범위를 적지 않으면 제품 안의 모든 기능이 같은 약속을 받게 됩니다.
- 재는 지표와 계산식 — 서비스 품질을 재는 실제 지표인 SLI를 못 박습니다. 5분마다 확인해 응답이 성공으로 돌아온 비율로 잴지, 고객이 실제로 보낸 요청 가운데 성공한 비율로 잴지에 따라 같은 장애가 다른 숫자로 나옵니다. 누가 재는지도 함께 적습니다.
- 목표 수치 — 월 99.9퍼센트처럼 적습니다. 이 값은 허용되는 정지 시간으로 바꿔 읽어야 뜻이 잡힙니다. 한 달을 기준으로 99퍼센트는 7시간 18분, 99.9퍼센트는 43분, 99.99퍼센트는 4분입니다.
- 제외 조건 — 미리 알린 점검 시간, 고객 쪽 네트워크 문제, 고객이 상한을 넘겨 요청한 경우, 우리가 통제할 수 없는 사고를 적습니다. 이 항목이 없으면 예고된 점검 두 시간이 그대로 위반으로 계산됩니다.
- 위반 시 보상 — 대개 요금을 깎아 주는 형태입니다. 99.9퍼센트에 못 미치면 그 달 요금의 10퍼센트, 99.0퍼센트에 못 미치면 25퍼센트처럼 계단으로 적습니다. 총액은 그 달 요금을 넘지 않게 상한을 둡니다.
- 절차와 기한 — 고객이 며칠 안에 신청해야 하는지, 누가 판정하는지, 장애 보고서를 언제까지 주는지 적습니다.
숫자를 고를 때는 정지 시간으로 먼저 환산합니다. 99.99퍼센트는 한 달에 4분인데, 배포 한 번에 30초씩 멈추는 구조라면 그 약속은 여덟 번의 배포로 소진됩니다.
작성자와 독자
한 사람이 쓰는 문서가 아닙니다. 세 손이 필요합니다. 엔지니어링이 지킬 수 있는 수치를 정하고, 법무가 문장과 책임 범위를 다듬고, 세일즈가 어디까지 협상할지를 들고 옵니다. 순서가 뒤집히면 지킬 수 없는 숫자가 계약서에 들어갑니다. 협상 자리에서 99.99퍼센트를 약속하고 돌아와 엔지니어링에 통보하는 방식이 그렇습니다.
쓰기 전에 내부 목표를 먼저 정합니다. 지키기로 정한 품질 목표치인 SLO를 안쪽에 두고, 계약서에는 그보다 느슨한 값을 적습니다. 두 값을 같게 두면 내부 목표를 한 번 놓치는 순간 그대로 계약 위반이 됩니다. 목표를 지키면서 허용되는 실패의 여유분인 에러 버짓이 이 간격 안에서 계산됩니다.
읽는 쪽은 넷입니다. 고객사의 구매 담당자는 숫자와 보상 조항을 보고, 보안 검토 담당자는 제외 조건을 봅니다. 고객사 법무는 책임 상한을 보고, 우리 쪽 장애 대응 담당자는 정지 시간 계산식을 봅니다. 마지막이 자주 빠집니다. 계약서에 적힌 계산식과 우리가 감시하는 값이 다르면 장애가 났을 때 위반인지 아닌지를 판단할 수 없습니다.
문서를 주는 방식도 정해 둡니다. 대개 표준 문서를 만들어 두고 요금제별로 다른 값을 적습니다. 무료 플랜에는 이 문서를 주지 않고, 팀 플랜에는 표준본을, 기업 계약에서만 조항을 협상합니다.
실무 용례
"99.99는 못 적습니다. 배포할 때마다 30초씩 멈추는데요."
약속한 숫자를 정지 시간으로 환산해 보면 지킬 수 없다는 판단입니다.
"제외 조건에 예고된 점검을 넣어 주세요. 지금은 그것도 위반으로 잡힙니다."
빠진 항목 때문에 정상 작업이 위반이 된다는 지적입니다.
"이 고객사는 협상본이라 99.95예요. 표준본과 다릅니다."
계약마다 지켜야 할 값이 다를 수 있다는 확인입니다.
페이지덱에서는 태오가 지킬 수 있는 수치를 먼저 계산해 오고 규원이 문장과 책임 상한을 정합니다. 표준본은 월 99.9퍼센트이고 내부 목표는 99.95퍼센트로 더 높게 두었습니다. 수아가 기업 고객과 협상할 때 올릴 수 있는 상한을 99.95로 못 박아 두어서, 그 위를 요구하는 고객에게는 다른 조건으로 답합니다. 협상본 여섯 건은 계약별 약속값을 적은 표 하나에 모아 두고 장애가 날 때 그 표를 먼저 엽니다.
흔한 오해
99.9퍼센트면 거의 안 멈춘다고 읽는 경우가 가장 많습니다. 소수점이 붙은 높은 비율이 안정을 뜻하는 것처럼 보입니다. 하지만 한 달로 환산하면 43분이고, 이는 한 번의 장애로 다 쓰이는 양입니다. 데이터베이스를 옮기다 30분 멈추면 그 달의 여유는 13분만 남습니다. 숫자를 비율로만 보고 있으면 남은 여유를 모른 채 배포를 이어 가다 월말에 위반에 닿습니다. 실무에서는 비율 대신 남은 분으로 관리합니다.
문서를 잘 쓰면 신뢰가 생긴다고 읽는 것도 흔합니다. 계약서에 높은 숫자와 두터운 보상을 적으면 고객이 안심할 것처럼 보입니다. 그런데 보상은 대개 그 달 요금의 일부이고, 고객이 장애로 잃은 것은 그보다 큽니다. 요금 10퍼센트를 돌려받은 고객이 만족한 상태로 남는 일은 드뭅니다. 이 문서가 하는 일은 최소선을 적어 구매 절차를 통과하게 만드는 것까지이고, 신뢰는 그 숫자를 열두 달 지킨 기록에서 생깁니다. 그래서 숫자를 올리는 협상보다 지킨 기록을 보여 주는 쪽이 재계약에서 더 크게 작동합니다.
자주 헷갈리는 용어
같이 보면 좋은 페이지
연관 용어
마지막 업데이트 2026-09-26