observability

8 개의 포스트

Scaling to Infinity: 한계를 넘어서는 LY Corporation의 관측 가능성 플랫폼 진화기 (새 탭에서 열림)

LY Corporation은 수만 대의 서버와 컨테이너 환경에서 발생하는 일간 수조 건의 지표를 효율적으로 처리하기 위해 독자적인 시계열 데이터베이스(TSDB)를 개발하여 운영하고 있습니다. 초기 MySQL과 OpenTSDB의 한계를 극복하고자 인메모리(IMDB), Cassandra, S3를 결합한 다중 계층 저장소 아키텍처를 구축함으로써 데이터 폭증에 유연하게 대응하고 있습니다. 이를 통해 개발자와 운영자가 인프라 관리 부담 없이 서비스의 건강 상태를 즉각적으로 파악하고, 향후 AI 기반의 지능형 관찰가능성 플랫폼으로 진화하는 것을 목표로 합니다. **시계열 데이터의 규모와 저장소의 중요성** * **기하급수적인 데이터 증가:** 서버 1대의 CPU 지표(15초 주기)는 연간 약 562 MiB를 차지하며, 수천 대 규모의 인프라에서는 연간 테비바이트(TiB) 단위의 저장 공간이 필요합니다. * **고해상도 데이터의 필요성:** 장애 징후를 사전에 포착하고 정밀하게 모니터링하기 위해 1분 미만의 고해상도 지표 수집이 필수적이지만, 이는 범용 데이터베이스에 엄청난 쓰기 부하를 줍니다. * **클라우드 네이티브의 복잡성:** 쿠버네티스 환경에서는 파드(pod)의 잦은 생성과 소멸로 인해 관리해야 할 대상(Cardinality)이 폭증하며, 이를 수용할 유연한 스키마 구조가 요구됩니다. **자체 시계열 데이터베이스 엔진 개발 과정** * **기존 솔루션의 한계:** MySQL은 쓰기 성능과 경직된 스키마 문제로, OpenTSDB는 태그 개수 제한 및 문자열 제약, 쿼리 전 웜업(warm-up) 필요성 등의 운영상 한계가 있었습니다. * **Gorilla 논문 기반 최적화:** 데이터 조회의 85%가 최근 26시간 이내에 집중된다는 점에 착안하여, 최근 데이터는 IMDB에 저장하고 과거 데이터는 디스크 기반 저장소로 보내는 전략을 수립했습니다. * **사용자 편의성 유지:** 백엔드 아키텍처를 근본적으로 교체하면서도 기존 API와의 호환성을 완벽히 유지하여, 사용자가 코드 수정 없이도 성능 향상의 혜택을 누리게 했습니다. **데이터 홍수에 대응하는 계층형 저장 구조** * **가중치 기반 부하 분산:** 서로 다른 스펙의 노드가 혼재된 환경에서도 성능을 극대화할 수 있도록 IMDB의 부하 분산 알고리즘을 개선했습니다. * **S3 기반의 하이브리드 저장소:** 고성능 처리가 필요한 최근 14일치 데이터는 Cassandra에, 그 이전의 방대한 데이터는 비용 효율적인 S3 호환 저장소에 적재하는 3단계 계층 구조를 도입했습니다. * **데이터 파이프라인 최적화:** IMDB의 데이터를 슬롯 단위로 읽어 블록화하여 S3에 저장하는 '덤퍼(Dumper)'와, 읽기 성능을 위해 디스크 캐싱을 수행하는 'Storage Gateway'를 구축했습니다. **기술적 난관 극복과 협업의 성과** * **메모리 고갈 문제 해결:** 스토리지 게이트웨이의 I/O 과정에서 페이지 캐시 점유율이 급증하는 문제를 발견하고, 직접 I/O(Direct I/O) 대신 커널 페이지 캐시를 효율적으로 쓰는 B+ 트리 기반 캐시로 전환했습니다. * **부서 간 협업:** 직접 I/O 적용 시 발생할 수 있는 클라우드 스토리지 대역폭 문제를 유관 부서와 긴밀히 소통하여 조기에 파악하고 최적의 해답을 도출했습니다. 대규모 시스템의 관찰가능성을 확보하기 위해서는 데이터의 접근 패턴에 맞춘 계층형 저장소 설계가 필수적입니다. 단순한 저장소 확장을 넘어, 파편화된 데이터를 통합하고 AI를 활용한 예측 모델을 결합함으로써 시스템의 안정성을 선제적으로 관리하는 지능형 플랫폼으로 나아가야 합니다.

AWS 주간 업데이트: Amazon Bedrock (새 탭에서 열림)

이번 AWS Weekly Roundup은 생성형 AI 에이전트의 워크플로우 강화와 데이터 보안 및 운영 효율성을 높이는 다양한 업데이트를 다루고 있습니다. 특히 Amazon Bedrock의 서버 측 도구 지원과 S3의 암호화 관리 방식 개선 등 개발자가 더욱 안전하고 고도화된 애플리케이션을 구축할 수 있도록 돕는 기능들이 대거 출시되었습니다. 이번 업데이트들을 통해 기업들은 인프라 관리의 복잡성을 줄이면서도 고성능의 탄력적인 클라우드 환경을 구현할 수 있게 되었습니다. ### Amazon Bedrock 및 AI 에이전트 워크플로우 강화 * **서버 측 도구 지원**: Bedrock 에이전트가 AWS 보안 경계 내에서 웹 검색, 코드 실행, 데이터베이스 업데이트 등의 작업을 수행할 수 있는 서버 측 도구 기능이 추가되었습니다. (OpenAI GPT OSS 20B/120B 모델 지원) * **프롬프트 캐싱 TTL 확장**: 멀티 턴(multi-turn) 대화의 성능을 높이고 비용을 절감하기 위해 프롬프트 캐싱에 1시간 TTL(Time-to-Live) 옵션이 도입되었습니다. * **자연어 기반 배포(MCP Server)**: AI 에이전트가 자연어 프롬프트만으로 AWS CDK 인프라를 생성하고 CloudFormation 스택을 배포할 수 있는 표준 운영 절차(SOP)가 미리보기로 제공됩니다. ### 데이터 보안 및 네트워크 연결성 최적화 * **S3 객체 암호화 변경**: `UpdateObjectEncryption` API를 통해 데이터를 이동하거나 다시 업로드하지 않고도 기존 객체의 서버 측 암호화 유형(SSE-S3에서 SSE-KMS 등)을 변경하거나 키를 교체할 수 있습니다. * **SageMaker Unified Studio 프라이빗 연결**: AWS PrivateLink를 지원하여 공용 인터넷을 거치지 않고 VPC와 SageMaker Unified Studio 간의 안전한 데이터 통신이 가능해졌습니다. * **Network Firewall 가시성**: 생성형 AI 애플리케이션 트래픽을 식별하는 웹 카테고리가 추가되어, AI 도구에 대한 액세스 제어 및 URL 수준의 필터링이 가능합니다. ### 데이터베이스 및 이벤트 기반 아키텍처 성능 향상 * **Amazon Keyspaces 테이블 예열(Pre-warming)**: 높은 읽기/쓰기 트래픽이 예상되는 시점에 미리 테이블을 예열하여 콜드 스타트 지연 없이 즉각적인 처리량을 확보할 수 있습니다. * **EventBridge 페이로드 용량 확대**: 이벤트 페이로드 제한이 기존 256KB에서 1MB로 크게 늘어나, 대규모 JSON 구조나 텔레메트리 데이터를 외부 저장소 없이 한 번에 전송할 수 있습니다. * **DynamoDB MRSC 결함 주입 테스트**: AWS Fault Injection Service와 통합되어 다중 리전 강력한 일관성(MRSC) 글로벌 테이블의 리전 장애 시뮬레이션 및 복원력 검증이 가능합니다. ### 모니터링 및 운영 도구 개선 * **Lambda-Kafka 관측성 강화**: Kafka 이벤트 소스 매핑에 대한 CloudWatch 로그 및 지표가 추가되어, 폴링 설정 및 스케일링 상태를 더욱 세밀하게 모니터링할 수 있습니다. * **AI 지원 관측성 워크플로우**: Amazon CloudWatch Application Signals와 Kiro의 통합으로 AI 에이전트의 도움을 받아 서비스 상태 및 SLO 준수 여부를 더 빠르게 조사할 수 있습니다. 이번 업데이트의 핵심은 AI 에이전트가 실제 비즈니스 로직을 안전하게 수행하도록 돕는 인프라를 구축하고, 대규모 데이터 처리 시 발생하는 운영상의 병목 현상을 제거하는 데 있습니다. 특히 S3 암호화 변경이나 EventBridge 용량 확대와 같은 기능은 기존 아키텍처의 수정 없이도 운영 효율을 즉각적으로 개선할 수 있는 실용적인 변화이므로 적극적인 도입 검토를 추천합니다.

DrP: 대규모 환경을 (새 탭에서 열림)

Meta가 개발한 **DrP(Root Cause Analysis platform)**는 대규모 시스템에서 발생하는 장애 조사 과정을 프로그래밍 방식으로 자동화하여 평균 복구 시간(MTTR)을 혁신적으로 단축하는 플랫폼입니다. 기존의 수동 조사와 노후화된 플레이북이 유발하는 온콜(On-call) 엔지니어의 피로도 문제를 해결하기 위해, 분석 로직을 코드로 작성하고 실행할 수 있는 통합 환경을 제공합니다. 현재 Meta 내 300개 이상의 팀에서 매일 5만 건 이상의 분석을 수행하며, 장애 복구 시간을 20%에서 최대 80%까지 줄이는 성과를 내고 있습니다. ### DrP의 핵심 구성 요소 * **표현력이 풍부한 SDK**: 엔지니어가 조사 워크플로우를 '분석기(Analyzer)'라는 코드로 구현할 수 있게 돕습니다. 이상 탐지, 시계열 상관관계 분석, 차원 분석 등 복잡한 데이터 분석을 위한 머신러닝 알고리즘과 헬퍼 라이브러리를 포함합니다. * **확장 가능한 백엔드**: 수만 건의 분석을 동시에 처리할 수 있는 멀티 테넌트 실행 환경을 제공하며, 각 분석 작업이 안전하게 격리되어 실행되도록 보장합니다. * **워크플로우 통합 및 후처리**: 알림(Alert) 시스템 및 장애 관리 도구와 긴밀하게 통합되어 장애 발생 시 자동으로 분석을 시작합니다. 분석 후에는 티켓 생성이나 코드 수정 요청(PR)과 같은 후속 조치를 자동으로 수행하는 기능도 갖추고 있습니다. ### 분석기(Analyzer)의 작성 및 실행 흐름 * **코드 기반 플레이북 작성**: 엔지니어는 SDK를 사용하여 장애 조사의 의사결정 트리를 코드로 작성합니다. 이 과정에서 종속된 서비스들의 분석기를 서로 연결(Chaining)하여 복합적인 장애 원인을 추적할 수 있습니다. * **자동화된 검증**: 작성된 분석기는 배포 전 코드 리뷰 도구와 통합된 백테스트(Backtesting) 과정을 거쳐 품질과 신뢰성을 검증받습니다. * **즉각적인 통찰력 제공**: 장애가 감지되면 DrP 백엔드가 즉시 분석기를 가동합니다. 온콜 엔지니어는 장애 알림을 받는 동시에 시스템이 이미 분석해 놓은 근본 원인과 권장 조치 사항을 확인할 수 있습니다. ### 도입 효과 및 운영 가치 * **MTTR의 획기적 단축**: 수동으로 몇 시간씩 걸리던 데이터 수집과 분류 작업을 자동화함으로써 장애 복구 속도를 가속화하고 시스템 가용성을 높입니다. * **온콜 생산성 향상**: 반복적이고 소모적인 디버깅 작업을 기계가 대신 처리하게 함으로써 엔지니어가 더 복잡하고 가치 있는 문제 해결에 집중할 수 있게 합니다. * **조사의 일관성 확보**: 개인의 숙련도에 의존하던 조사 방식을 코드화된 워크플로우로 표준화하여, 어떤 엔지니어가 대응하더라도 동일한 수준의 고품질 분석 결과를 얻을 수 있습니다. **결론적으로**, DrP는 대규모 마이크로서비스 환경에서 발생하는 복잡한 장애를 해결하기 위해 '운영의 코드화'를 실현한 사례입니다. 시스템 규모가 커짐에 따라 수동 대응의 한계를 느끼는 조직이라면, DrP와 같은 자동화된 RCA 플랫폼을 도입하여 인프라의 안정성과 엔지니어의 생산성을 동시에 확보하는 전략이 권장됩니다.

Amazon Bedrock AgentCore (새 탭에서 열림)

Amazon Bedrock AgentCore는 AI 에이전트가 자율적으로 동작할 때 발생할 수 있는 보안 및 품질 제어 문제를 해결하기 위해 정책 제어와 품질 평가 등 새로운 기능을 도입했습니다. 이를 통해 개발자는 에이전트의 권한을 세밀하게 제한하고 실제 운영 환경에서의 성능을 지속적으로 모니터링함으로써, 기업용 수준의 신뢰할 수 있는 AI 에이전트를 대규모로 안전하게 배포할 수 있습니다. **신규 정책 제어(Policy)를 통한 보안 경계 구축** * AgentCore Gateway를 활용하여 에이전트가 도구(Tool)를 호출하기 직전에 정책에 따른 세밀한 권한 검사를 수행함으로써 부적절한 데이터 접근이나 승인되지 않은 작업을 차단합니다. * 정책 제어는 에이전트의 자체 추론 루프(Reasoning Loop) 외부에서 독립적으로 작동하므로, 에이전트의 판단과 상관없이 비즈니스 가드레일을 강제로 적용할 수 있습니다. * 에이전트를 통제 가능한 자율적 행위자로 정의하여 민감한 시스템이나 데이터와 상호작용할 때 발생할 수 있는 리스크를 최소화합니다. **품질 평가(Evaluations)를 활용한 에이전트 신뢰도 검증** * 에이전트의 실제 행동 데이터를 기반으로 정확성(Correctness)과 유용성(Helpfulness) 등의 핵심 지표를 측정할 수 있는 기본 평가 도구를 제공합니다. * 기업의 특정 비즈니스 요구사항에 맞춘 커스텀 평가 지표를 생성하여 실제 고객 대응이나 내부 업무 프로세스에 적합한지 정밀하게 분석할 수 있습니다. * 에이전트 배포 전후의 성능을 정량화함으로써 불확실성을 제거하고 지속적인 품질 개선을 위한 데이터 기반의 인사이트를 확보합니다. **메모리 및 런타임 기능 확장을 통한 사용자 경험 강화** * **에피소드형 메모리(Episodic Memory):** 에이전트가 과거의 경험을 장기적으로 기억하고 학습하여, 유사한 상황이 발생했을 때 일관성 있고 최적화된 해결책을 제시할 수 있도록 돕습니다. * **양방향 스트리밍(Bidirectional Streaming):** 사용자와 에이전트가 동시에 말을 주고받는 자연스러운 대화 흐름을 지원하여 실시간 음성 에이전트 서비스의 반응성을 높였습니다. AI 에이전트의 강력한 자율성을 비즈니스 현장에 도입하려는 조직은 AgentCore의 새로운 정책 제어와 평가 기능을 통해 운영 안정성을 확보해야 합니다. 특히 대규모 데이터 처리나 실시간 고객 응대가 필요한 환경에서는 에피소드형 메모리와 양방향 스트리밍 기능을 결합하여 단순한 챗봇 이상의 고도화된 에이전트 서비스를 구축할 것을 추천합니다.

네이버 TV (새 탭에서 열림)

OpenTelemetry(OTel)는 클라우드 네이티브 환경에서 메트릭, 트레이스, 로그를 통합 관리하기 위한 오픈소스 표준 프레임워크로, 특정 벤더에 종속되지 않는 관측 가능성(Observability) 구축을 가능하게 합니다. 네이버는 기존 검색 모니터링 플랫폼 'SEER'를 OTel 및 오픈소스 기반으로 전환하면서 데이터 수집 효율성을 높이고 유연한 파이프라인을 확보했습니다. 특히 OTel Collector의 도입은 데이터 수집부터 가공, 전송에 이르는 전 과정을 표준화하여 운영 복잡도를 획기적으로 낮추는 결론에 도달했습니다. ### 데이터 중계의 핵심, OpenTelemetry Collector * Collector는 애플리케이션과 백엔드 사이에서 데이터를 수집, 처리, 전달하는 공급업체 불가지론적(Vendor-agnostic) 프록시 역할을 수행합니다. * 애플리케이션은 Collector에 데이터를 보내기만 하면 되므로, 백엔드 저장소가 변경되더라도 애플리케이션 코드를 수정할 필요가 없어 결합도가 낮아집니다. * 로컬 호스트나 별도의 게이트웨이 방식으로 배포할 수 있어 시스템 환경에 따른 유연한 아키텍처 구성이 가능합니다. ### 수집부터 전송까지의 파이프라인 구성 * **Receiver**: OTLP, Prometheus, Kafka 등 다양한 프로토콜로부터 데이터를 수집하며, 푸시(Push) 또는 풀(Pull) 방식을 모두 지원합니다. * **Processor**: 수집된 데이터를 백엔드로 보내기 전 가공하는 단계로, 배치 처리(Batch)를 통한 전송 효율화, 메모리 부족 방지(Memory Limiter), 민감 정보 필터링 등을 수행합니다. * **Exporter**: 처리된 데이터를 하나 이상의 백엔드 시스템(Elasticsearch, Jaeger, Prometheus 등)으로 전송하며, 여러 목적지로 동시에 데이터를 복제해 보낼 수도 있습니다. ### OTLP 프로토콜과 표준화의 이점 * OTLP(OpenTelemetry Protocol)는 gRPC 또는 HTTP를 사용하여 텔레메트리 데이터를 전송하는 OTel의 표준 프로토콜입니다. * 서로 다른 도구와 플랫폼 간의 상호운용성을 보장하며, 데이터 구조가 규격화되어 있어 분석 및 시각화 도구 선택의 폭이 넓어집니다. * 확장성이 뛰어난 바이너리 포맷을 사용하여 네트워크 대역폭 사용량을 최적화합니다. ### Kubernetes 환경에서의 효율적 운영, Operator * OpenTelemetry Operator를 사용하면 Kubernetes 환경에서 Collector의 배포 및 관리, 업데이트를 자동화할 수 있습니다. * 타겟 애플리케이션에 OTel 에이전트를 자동으로 주입(Injection)하는 기능을 제공하여 개발자의 번거로움을 줄여줍니다. * Collector의 설정(Config) 변경 시 사용자 정의 리소스(CRD)를 통해 선언적으로 관리할 수 있어 안정적인 운영이 가능합니다. ### 오픈소스 기여를 통한 기술 성숙도 강화 * 네이버는 실제 운영 환경에서 발견한 버그를 수정하고 필요한 기능을 제안하며 OpenTelemetry 커뮤니티에 적극적으로 기여하고 있습니다. * 오픈소스 생태계에 참여함으로써 단순히 기술을 소비하는 것을 넘어, 자사에 최적화된 기능을 표준에 반영하고 기술적 리더십을 확보하는 선순환 구조를 만들고 있습니다. **실용적인 제언** 모니터링 시스템의 확장성과 유연성을 고민하고 있다면, 처음부터 모든 것을 구축하기보다 **OpenTelemetry Collector**를 먼저 도입하여 데이터 파이프라인을 표준화할 것을 추천합니다. 이는 추후 분석 도구나 저장소를 교체할 때 발생하는 비용을 최소화하고, 분산 환경에서 발생하는 복잡한 데이터 흐름을 한곳에서 제어할 수 있는 가장 강력한 방법입니다.

100년 가는 프론트엔드 코드, SDK (새 탭에서 열림)

토스페이먼츠는 결제 연동의 복잡성을 해결하기 위해 SDK를 제공하고 있으며, 최근 V1의 한계를 극복하고 안정성과 확장성을 극대화한 V2 SDK를 구축했습니다. 가맹점의 다양한 런타임 환경과 예측 불가능한 요구사항에 대응하기 위해 단순한 기능 구현을 넘어 체계적인 아키텍처와 모니터링 시스템을 도입했습니다. 결과적으로 개발자에게는 쉬운 연동 경험을, 비즈니스에는 견고한 신뢰성을 제공하는 결제 생태계를 완성했습니다. **SDK 개발의 특수성과 V1의 한계** * **환경의 의존성:** SDK는 가맹점의 코드 내에서 실행되므로, 가맹점의 호출 빈도나 네트워크 상태에 직접적인 영향을 받습니다. 일례로 사용량 분석을 위해 추가한 로그 코드가 특정 가맹점의 잦은 호출과 맞물려 네트워크 병목 현상을 일으키고 서비스 전체를 다운시키는 사례가 발생했습니다. * **런타임 예측 불가능성:** 가맹점에서 잘못된 데이터 타입(예: String 대신 Number)을 전달할 경우 `startsWith` 같은 표준 메서드에서 에러가 발생하는 등, 일반적인 프론트엔드 개발보다 훨씬 방어적인 코딩이 요구됩니다. * **커뮤니케이션의 접점:** SDK는 단순히 API를 호출하는 도구가 아니라 가맹점 개발자와 만나는 기술적 창구이며, 가맹점의 수많은 커스텀 요구사항을 수용해야 하는 복잡성을 안고 있습니다. **안정성 확보를 위한 테스트와 모니터링** * **촘촘한 테스트 체계:** 로직 검증을 위한 300개 이상의 단위 테스트와 다양한 유즈케이스를 반영한 500개 이상의 E2E 통합 테스트를 통해 코드 수준의 안정성을 확보했습니다. * **Global Trace ID:** 프론트엔드부터 백엔드까지 결제 전 과정을 하나의 식별자로 추적하는 체계를 도입하여, 장애 발생 시 시스템 레이어 전체를 쉽게 파악할 수 있도록 했습니다. * **모니터링 CLI:** 배포 전후의 결제 성공률을 가맹점 및 런타임 환경(OS, 브라우저, 웹뷰 등)별로 비교 분석하는 자체 도구를 개발했습니다. 이를 통해 특정 환경에서 발생하는 결제 중단 현상을 실시간으로 탐지하고 즉각 대응합니다. **확장성을 위한 레이어드 아키텍처** * **조립 가능한 구조:** 특정 가맹점만을 위한 예외 처리가 `if`문으로 산재되어 코드 복잡도가 올라가는 문제를 해결하기 위해, 기능을 레고 블록처럼 독립적으로 구성했습니다. * **3계층 분리:** "변경의 원인"을 기준으로 코드의 경계를 명확히 나누어 관리합니다. * **Public Interface Layer:** 가맹점과 약속한 인터페이스를 검증하고 도메인 언어로 번역하는 역할 * **Domain Layer:** 핵심 비즈니스 로직과 결제 정책을 담당하는 중심부 * **External Service Layer:** 서버 API나 Web API 등 외부 의존성과의 통신을 담당하는 계층 * **관심사 격리:** 이러한 계층화를 통해 가맹점별 커스텀 요구사항이 추가되더라도 기존의 핵심 로직에 영향을 주지 않고 특정 블록만 교체하거나 확장할 수 있는 유연성을 확보했습니다. 성공적인 SDK 개발을 위해서는 단순히 편리한 기능을 제공하는 것을 넘어, 타사의 코드 환경에서도 견고하게 동작할 수 있는 방어적인 설계와 문제 발생 시 즉시 원인을 파악할 수 있는 관측성(Observability) 확보가 필수적입니다. 가맹점별 특이 케이스를 코드 전반에 흩뿌리기보다는, 명확한 레이어 구분을 통해 비즈니스 로직과 커스텀 로직을 분리하는 설계 원칙을 권장합니다.

쿠버네티스 상태 메트 (새 탭에서 열림)

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)로 배포를 분리하여 부하를 분산하는 전략을 검토해 보시기 바랍니다.

머신러닝을 위한 (새 탭에서 열림)

데이터독(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), 비용 최적화 등을 더욱 정교하게 수행할 수 있으며, 공개된 벤치마크를 통해 자신의 분석 모델을 검증하고 지속적으로 개선해 나갈 수 있습니다.