핵심 인사이트
- SLA(Service Level Agreement)는 서비스 제공자와 고객 간의 계약적 품질 약속 — 단순한 기술 지표가 아니라 비즈니스 기대를 수치로 구체화한 계약이며, 미달 시 페널티(크레딧, 서비스 해지)가 발생한다.
- SLO·SLA·SLI의 계층 구조 — SLI(측정 지표)→SLO(내부 목표)→SLA(외부 계약) 순서로 엄격해지며, SLO는 SLA보다 여유 있게 설정해 완충 지대를 확보하는 것이 실무 관행이다.
- 가용성 퍼센트의 실질적 의미 이해 — "99.9% 가용성"이 연간 8.7시간 다운타임을 의미하는 반면, "99.99%"는 52분으로 10배 차이. SLA 협상 시 이 실질적 다운타임 허용량을 사업 임팩트와 연결해야 한다.
Ⅰ. SLI·SLO·SLA 계층
SLI → SLO → SLA 계층:
SLI (Service Level Indicator):
실제 측정 가능한 서비스 특성 수치
예:
- 요청 성공률 = 성공 요청 / 전체 요청
- 응답 시간 P99 = 99th 백분위 응답시간
- 가용성 = 서비스 가동 시간 / 전체 시간
SLO (Service Level Objective):
내부 목표 (계약 아님)
SLI 기반으로 설정
예:
- 요청 성공률 SLO: 99.95%
- P99 응답시간 SLO: 200ms 이내
- 가용성 SLO: 99.95%
SLA (Service Level Agreement):
고객과의 외부 계약
SLO보다 약간 낮게 설정 (완충)
예 (AWS EC2):
- 월간 가용성 SLA: 99.99%
- 미달 시 크레딧:
99.0~99.99%: 10% 크레딧
95.0~99.0%: 25% 크레딧
95.0% 미만: 100% 크레딧
왜 SLO > SLA인가:
SLO = 99.95%
SLA = 99.9%
완충 0.05% = 0.05%×30일×24시간 = 2.16시간/월
→ 인시던트 탐지 + 대응 시간 확보
→ 고객 계약 위반 없이 문제 해결 가능
📢 섹션 요약 비유: SLI→SLO→SLA는 시험 기준 — SLI(실제 점수), SLO(스스로 목표 90점), SLA(부모님과 약속 80점). 목표는 높게, 계약은 여유롭게!
Ⅱ. 가용성 수치 해석
가용성 퍼센트 vs 다운타임:
가용성 월 다운타임 연간 다운타임
99.0% = 7.2시간 = 87.6시간
99.5% = 3.6시간 = 43.8시간
99.9% = 43.2분 = 8.7시간 ← 3 Nines
99.95% = 21.6분 = 4.4시간
99.99% = 4.32분 = 52.6분 ← 4 Nines
99.999% = 25.9초 = 5.3분 ← 5 Nines
계산 공식:
다운타임 = (1 - 가용성) × 측정 기간
예: 99.9% × 30일
= 0.1% × 30 × 24 × 60 = 43.2분
계층별 요구:
소셜 미디어: 99.9% 충분
일반 SaaS: 99.95~99.99%
금융/결제: 99.99% 이상
항공 예약: 99.999%
SLA 구성 요소:
1. 정의: 서비스 범위 (무엇이 포함/불포함)
2. 가용성 목표 (%)
3. 측정 방법 (어떻게 계산, 어떤 기간)
4. 페널티 (미달 시 보상)
5. 예외 사항 (scheduled maintenance, force majeure)
6. 보고 주기 (월간 리포트 등)
7. 분쟁 해결 절차
정기 유지보수 처리:
예약된 다운타임(Scheduled Maintenance)
= 사전 공지 → SLA 계산에서 제외
예: AWS SLA는 "scheduled maintenance"
사전 공지 후 다운타임 = SLA 적용 제외
📢 섹션 요약 비유: 가용성 퍼센트는 수업 출석률 — 99.9%(3 Nines) = 일년에 8.7시간 결석. 99.99%(4 Nines) = 52분만 결석. 0.09% 차이가 16× 다운타임 차이!
Ⅲ. 주요 SLA 측정 지표
핵심 SLA 지표들:
가용성 지표:
Uptime %:
서비스 정상 운영 시간 비율
측정: 합성 모니터링 (매 1분 체크)
응답 시간 지표:
P50 (중앙값): 전형적 응답시간
P95: 상위 5%만 이보다 느림
P99: 상위 1%만 이보다 느림
P99.9: 0.1%만 이보다 느림 (꼬리 지연)
왜 평균 대신 백분위:
평균은 이상치에 왜곡
예: 응답 100개
99개: 10ms
1개: 5,000ms (타임아웃)
평균: 59ms (99개는 10ms인데 평균이 59ms?)
P99: 5,000ms (실제 1% 사용자 경험 반영)
처리량 지표:
TPS (Transactions Per Second):
RPS (Requests Per Second):
최소 보장 처리량
에러율 지표:
오류 요청 비율
SLA: 월 오류율 < 0.1%
MTTR (Mean Time To Repair):
장애 발생 → 복구까지 평균 시간
SLA: P1 장애 MTTR < 4시간
MTBF (Mean Time Between Failures):
장애 간 평균 시간 (안정성)
데이터 지표:
내구성: 데이터 손실률 (예: 11 Nines = 99.999999999%)
S3: 99.999999999% 내구성 SLA
📢 섹션 요약 비유: SLA 지표는 배달 앱 평가 — 가용성(앱 켜지는 비율), P99 응답(99% 주문이 이 시간 내), 오류율(잘못 배달 비율), MTTR(문제 해결 시간). 종합 점수로 계약!
Ⅳ. SLA 위반 관리
SLA 위반과 대응:
Error Budget (오류 예산):
SLO에서 파생된 허용 오류량
SLO = 99.9% → 오류 예산 = 0.1%
월 기준: 43.2분 허용 다운타임
Error Budget 소진 추적:
현재까지 사용: 30분 (70% 소진)
남은 기간: 2주
→ 새 배포 일시 중단? OR 계속?
SRE 원칙: 오류 예산 소진 시 기능 개발 중단
→ 안정성 우선으로 전환
SLA 위반 절차:
탐지:
모니터링 경보 → 인시던트 선언
SLA 영향 평가 (현재 다운타임 누적)
커뮤니케이션:
고객 알림 (SLA에 명시된 시간 내)
상태 페이지 업데이트 (Statuspage.io)
예상 복구 시간 제공
복구 후:
RCA (Root Cause Analysis) 작성
SLA 크레딧 자동/수동 적용
재발 방지 계획
페널티 구조 (일반 예):
가용성 < 99.9% → 10% 요금 크레딧
가용성 < 99.0% → 30% 크레딧
가용성 < 95.0% → 100% 크레딧
계약 종료 조항:
연속 3회 SLA 위반 → 계약 해지 가능
→ SLA 협상 시 이 조항 주의!
📢 섹션 요약 비유: SLA 위반은 배달 지연 보상 — "1시간 내 배달 보장(SLA)" 못 지키면 쿠폰(크레딧). 계속 못 지키면 재계약 해지. 오류 예산은 남은 쿠폰 수!
Ⅴ. 실무 시나리오 — SaaS 플랫폼 SLA 협상
B2B SaaS 플랫폼 SLA 협상:
상황:
고객: 대형 제조사 (연간 계약 5억원)
서비스: ERP SaaS 플랫폼
고객 요구: "99.99% 가용성 보장"
내부 분석:
현재 인프라 가용성: 99.95% (6개월 평균)
과거 최대 다운타임: 월 2.5시간 (특정 월)
99.99% 달성을 위한 추가 비용:
- Active-Active DR 구성
- 추가 인프라 비용: 연 2억원
- 고객 계약액의 40%
SLA 협상 전략:
제안 1: 99.99% SLA (고객 요구 수락)
조건: 계약금 6억원 (1억 추가)
예외: 월간 2시간 scheduled maintenance
제안 2: 99.95% SLA + 강화된 MTTR
가용성: 99.95%
P1 MTTR: < 2시간 (업계 4시간 대비 개선)
P1 응답: 30분 내 전담 지원
제안 3: 계층화된 SLA
핵심 기능 (발주, 생산): 99.99%
보고서, 분석: 99.9%
→ 비용 최적화
최종 협의:
핵심 ERP 모듈: 99.99%
주변 기능: 99.9%
P1 MTTR: 2시간
월 2회 4시간 정기 점검 (SLA 제외)
페널티: 위반 시 5~25% 크레딧
계약금: 5.5억원
측정·보고:
월간 SLA 리포트 자동 생성
Datadog + Statuspage.io
분기별 서비스 리뷰 미팅
📢 섹션 요약 비유: SLA 협상은 보험 계약 — 고객은 넓은 보장(99.99%) 요구, 보험사(서비스 제공자)는 보험료(비용)에 맞게 조율. 핵심 기능 고보장 + 주변 기능 표준 = 최적 협상!
📌 관련 개념 맵
SLA (Service Level Agreement)
+-- 계층
| +-- SLI (측정 지표)
| +-- SLO (내부 목표)
| +-- SLA (외부 계약)
+-- 핵심 지표
| +-- 가용성 (Uptime %)
| +-- 응답 시간 (P95, P99)
| +-- 오류율, MTTR, MTBF
+-- 관리
| +-- Error Budget (오류 예산)
| +-- SLA 위반 크레딧
| +-- RCA (근본 원인 분석)
+-- 적용
+-- 클라우드 SLA (AWS, Azure)
+-- B2B SaaS 계약
+-- IT 아웃소싱 계약
📈 관련 키워드 및 발전 흐름도
[전통 IT 계약 (1990s)]
막연한 "최선을 다함" 약속
정량 지표 없음
|
v
[SLA 도입 (2000s)]
ITIL v2: SLA 관리 프로세스
ISP, 데이터센터 표준화
|
v
[클라우드 SLA (2006~)]
AWS, Azure, GCP SLA 공표
퍼블릭 크레딧 정책
|
v
[SRE + Error Budget (2016~)]
Google SRE 책 출간
SLO/SLI/Error Budget 정착
|
v
[현재: 비즈니스 임팩트 SLA]
가용성 → 수익 영향 연결
AI 이상 탐지 + 자동 SLA 보고
👶 어린이를 위한 3줄 비유 설명
- SLA는 배달 약속 — "2시간 내 배달 보장(SLA)". 못 지키면 쿠폰(크레딧) 제공. SLO는 스스로 "1.5시간 내"로 높게 설정!
- 가용성 퍼센트는 출석률 — 99.9%(3 Nines) = 1년에 8.7시간 결석. 99.99%(4 Nines) = 52분만 결석. 차이는 작아 보여도 16배 다른 다운타임!
- Error Budget은 결석 허용 한도 — "한 달 43분까지 결석 허용(99.9% SLA)". 이미 30분 결석했으면 남은 2주 동안 조심조심!