SLA

Service Level Agreement

산출물

서비스가 어느 수준으로 동작할지를 고객과 계약으로 못 박은 문서로, 못 지켰을 때의 보상까지 함께 적습니다.

등장 배경

도입 검토에서 안정적이라는 말로 답하던 시절에는 그 말이 검증되지 않았습니다. 파는 쪽은 진심으로 안정적이라고 믿고, 사는 쪽은 그 믿음을 확인할 방법이 없습니다. 지난 반년에 두 번 멈췄다는 사실은 물어봐야 나오고, 물어봐도 몇 분이었는지는 서로 기억이 다릅니다.

기업 고객의 구매 절차에서 이 문제가 드러났습니다. 계약 직전 검토 문서에는 가동률을 숫자로 적으라는 칸과 장애가 났을 때 무엇을 받는지 적으라는 칸이 있습니다. 두 칸이 비면 결재가 올라가지 않습니다. 수아가 좋은 제품이라고 설명해도 그 칸을 채우는 것은 설명이 아니라 문서입니다.

장애가 실제로 난 뒤에도 같은 문제가 남았습니다. 무엇을 위반으로 볼지 합의가 없으면 매번 다툽니다. 고객은 네 시간 동안 못 썼다고 하고 우리 쪽 기록에는 12분으로 남아 있습니다. 재는 방법과 판정 기준을 미리 적어 두지 않았기 때문입니다.

구성 항목

여섯 항목으로 이루어집니다. 순서는 회사마다 다르지만 빠지면 다툼이 생기는 항목은 정해져 있습니다.

  1. 대상 범위 — 어느 서비스의 어느 기능에 적용되는지 적습니다. 문서 편집과 저장은 포함하고 알림 메일 발송은 제외한다는 식입니다. 범위를 적지 않으면 제품 안의 모든 기능이 같은 약속을 받게 됩니다.
  2. 재는 지표와 계산식 — 서비스 품질을 재는 실제 지표인 SLI를 못 박습니다. 5분마다 확인해 응답이 성공으로 돌아온 비율로 잴지, 고객이 실제로 보낸 요청 가운데 성공한 비율로 잴지에 따라 같은 장애가 다른 숫자로 나옵니다. 누가 재는지도 함께 적습니다.
  3. 목표 수치 — 월 99.9퍼센트처럼 적습니다. 이 값은 허용되는 정지 시간으로 바꿔 읽어야 뜻이 잡힙니다. 한 달을 기준으로 99퍼센트는 7시간 18분, 99.9퍼센트는 43분, 99.99퍼센트는 4분입니다.
  4. 제외 조건 — 미리 알린 점검 시간, 고객 쪽 네트워크 문제, 고객이 상한을 넘겨 요청한 경우, 우리가 통제할 수 없는 사고를 적습니다. 이 항목이 없으면 예고된 점검 두 시간이 그대로 위반으로 계산됩니다.
  5. 위반 시 보상 — 대개 요금을 깎아 주는 형태입니다. 99.9퍼센트에 못 미치면 그 달 요금의 10퍼센트, 99.0퍼센트에 못 미치면 25퍼센트처럼 계단으로 적습니다. 총액은 그 달 요금을 넘지 않게 상한을 둡니다.
  6. 절차와 기한 — 고객이 며칠 안에 신청해야 하는지, 누가 판정하는지, 장애 보고서를 언제까지 주는지 적습니다.

숫자를 고를 때는 정지 시간으로 먼저 환산합니다. 99.99퍼센트는 한 달에 4분인데, 배포 한 번에 30초씩 멈추는 구조라면 그 약속은 여덟 번의 배포로 소진됩니다.

작성자와 독자

한 사람이 쓰는 문서가 아닙니다. 세 손이 필요합니다. 엔지니어링이 지킬 수 있는 수치를 정하고, 법무가 문장과 책임 범위를 다듬고, 세일즈가 어디까지 협상할지를 들고 옵니다. 순서가 뒤집히면 지킬 수 없는 숫자가 계약서에 들어갑니다. 협상 자리에서 99.99퍼센트를 약속하고 돌아와 엔지니어링에 통보하는 방식이 그렇습니다.

쓰기 전에 내부 목표를 먼저 정합니다. 지키기로 정한 품질 목표치인 SLO를 안쪽에 두고, 계약서에는 그보다 느슨한 값을 적습니다. 두 값을 같게 두면 내부 목표를 한 번 놓치는 순간 그대로 계약 위반이 됩니다. 목표를 지키면서 허용되는 실패의 여유분인 에러 버짓이 이 간격 안에서 계산됩니다.

읽는 쪽은 넷입니다. 고객사의 구매 담당자는 숫자와 보상 조항을 보고, 보안 검토 담당자는 제외 조건을 봅니다. 고객사 법무는 책임 상한을 보고, 우리 쪽 장애 대응 담당자는 정지 시간 계산식을 봅니다. 마지막이 자주 빠집니다. 계약서에 적힌 계산식과 우리가 감시하는 값이 다르면 장애가 났을 때 위반인지 아닌지를 판단할 수 없습니다.

문서를 주는 방식도 정해 둡니다. 대개 표준 문서를 만들어 두고 요금제별로 다른 값을 적습니다. 무료 플랜에는 이 문서를 주지 않고, 팀 플랜에는 표준본을, 기업 계약에서만 조항을 협상합니다.

실무 용례

"99.99는 못 적습니다. 배포할 때마다 30초씩 멈추는데요."

약속한 숫자를 정지 시간으로 환산해 보면 지킬 수 없다는 판단입니다.

"제외 조건에 예고된 점검을 넣어 주세요. 지금은 그것도 위반으로 잡힙니다."

빠진 항목 때문에 정상 작업이 위반이 된다는 지적입니다.

"이 고객사는 협상본이라 99.95예요. 표준본과 다릅니다."

계약마다 지켜야 할 값이 다를 수 있다는 확인입니다.

페이지덱에서는 태오가 지킬 수 있는 수치를 먼저 계산해 오고 규원이 문장과 책임 상한을 정합니다. 표준본은 월 99.9퍼센트이고 내부 목표는 99.95퍼센트로 더 높게 두었습니다. 수아가 기업 고객과 협상할 때 올릴 수 있는 상한을 99.95로 못 박아 두어서, 그 위를 요구하는 고객에게는 다른 조건으로 답합니다. 협상본 여섯 건은 계약별 약속값을 적은 표 하나에 모아 두고 장애가 날 때 그 표를 먼저 엽니다.

흔한 오해

99.9퍼센트면 거의 안 멈춘다고 읽는 경우가 가장 많습니다. 소수점이 붙은 높은 비율이 안정을 뜻하는 것처럼 보입니다. 하지만 한 달로 환산하면 43분이고, 이는 한 번의 장애로 다 쓰이는 양입니다. 데이터베이스를 옮기다 30분 멈추면 그 달의 여유는 13분만 남습니다. 숫자를 비율로만 보고 있으면 남은 여유를 모른 채 배포를 이어 가다 월말에 위반에 닿습니다. 실무에서는 비율 대신 남은 분으로 관리합니다.

문서를 잘 쓰면 신뢰가 생긴다고 읽는 것도 흔합니다. 계약서에 높은 숫자와 두터운 보상을 적으면 고객이 안심할 것처럼 보입니다. 그런데 보상은 대개 그 달 요금의 일부이고, 고객이 장애로 잃은 것은 그보다 큽니다. 요금 10퍼센트를 돌려받은 고객이 만족한 상태로 남는 일은 드뭅니다. 이 문서가 하는 일은 최소선을 적어 구매 절차를 통과하게 만드는 것까지이고, 신뢰는 그 숫자를 열두 달 지킨 기록에서 생깁니다. 그래서 숫자를 올리는 협상보다 지킨 기록을 보여 주는 쪽이 재계약에서 더 크게 작동합니다.

자주 헷갈리는 용어

용어무엇인지SLA 와의 차이
SLO지키기로 정한 서비스 품질 목표치안쪽에서 팀이 세운 목표입니다. 못 지켜도 계약 위반이 아니라 작업 순서가 바뀌는 신호로 쓰이고, SLA 에는 그보다 느슨한 값을 적어 여유를 둡니다
보증 조항제품이나 서비스의 상태를 약속하는 조항제품이 설명한 대로 동작한다는 일반적 약속이라 수치와 계산식이 없습니다. SLA 는 재는 방법과 위반 시 보상까지 숫자로 못 박은 문서입니다

같이 보면 좋은 페이지

  • 관측성

    이 문서가 어느 신호 묶음 위에 서는지 먼저 봅니다

  • SLO

    안쪽 목표를 한 칸 더 들어가 봅니다

  • 지원 응답 약속

    같은 약속을 고객 응대 쪽에서 본 말을 다른 축에서 봅니다

연관 용어

마지막 업데이트 2026-09-26