#DevOps

문화의 문제가 아니었습니다: 에어비앤비의 알림 개발 프로세스 고도화

문화의 문제가 아니었습니다: 에어비앤비의 알림 개발 프로세스 고도화
01

Summary

알림 소음 90% 제거! 에어비앤비는 어떻게 30만 개의 알림을 길들였나

수 주 걸리던 모니터링 검증을 단 몇 분 만에 끝내는 Prometheus 기반 백테스팅 혁신

에어비앤비가 수동적인 알림 관리를 넘어, 개발자가 PR 제출 전에 알림의 동작을 실제 데이터로 미리 검증할 수 있는 환경을 구축한 여정을 다룹니다. '문화가 아닌 워크플로우의 문제'로 접근하여, Prometheus를 활용한 대규모 백테스팅 시스템이 어떻게 대규모 엔지니어링 조직의 신뢰성과 개발 생산성을 동시에 높였는지 보여줍니다.

  • 01코드 리뷰만으로는 알 수 없는 실제 알림 동작을 과거 데이터 시뮬레이션으로 완벽 보완
  • 02Terraform Plan과 유사한 Markdown 기반 알림 Diff 및 전용 Change Report UI 제공
  • 03Prometheus 룰 매니저를 직접 연동하여 운영 환경과 100% 동일한 평가 로직 보장
  • 04수천 개의 서비스를 대상으로 한 템플릿 변경 시 'Noisiness' 메트릭을 통한 품질 검증
  • 0530만 개의 대규모 알림 마이그레이션을 가능케 한 자동화된 검증 파이프라인

RECOMMENDATION

알림 피로(Alert Fatigue)로 고통받거나 대규모 인프라의 모니터링 설정을 코드로 관리하려는 SRE 및 플랫폼 엔지니어에게 강력히 추천합니다. 특히 설정 변경의 영향도를 사전에 파악하기 어려운 복잡한 환경에서 백테스팅 시스템 설계의 훌륭한 레퍼런스가 될 것입니다.

The Problem

기존의 'Observability as Code(OaC)' 워크플로우는 코드 리뷰를 통해 구문과 로직은 검증할 수 있었으나, 실제 운영 데이터에서 알림이 어떻게 동작할지 예측하기 어려워 과도한 소음이나 침묵하는 알림 문제가 발생했습니다. 이로 인해 알림 설정을 변경할 때마다 수 주 동안 운영 환경에서 나란히 배포하여 검증해야 하는 긴 개발 주기가 소요되었습니다.

The Solution

Prometheus 오픈소스를 기반으로 로컬 우선 개발 환경을 구축하고, PR 단계에서 알림 변경 사항을 시각적으로 보여주는 'Change Reports'와 과거 데이터를 활용해 알림 동작을 시뮬레이션하는 'Bulk Backtesting' 시스템을 도입했습니다. 특히 Prometheus의 룰 매니저를 직접 활용하여 운영 환경과 동일한 로직으로 수천 개의 알림을 동시에 검증할 수 있게 했습니다.

The Result

전사적으로 알림 소음을 90% 감소시켰으며, 수 주가 걸리던 알림 개발 주기를 단 몇 분으로 단축했습니다. 또한 이러한 자동화된 검증 도구를 활용하여 30만 개의 알림을 기존 벤더 솔루션에서 Prometheus로 성공적으로 마이그레이션하는 성과를 거두었습니다.

Trade-off

시뮬레이션 시스템이 레코딩 룰(Recording Rule) 의존성까지는 자동으로 해결하지 못해 사용자가 의존성을 먼저 수정해야 하는 단계적 작업이 필요합니다. 또한 대규모 백테스팅 시 운영 환경에 영향을 주지 않기 위해 별도의 Kubernetes 포드 오토스케일링과 서킷 브레이커 등 복잡한 자원 관리 설계가 수반되었습니다.

03

Key Concepts

Concept · 01

Observability as Code (OaC)

알림, 대시보드, SLO 등을 UI가 아닌 코드로 정의하여 버전 관리, 코드 리뷰, 테스트 프로세스를 적용하는 방식입니다.

  • 에어비앤비에서 수천 개의 서비스와 30만 개의 알림을 관리하는 기반 기술로 사용됨
Concept · 02

Bulk Backtesting

새롭게 정의하거나 수정한 알림 규칙을 과거의 시계열 데이터에 적용하여 실제로 언제, 얼마나 자주 발생했을지 시뮬레이션하는 기법입니다.

  • Prometheus 룰 매니저를 활용하여 수천 개의 알림을 병렬로 시뮬레이션하고 소음 정도를 측정함
Concept · 03

Zero Touch Monitoring

제품 개발자가 인프라나 플랫폼을 채택할 때 별도의 설정 없이도 최적화된 알림과 대시보드를 즉시 제공받는 이상적인 상태를 의미합니다.

  • 플랫폼 팀이 검증된 모니터링 패턴을 템플릿화하여 제품 팀에 배포함으로써 달성하고자 하는 목표