피드로 돌아가기
Bringing more transparency to GitHub’s status page
GitHub BlogGitHub Blog
Infrastructure

3단계 장애 등급 체계 및 서비스별 Uptime 가중치 산정 도입

Bringing more transparency to GitHub’s status page

Jakub Oleksy2026년 4월 17일3intermediate

Context

단순 Partial Outage와 Major Outage의 이분법적 분류로 인한 실제 사용자 체감 영향도와 상태 표시 간의 괴리 발생. 특정 모델 제공자의 장애가 전체 Copilot 서비스 장애로 오인되는 과잉 보고 구조의 한계 존재.

Technical Solution

  • Degraded Performance 상태를 신설하여 지연 시간 증가 및 간헐적 오류 등 기능적 저하 상태를 분리 정의
  • 서비스별 최근 90일 Uptime 계산 시 장애 등급에 따른 가중치(Weight) 부여 로직 적용
  • Major Outage(100%), Partial Outage(30%), Degraded Performance(0%)의 가중치 차등 적용을 통한 실질적 가용성 산출
  • Copilot 서비스 구조를 'Copilot' 상위 컴포넌트와 'Copilot AI Model Providers' 하위 컴포넌트로 분리하여 장애 전파 범위 구체화
  • Multi-model 지원 구조를 활용해 특정 모델 장애 시 대체 모델 선택이 가능함을 반영한 상태 보고 체계 설계

Impact

  • Partial Outage 발생 시 전체 장애 시간의 30%만 Downtime으로 반영하는 가중치 기반 Uptime 산정 방식 도입

Key Takeaway

사용자 경험에 기반한 세밀한 장애 등급 정의와 가중치 기반의 가용성 지표 설계가 시스템 신뢰도 측정의 정확성을 결정함.


- 장애 등급 정의 시 '완전 중단'과 '성능 저하'를 구분하는 세분화된 Severity Level 설계 검토 - 단순 Up/Down 체크가 아닌 장애 영향도에 따른 가중치 기반 SLA/SLO 산정 로직 도입 고려 - 의존성이 높은 외부 Provider 장애 시, 서비스 전체 장애가 아닌 컴포넌트 단위의 분리 보고 체계 구축

원문 읽기