2주 만에 SLO 자동화 구축! 배포 중 오탐 알림 0건 달성
O4O팀은 3개 서비스에 27개 SLO(Service Level Objective)와 54개 모니터를 설정하고, 배포 자동화 시스템을 구축함
기존 HTTP 상태 코드 기반의 SLO 측정 방식의 문제점을 개선하고, APM error 기반 측정으로 오탐 알림을 0건으로 감소시킴
ArgoCD Hooks를 활용하여 배포 중 Error Budget(오류 예산) 보호를 자동화하고, 수동 작업으로 인한 휴먼 에러를 제거함
MPOS-API의 경우, 자동화 적용 후 계산 대기 시간 감소 및 결제 오류 감소로 고객 불편을 최소화함
SLO 자동화 시스템 아키텍처
본 시스템은 Datadog SLO Correction API를 활용하여 배포 시점의 Error Budget(오류 예산) 보호를 자동화한다.
SLOCorrectionManager 클래스는 Datadog API를 호출하여 SLO ID를 조회하고, 배포 시작/종료 시 Correction을 생성/종료
ArgoCD Hooks를 사용하여 배포 전(PreSync)에 Correction을 생성하고, 배포 후(PostSync)에 종료
SyncFail Hook을 추가하여 배포 실패 시에도 Correction을 자동 종료하여 Error Budget(오류 예산) 관리의 안정성을 확보
이러한 구조를 통해 수동 작업 없이 SLO(Service Level Objective) 관리를 자동화하고, 휴먼 에러를 방지한다.
APM error 기반 SLO 측정 방식
기존 HTTP 상태 코드 기반 측정 방식은 오탐(False Positive) 문제를 발생시켜, SLO(Service Level Objective)의 신뢰도를 저하시켰다.
APM error 기반 측정으로 전환하여 비즈니스 로직 실패를 정확하게 감지하고, SLO(Service Level Objective)의 정확도를 향상시킴
90일치 APM 데이터 분석을 통해 p99 임계값을 설정하고, 데이터 기반 의사 결정(Data-driven Decision Making)을 수행
Burn Rate 알림 설정을 통해 장애 발생 전 경고 알림을 제공하여, 사전 예방(Proactive Prevention)을 가능하게 함
결과적으로, 측정 방식 개선을 통해 오탐 알림을 100% 제거하고, SLO(Service Level Objective)의 실효성을 확보했다.
ArgoCD Hooks를 활용한 배포 자동화
ArgoCD Hooks는 Kubernetes 배포 라이프사이클에 정확히 연동되어, 배포 자동화(Deployment Automation)를 가능하게 한다.
PreSync Hook을 사용하여 배포 시작 시 SLO Correction을 생성하고, PostSync Hook으로 배포 완료 시 Correction을 종료
SyncFail Hook을 통해 배포 실패 시에도 Correction을 자동 종료하여, Error Budget(오류 예산) 관리의 일관성을 유지
Kubernetes 네이티브(Kubernetes Native) 방식으로 배포 상태를 추적하고, 자동 재시도 기능을 제공하여 안정적인 배포 환경(Stable Deployment Environment) 구축
이러한 자동화는 수동 작업으로 인한 휴먼 에러를 제거하고, SRE(Site Reliability Engineering) 업무 효율성을 극대화한다.
AWS Secrets Manager를 활용한 API 키 관리
API 키와 같은 민감한 정보는 보안(Security)을 위해 안전하게 관리되어야 한다.
AWS Secrets Manager를 사용하여 API 키를 안전하게 저장하고, 환경 변수(Environment Variables)를 통해 접근
SLOCorrectionManager 클래스는 환경 변수 또는 AWS Secrets Manager에서 API 키를 로드하는 기능을 제공
프로덕션 환경(Production Environment)에서는 AWS Secrets Manager를 권장하여, 보안(Security) 강화 및 운영 편의성(Operational Convenience)을 동시에 확보
이러한 방식은 API 키 노출 위험을 최소화하고, 안정적인 서비스 운영(Stable Service Operation)을 지원한다.
SLO 자동화 시스템의 효과 및 개선 사례
SLO 자동화 시스템 도입을 통해 서비스 안정성(Service Stability)을 향상시키고, 운영 효율성(Operational Efficiency)을 극대화했다.
MPOS-API의 경우, 자동화 적용 후 배포 중 오탐 알림 0건 및 계산 대기 시간 감소 효과
MOSS/SALES-API의 경우, 적용 2주차에 배포 중 SLO 위반 사례가 없었으며, 수동 작업 대비 운영 시간 100% 절감
고객 불편 최소화 및 매장 직원 업무 집중도 향상 등 긍정적인 고객 경험(Customer Experience) 창출
결과적으로, SLO 자동화 시스템은 서비스 품질(Service Quality) 향상과 운영 비용 절감(Cost Reduction)에 기여한다.