first commit

This commit is contained in:
2026-04-14 20:26:46 +09:00
commit 974c3d0dbd
56 changed files with 4159 additions and 0 deletions
@@ -0,0 +1,60 @@
# API Service Rollback Runbook
## Metadata
1. Service: api
2. Runtime: uvicorn direct run
3. Environment: production
4. Owner: backend team
5. On-call Contact: backend-oncall
6. Last Updated (UTC): 2026-04-14
## Trigger Conditions
1. Error Rate Threshold: 5xx > 2% for 5 minutes
2. Latency Threshold: p95 > 1200ms for 10 minutes
3. Availability Threshold: successful request rate < 99.5%
4. Data Integrity Alarm: write/read mismatch alerts > 0
5. Business Impact Trigger: 결제/주문 API 실패 다수 발생
## Pre-rollback Checks
1. 장애 범위 확인(엔드포인트/사용자/데이터)
2. 최근 릴리즈 커밋과 변경 DB 스크립트 확인
3. 직전 안정 배포 아티팩트 식별
4. 공지 채널(내부/외부) 준비
## Rollback Procedure
1. 신규 배포 트래픽 중단
2. 안정 버전 코드로 교체
3. uvicorn 프로세스 재기동
4. 헬스체크와 핵심 API 호출 검증
## Data Recovery Plan
1. 복원 대상 데이터 범위: 최근 배포 이후 변경분
2. 복원 방법: 백업 스냅샷 + 트랜잭션 로그 검증
3. 데이터 무결성 검증 방법: 주문/결제 집계 대조
4. 복원 예상 시간: 20~40분
## Validation After Rollback
1. /health, /ready 정상
2. 로그인/주문/결제 정상 시나리오 통과
3. 5xx 비율 0.5% 이하 복귀
4. p95 지연 700ms 이하 복귀
## Communication Plan
1. 내부: 롤백 시작/완료 시점 공유
2. 외부: 사용자 영향 공지(필요 시)
3. 상태 업데이트 주기: 15분
4. 종료 공지 조건: 핵심 지표 30분 안정화
## Post-rollback Follow-up
1. 원인 분석 티켓: INC-API-YYYYMMDD
2. 재배포 조건: 회귀 테스트 + 성능 검증 통과
3. 임시 완화책 제거 계획: 48시간 내 정리
4. Postmortem 일정: 24시간 내
@@ -0,0 +1,58 @@
# Web Service Rollback Runbook
## Metadata
1. Service: web
2. Environment: production
3. Owner: frontend team
4. On-call Contact: frontend-oncall
5. Last Updated (UTC): 2026-04-14
## Trigger Conditions
1. JS Error Threshold: 신규 릴리즈 후 오류율 2배 이상
2. Page Load Threshold: p75 LCP > 4.0s for 10 minutes
3. Availability Threshold: 주요 페이지 성공률 < 99.0%
4. Business Impact Trigger: 로그인/결제 전환율 급락
## Pre-rollback Checks
1. 영향 페이지 및 브라우저 범위 확인
2. CDN 캐시 정책 확인
3. 직전 안정 빌드 해시 확인
4. 공지 채널 준비
## Rollback Procedure
1. CDN 라우팅을 이전 빌드로 전환
2. 신규 정적 자산 캐시 무효화
3. 핵심 사용자 플로우 스모크 테스트 실행
4. 오류/성능 지표 확인
## Data Recovery Plan
1. 복원 대상 데이터 범위: 클라이언트 이벤트 손실 구간
2. 복원 방법: 서버 로그 기반 보정 집계
3. 데이터 무결성 검증 방법: 퍼널 단계별 이벤트 대조
4. 복원 예상 시간: 15~30분
## Validation After Rollback
1. 로그인/탐색/결제 플로우 정상
2. JS 오류율 기준치 복귀
3. LCP 및 API 오류율 정상화
4. 사용자 CS 급증 여부 확인
## Communication Plan
1. 내부: 배포 채널 및 온콜 채널 공지
2. 외부: 장애 공지 페이지 업데이트(필요 시)
3. 상태 업데이트 주기: 15분
4. 종료 공지 조건: 30분 이상 안정화
## Post-rollback Follow-up
1. 원인 분석 티켓: INC-WEB-YYYYMMDD
2. 재배포 조건: 크로스브라우저 회귀 테스트 통과
3. 임시 완화책 제거 계획: 48시간 내
4. Postmortem 일정: 24시간 내
@@ -0,0 +1,58 @@
# Worker Service Rollback Runbook
## Metadata
1. Service: worker
2. Environment: production
3. Owner: platform team
4. On-call Contact: platform-oncall
5. Last Updated (UTC): 2026-04-14
## Trigger Conditions
1. Queue Backlog Threshold: 대기 작업 10,000건 초과 10분 지속
2. Failure Threshold: 작업 실패율 > 3% for 10 minutes
3. Processing Delay Threshold: 평균 처리 지연 > 2x baseline
4. Data Integrity Alarm: 중복 처리 또는 누락 처리 감지
5. Business Impact Trigger: 정산/알림 지연 사용자 영향 확대
## Pre-rollback Checks
1. 실패 작업 샘플링 및 영향 범위 확인
2. 재처리 가능 여부 확인
3. 직전 안정 버전 아티팩트 확인
4. 공지 채널 준비
## Rollback Procedure
1. 신규 작업 소비 일시 중단
2. 안정 버전으로 워커 교체
3. 단계적 소비 재개(10% -> 50% -> 100%)
4. 실패/처리율 지표 확인
## Data Recovery Plan
1. 복원 대상 데이터 범위: 누락/중복 처리된 이벤트
2. 복원 방법: dead-letter queue 재처리 + idempotency 검증
3. 데이터 무결성 검증 방법: 이벤트 카운트/체크섬 대조
4. 복원 예상 시간: 30~60분
## Validation After Rollback
1. backlog 감소 추세 확인
2. 실패율 1% 이하 복귀
3. 중복 처리 경보 해제
4. 핵심 배치 완료 시간 정상화
## Communication Plan
1. 내부: 대응 진행 상황 15분 주기 공유
2. 외부: SLA 영향 시 사전 공지
3. 종료 공지 조건: backlog 정상화 및 실패율 안정화
## Post-rollback Follow-up
1. 원인 분석 티켓: INC-WORKER-YYYYMMDD
2. 재배포 조건: 부하 테스트 재통과
3. 임시 완화책 제거 계획: 72시간 내
4. Postmortem 일정: 24시간 내