‘Bad Customer Minutes’ 최소화를 위한 SRE의 노력
Google SRE는 서비스 장애 시 발생하는 ‘Bad Customer Minutes’를 줄이기 위해 MTTM(Mean Time to Mitigation)에 집중합니다. 이는 근본적인 해결(MTTR)보다는 사용자에게 미치는 영향을 신속하게 완화하는 데 중점을 둡니다. SRE는 페이지 접수 후 5분 이내에 인지하고, 즉시 완화 조치를 취해야 하는 높은 압력에 직면합니다.
일반적인 장애 처리 과정은 네 단계로 구성됩니다:
-
Paging: SRE에게 경고가 전달됩니다.
-
Mitigation: 문제의 원인을 파악하기 전에 사용자 영향을 줄이기 위한 조치를 취합니다.
-
Root Cause: 사용자 영향이 완화된 후, 근본적인 버그를 조사하고 수정합니다.
-
Postmortem: 사건을 문서화하고 재발 방지를 위한 후속 조치를 계획합니다.
Gemini CLI를 활용한 초기 조사 및 완화
Ramón의 페이지가 울리는 가상의 시나리오에서, Gemini CLI는 장애 해결 과정의 첫 단계를 가속화하는 데 핵심적인 역할을 합니다. 페이지 발생 시 가장 중요한 것은 코드 수정이 아닌 사용자 영향 완화입니다. Google SRE는 트래픽 드레인, 롤백, 재시작, 용량 추가 등 표준화된 ‘Generic Mitigations’를 보유하고 있습니다.
LLM은 증상을 분류하고 적절한 완화 플레이북을 선택하는 데 이상적입니다. 완화 플레이북은 프로덕션 변경을 안전하게 실행하기 위한 동적 지침으로, 실행할 명령, 변경 사항 검증 지침, 롤백 지침 등을 포함할 수 있습니다.
Ramón이 터미널에서 Gemini CLI를 사용하면, Gemini는 내부 에이전트 프레임워크인 ProdAgent의 fetch_playbook 함수를 호출합니다. 이 과정에서 다음과 같은 여러 도구를 연쇄적으로 사용하여 상황별 정보를 구축합니다:
-
get_incident_details: 사고 관리 시스템에서 경고 데이터(설명, 메타데이터, 이전 사례 등)를 가져옵니다. -
causal_analysis: 다양한 시계열 동작과 일반 완화 레이블 간의 인과 관계를 찾습니다. -
timeseries_correlation: 상관관계가 있는 시계열 쌍을 찾아 근본 원인 및 완화에 도움을 줍니다. -
log_analysis: 서비스 로그 스트림에서 로그 패턴 및 볼륨 분석을 통해 이상 징후를 감지합니다.