Cloudflare, Code Orange 프로젝트 완료로 더욱 강력해진 네트워크

by DD
1개월 전
조회수 16

Cloudflare는 2025년 11월과 12월 발생한 장애를 예방하기 위해 인프라 안정성 강화 프로젝트인 Code Orange: Fail Small을 완료함

안전한 설정 변경(Safer Configuration Changes), 장애 영향 감소, 'Break Glass' 절차 개선 등, 3가지 핵심 영역(Key Areas)에 집중함

Snapstone 도입을 통해 설정 변경의 안전성을 확보하고, 헬스 기반 배포(Health-Mediated Deployment)를 적용하여 문제 발생 시 자동 롤백(Rollback) 기능을 강화함

코드 린트(Code Lint) 및 AI 기반 코드 검토를 통해 코드 품질(Code Quality)을 향상시키고, 장애 발생 시 고객과의 소통 채널을 개선함

Snapstone: 설정 변경의 안전성을 확보하는 핵심 기술

본문에 따르면, Cloudflare는 설정 변경의 안전성을 위해 Snapstone이라는 새로운 내부 컴포넌트를 도입했다. Snapstone은 설정 변경을 패키징하고, 헬스 메디에이션(Health Mediation) 원칙에 따라 점진적으로 배포하는 시스템이다.

헬스 메디에이션(Health Mediation): 실시간 헬스 모니터링(Real-time Health Monitoring)을 통해 문제 발생 시 자동 롤백(Automated Rollback)을 지원

유연성: 데이터 파일, 제어 플래그 등 다양한 형태의 설정 변경에 적용 가능

효과: 위험한 설정 패턴을 식별하고, Snapstone을 통해 안전한 배포를 보장

Snapstone 도입으로 인해 Cloudflare는 설정 변경으로 인한 장애 발생 위험을 크게 줄일 수 있게 되었다.

장애 영향 감소를 위한 Fail Open/Fail Stale 전략

Cloudflare는 장애 발생 시 트래픽 처리를 지속하기 위해 Fail Open 또는 Fail Stale 전략을 채택했다. 이는 시스템의 장애 반경(Impact Radius)을 줄이는 데 기여한다.

Fail Stale: 이전의 정상적인 설정(Last Known Good Configuration)을 사용하여 트래픽 처리 지속

Fail Open: 이전 설정 사용이 불가능할 경우, 기능 축소(Reduced Functionality)를 감수하고 트래픽 처리 지속

예시: 2025년 11월 봇 관리(Bot Management) 머신러닝 분류기 오류 발생 시, Fail Open 전략을 통해 서비스 중단 방지

이러한 전략은 고객 트래픽(Customer Traffic)의 가용성을 극대화하고, 장애로 인한 부정적인 영향을 최소화하는 데 기여한다.

코드 품질 향상을 위한 Codex 및 AI 기반 검토

Cloudflare는 코드 품질을 향상시키기 위해 Codex라는 내부 엔지니어링 표준을 도입하고, AI 기반 코드 검토를 통해 이를 강화했다. Codex는 엔지니어링 표준을 명확하게 정의하고, AI 에이전트를 통해 코드 검토 과정에서 자동적으로 적용된다.

RFC(Request For Comments) 프로세스: 도메인 전문가(Domain Experts)가 작성한 엔지니어링 표준을 Codex에 반영

AI 기반 코드 검토: 코드 작성 단계에서 Codex 규칙 위반 시 즉각적인 피드백 제공

효과: 코드 품질(Code Quality) 향상 및 장애 발생 가능성 감소

이러한 노력은 지속적인 학습(Continuous Learning)을 통해 시스템의 안정성을 높이고, 개발 생산성을 향상시키는 데 기여한다.

향상된 'Break Glass' 절차 및 사고 관리

Cloudflare는 장애 발생 시 신속하고 정확한 대응을 위해 'Break Glass' 절차와 사고 관리 프로세스를 개선했다. 이는 시스템의 복구 시간(Recovery Time)을 단축하고, 고객과의 소통을 강화하는 데 기여한다.

백업 권한 경로(Backup Authorization Pathways): 18개의 핵심 서비스에 대한 백업 권한 경로를 구축

엔지니어링 훈련(Engineering Drills): 200명 이상의 팀원이 참여하는 훈련을 통해 위기 대응 능력 향상

고객 커뮤니케이션 개선: 사고 발생 시, 예측 가능한 간격(Predictable Intervals)으로 고객에게 업데이트 제공

이러한 개선 사항들은 장애 발생 시 고객 경험(Customer Experience)을 개선하고, Cloudflare의 신뢰도를 높이는 데 기여한다.

배포 프로세스 개선: 고객 트래픽 분할 및 단계적 배포

Cloudflare는 고객 트래픽을 여러 세그먼트로 분할하고, 단계적인 배포 방식을 도입하여 장애의 영향을 최소화한다. 특히, Workers 런타임 시스템(Workers Runtime System)의 경우, 고객 트래픽을 여러 세그먼트로 분할하여 배포한다.

고객 Cohort 기반 배포: 무료 고객(Free Customers)을 시작으로, 단계적으로 배포 진행

빠른 업데이트: 중요도가 낮은 세그먼트(Segments)에 더 빠르게 업데이트 적용

자동 롤백: 장애 발생 시, 특정 세그먼트에만 영향을 미치고 자동 롤백

이러한 방식은 장애 발생 시 영향 범위를 최소화하고, 안정적인 서비스 운영(Stable Service Operation)을 가능하게 한다.

Code Orange: Fail Small is complete. The result is a stronger Cloudflare network