Datadog / observability

2 개의 포스트

Robust statistical distances for machine learning | Datadog (새 탭에서 열림)

데이터독(Datadog)은 시계열 데이터 분석의 한계를 극복하기 위해 최첨단 오픈 웨이트 파운데이션 모델인 ‘Toto’와 관측성(Observability) 전용 벤치마크인 ‘BOOM’을 공개했습니다. Toto는 방대한 양의 익명화된 관측 데이터를 학습하여 별도의 추가 훈련 없이도 즉각적인 제로샷(Zero-shot) 예측이 가능하며, 기존 범용 모델들보다 월등히 높은 정확도를 보여줍니다. 이번 발표는 복잡한 IT 인프라 환경에서 발생하는 시계열 데이터를 보다 정확하게 예측하고 분석할 수 있는 새로운 표준을 제시했다는 점에서 기술적 의미가 큽니다. **시계열 파운데이션 모델 Toto의 구조와 특징** - Toto는 패치 기반 트랜스포머(PatchTST) 아키텍처를 기반으로 설계되어 시계열 데이터의 국소적 패턴과 장기적인 의존성을 동시에 효과적으로 포착합니다. - 수십억 개의 데이터 포인트를 포함하는 대규모 관측성 데이터셋으로 사전 학습되어, CPU 사용량, 네트워크 트래픽, 에러율 등 IT 환경 특유의 복잡한 패턴에 최적화되어 있습니다. - 특정 도메인에 종속되지 않는 강력한 제로샷 추론 성능을 갖추고 있어, 사용자가 자신의 데이터로 모델을 다시 학습시키지 않고도 즉시 고성능 예측 결과를 얻을 수 있습니다. - 데이터의 결측치나 불규칙한 샘플링 주기 등 실제 운영 환경에서 빈번하게 발생하는 데이터 품질 문제에 대해서도 높은 회복 탄력성을 보여줍니다. **관측성 데이터 전용 벤치마크 BOOM** - 기존의 시계열 벤치마크(ETT, Weather 등)가 실제 IT 인프라의 동적인 변동성을 충분히 반영하지 못한다는 문제를 해결하기 위해 ‘BOOM(Benchmark for Observability Orchestration and Modeling)’을 구축했습니다. - BOOM은 수만 개의 실제 서비스 메트릭을 포함하며, 급격한 스파이크(Spikes), 데이터 드리프트, 다중 계절성 등 클라우드 네이티브 환경의 독특한 특성을 데이터셋에 녹여냈습니다. - 이를 통해 시계열 모델의 성능을 단순히 수학적 지표로만 평가하는 것이 아니라, 실제 운영 환경에서의 유용성을 객관적으로 검증할 수 있는 표준을 제공합니다. **성능 검증 및 비교 우위** - 데이터독의 실험 결과에 따르면, Toto는 Chronos, TimesFM, Lag-Llama 등 기존의 주요 시계열 파운데이션 모델들과 비교했을 때 BOOM 벤치마크에서 가장 우수한 예측 성능을 기록했습니다. - 특히 관측성 데이터 특유의 높은 노이즈와 비정형 패턴 속에서도 낮은 오차율(MSE, MAE)을 유지하며 실전 투입 가능성을 입증했습니다. - 모델의 가중치가 공개된 '오픈 웨이트' 방식으로 제공되므로, 기업들은 Hugging Face를 통해 모델을 다운로드하여 자신의 프라이빗한 환경 내에서 보안 걱정 없이 활용할 수 있습니다. Toto와 BOOM의 공개는 시계열 분석 기술을 전통적인 통계 모델에서 AI 기반 파운데이션 모델로 전환하는 중요한 이정표입니다. 인프라 운영자와 데이터 과학자는 Toto를 활용해 이상 징후 탐지, 용량 계획(Capacity Planning), 비용 최적화 등을 더욱 정교하게 수행할 수 있으며, 공개된 벤치마크를 통해 자신의 분석 모델을 검증하고 지속적으로 개선해 나갈 수 있습니다.

Our journey taking Kubernetes state metrics to the next level | Datadog (새 탭에서 열림)

Datadog은 대규모 Kubernetes 환경에서 오픈소스 도구인 kube-state-metrics(KSM)를 운영하며 겪은 확장성 문제를 해결하기 위해 오픈소스 커뮤니티에 직접 기여하여 성능을 대폭 개선했습니다. 기존 KSM은 수천 개의 노드와 수만 개의 포드가 있는 환경에서 지표 수집 시간이 수십 초에 달하고 데이터 용량이 비대해지는 성능 저하 문제를 안고 있었습니다. 이를 해결하기 위해 KSM v2 개발 과정에 참여하여 지표 생성 프로세스를 최적화함으로써 수집 속도를 15배 향상하고 대규모 클러스터에서도 고해상도 데이터를 안정적으로 확보할 수 있게 되었습니다. **KSM의 작동 원리와 기존의 한계** * KSM은 Kubernetes API 서버를 리스닝하며 객체의 상태 지표를 생성하는 서비스로, 인포머(Informer) 패턴을 사용해 클러스터 수준의 메타데이터를 OpenMetrics 형식으로 노출합니다. * Datadog 에이전트는 15초마다 `/metrics` 엔드포인트를 크롤링하여 데이터를 수집하며, 필요에 따라 `label_joins` 설정을 통해 메타데이터를 결합해 지표의 가독성을 높입니다. * 하지만 기존 구조에서는 쿼리 시점에 대량의 데이터가 한꺼번에 덤프되고, 지표 생성 과정에 개입할 수 있는 훅(hook)이 부족하여 성능 확장에 제약이 있었습니다. **대규모 환경에서의 확장성 병목 현상** * 리소스당 지표 생성량을 분석한 결과 노드는 약 9개, 포드는 약 40개의 지표를 생성하며, 수만 개의 포드가 있는 환경에서는 매 수집 주기마다 수백만 개의 지표를 처리해야 합니다. * 이로 인해 네트워크 호출 시간이 수십 초로 늘어나고 데이터 크기가 수십 메가바이트에 달하게 되어, 지표의 정밀도를 낮추거나 수집 주기를 강제로 늦춰야 하는 상황이 발생했습니다. * Datadog은 이를 해결하기 위해 포드, 노드, 기타 리소스별로 KSM 배포를 물리적으로 분리하는 전략을 사용했으나 이는 임시방편에 불과했습니다. **오픈소스 기여를 통한 성능 최적화** * Datadog 팀은 내부적인 수정을 넘어 KSM v2.0.0의 메인 커뮤니티와 협력하여 지표 생성 로직과 빌더(Builder) 구조를 근본적으로 개선했습니다. * 결과적으로 지표 수집 프로세스 소요 시간을 기존 대비 15배 단축하는 성과를 거두었으며, 이는 대규모 인프라 운영의 핵심적인 전환점이 되었습니다. * 이러한 경험은 오픈소스 커뮤니티에 기여하는 것이 개별 기업의 인프라 문제를 해결함과 동시에 기술적 생태계 전체의 성능을 끌어올리는 가장 효과적인 방법임을 시사합니다. **실용적인 결론 및 추천** 대규모 Kubernetes 클러스터를 운영 중이라면 KSM v2 이상의 버전을 채택하여 최적화된 지표 수집 성능을 확보하는 것이 필수적입니다. 또한 단일 KSM 배포에서 성능 저하가 발생할 경우, 본문에서 언급된 것처럼 리소스 유형별(Collectors)로 배포를 분리하여 부하를 분산하는 전략을 검토해 보시기 바랍니다.