핵심 인사이트

  1. SLA(Service Level Agreement)는 서비스 제공자와 고객 간의 계약적 품질 약속 — 단순한 기술 지표가 아니라 비즈니스 기대를 수치로 구체화한 계약이며, 미달 시 페널티(크레딧, 서비스 해지)가 발생한다.
  2. SLO·SLA·SLI의 계층 구조 — SLI(측정 지표)→SLO(내부 목표)→SLA(외부 계약) 순서로 엄격해지며, SLO는 SLA보다 여유 있게 설정해 완충 지대를 확보하는 것이 실무 관행이다.
  3. 가용성 퍼센트의 실질적 의미 이해 — "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줄 비유 설명

  1. SLA는 배달 약속 — "2시간 내 배달 보장(SLA)". 못 지키면 쿠폰(크레딧) 제공. SLO는 스스로 "1.5시간 내"로 높게 설정!
  2. 가용성 퍼센트는 출석률 — 99.9%(3 Nines) = 1년에 8.7시간 결석. 99.99%(4 Nines) = 52분만 결석. 차이는 작아 보여도 16배 다른 다운타임!
  3. Error Budget은 결석 허용 한도 — "한 달 43분까지 결석 허용(99.9% SLA)". 이미 30분 결석했으면 남은 2주 동안 조심조심!