핵심 요약
- 현대 IT 업계가 메트릭, 로그, 트레이스로 관측 가능성을 복잡하게 쪼개면서 개발자들에게 극심한 혼란을 주고 있다는 비판이 제기되었습니다.
- 메타 퇴사자들이 가장 그리워한다는 사내 관측 시스템 '스쿠바(Scuba)'는 복잡한 개념 없이 모든 정보를 통째로 담는 '와이드 이벤트' 하나로 문제를 해결했습니다.
- 대규모 분산 시스템에서는 정형화된 용어 학습보다 미지의 장애 상황에서 데이터를 자유롭게 필터링하고 분석할 수 있는 단순한 구조가 훨씬 효과적이라고 강조합니다.
요약 소프트웨어 엔지니어 이반 부르미스트로프(Ivan Burmistrov)는 최근 기술 업계에서 유행하는 관측 가능성(Observability) 개념이 과도하게 복잡해져 혼란을 낳고 있다고 지적했습니다. 업계에서는 메트릭, 로그, 트레이스(Metrics, Logs, Traces)를 관측 가능성의 3대 축으로 구분하고, 오픈텔레메트리(OpenTelemetry) 같은 도구 역시 수십 개의 전문 용어(span, root span 등)를 내세우며 각 개념을 분리해 설명합니다. 이로 인해 개발자들은 '로그가 있는데 트레이스가 왜 필요하지?', '로그 라인 하나가 스팬인가?' 같은 혼란에 빠지기 일쑤입니다.
글쓴이는 대규모 분산 시스템에서 진정으로 중요한 것은 데이터를 자유롭게 파고들고 쪼개어 분석(slice and dice)하며 이상 현상을 찾아내는 능력이라고 강조합니다. 그러면서 본인이 메타(구 페이스북) 재직 시절 경험했던 사내 관측 시스템인 '스쿠바(Scuba)'를 최고의 사례로 소개합니다. 메타 출신 개발자들이 퇴사 후 가장 그리워하는 1위 도구로 꼽히는 스쿠바의 핵심 원리는 '와이드 이벤트(Wide Events)'입니다.
와이드 이벤트는 복잡한 용어나 구조 대신 JSON 문서처럼 관련 있는 모든 필드와 값을 한데 모아 기록하는 방식입니다. 예를 들어 광고 노출 이벤트라면 타임스탬프, 유저 국가, 앱 버전, OS 버전 등 생각할 수 있는 모든 정보를 하나의 넓은 이벤트에 쏟아붓습니다. 이렇게 하면 장애나 버그가 발생했을 때(즉, 알지 못하는 미지의 문제, unknown unknowns에 직면했을 때) 필터링이나 그룹화를 통해 직관적으로 원인을 추적할 수 있습니다. 또한 스쿠바는 네이티브 샘플링 기능을 통해 특정 이벤트 비율을 조정하면서도 UI에서는 실제 수치로 자동 보정(업스케일링)해 보여줌으로써 대규모 트래픽 분석을 단순화했다고 설명합니다.
Sponsored · 광고