Cloudflare, Salt 설정 실패 문제, 자동화로 해결!

by DD
6개월 전
조회수 16

Salt 설정 실패로 인한 릴리즈 지연 문제를 해결하기 위해 Minion 기반의 자동화된 문제 진단 시스템을 구축함

Salt Blame Module을 개발하여 Git Commit실패 원인을 연결, SRE의 수동적인 문제 해결 과정을 개선함

5% 이상의 릴리즈 지연 시간 단축 및 SRE의 반복적인 작업(Toil)을 줄이는 성과를 달성함

Salt 아키텍처 심층 분석

SaltMaster/Minion 아키텍처를 기반으로, ZeroMQ 메시지 버스를 통해 통신한다. 구체적으로 YAML 기반의 State 파일을 사용하여 시스템 설정을 관리하며, Python으로 작성된 Execution Module을 통해 시스템 작업을 수행한다. 따라서, 설정 관리 자동화확장성 확보에 유리하다.

문제 해결을 위한 자동화 전략

수동적인 문제 해결의 한계를 극복하기 위해 Salt Blame Module을 개발했다. MinionJob 결과를 캐싱하여 문제 발생 시 Git Commit과 연관된 실패 원인을 추적한다. Compile ErrorFailed State를 모두 감지하여 문제 해결 시간 단축SRE 생산성 향상을 이끌었다.

지속적인 개선을 위한 측정 및 분석

문제 해결 과정의 효과를 측정하기 위해 PrometheusGrafana를 활용하여 실패 원인을 분석한다. Git Commit, 릴리즈, 외부 서비스 실패 등을 추적하여 지속적인 개선을 위한 피드백 루프를 구축한다. 결과적으로 Saltstack 인프라안정성 향상을 기대할 수 있다.

Finding the grain of sand in a heap of Salt