📌 원문 문제
카오스 엔지니어링(Chaos Engineering)을 설명하시오.
출제 의도 분석
마이크로서비스·클라우드 환경에서 장애가 언제든 발생한다는 전제 하에 의도적으로 장애를 주입하여 시스템 복원력을 사전에 검증하는 방법론입니다. SRE·에러 버짓과 연계하여 설명하면 완성도가 높아집니다.
1. 개념
카오스 엔지니어링이란 운영 환경에서 통제된 장애를 의도적으로 주입하여 시스템의 불확실성을 드러내고, 약점을 사전에 발견·개선하여 복원력(Resilience)을 높이는 실험적 훈련 방법론입니다. Netflix가 AWS 의존 시스템의 복원력 검증을 위해 2010년 Chaos Monkey를 공개하며 체계화되었습니다.
2. 4단계 실험 프로세스
| 단계 | 활동 | 예시 |
|---|---|---|
| ① 가설 수립 | 정상 상태(Steady State) 정의, 예상 영향 가설 작성 | “결제 서버 1대 중단 시 전체 결제 성공률 99% 유지” |
| ② 장애 주입 | 실험 대상 선정, 최소 범위로 장애 실행 | 랜덤 EC2 인스턴스 종료, 네트워크 지연 50ms 주입 |
| ③ 관찰·검증 | 실제 지표 vs 가설 비교, 편차 분석 | 성공률이 95%로 하락 → 가설 기각 |
| ④ 개선·반복 | 발견된 약점 수정, 범위 확대 재실험 | 서킷 브레이커 추가 후 동일 실험 재수행 |
3. 주요 실천 도구
- Chaos Monkey (Netflix): 운영 환경에서 무작위로 서버 인스턴스를 종료. Simian Army로 확장 (Chaos Gorilla: AZ 전체 중단)
- Chaos Toolkit: 오픈소스. 쿠버네티스·AWS·Azure 환경 장애 주입 자동화
- AWS Fault Injection Simulator: AWS 관리형 카오스 엔지니어링 서비스
- Game Day: 팀 전체가 참여하는 대규모 장애 시뮬레이션 훈련 행사
4. 도입 원칙
- 최소 폭발 반경: 처음엔 스테이징 환경·소규모부터 시작. 자신감이 붙으면 점진적으로 운영 확대
- 자동 중단(Kill Switch): 실험이 예상 외로 확산될 경우 즉시 중단하는 메커니즘 필수
- 경영진 지지: 의도적 장애 주입은 문화적 저항 큼 → 사전 교육·승인 필수
✅ 핵심 암기: 카오스 엔지니어링 = 장애 의도 주입으로 약점 사전 발견 | 4단계: 가설→주입→관찰→개선 | Chaos Monkey·Game Day