다양한 환경에서 자동 메트릭 계산 플랫폼
초록
마이크로소프트는 웹, 검색, 모바일, OS, 클라우드 등 이질적인 제품군을 대상으로 실험을 대규모로 수행한다. 이를 위해 단일 플랫폼이 여러 컴퓨팅 파브릭(Spark, Azure Data Explorer 등)을 지원하고, 비전문가도 메트릭을 정의·분석할 수 있도록 설계되었다. 논문은 이러한 이질성을 해결한 시스템 구조와 구현 방식을 제시한다.
상세 분석
본 논문은 대규모 실험 플랫폼이 직면한 네 가지 이질성 차원을 명확히 정의하고, 각각에 대한 설계 원칙과 구현 전략을 제시한다. 첫 번째 차원은 제품군의 다양성이다. 웹, 검색, 모바일 앱, 운영체제, 클라우드 서비스 등은 데이터 스키마, 트래픽 패턴, 실험 주기가 크게 다르며, 이를 하나의 메트릭 정의 언어로 통합하려면 추상화 레이어가 필요하다. 저자들은 ‘Metric Definition DSL(도메인 특화 언어)’을 도입해 메트릭을 선언형으로 기술하도록 하였으며, DSL은 타입 시스템을 통해 정수, 실수, 비율 등 기본형을 검증하고, 집계 함수와 변환 파이프라인을 선언적으로 연결한다.
두 번째 차원은 컴퓨팅 파브릭의 이질성이다. 기존 실험 분석은 Spark 기반 배치 처리에 국한되었지만, 실시간 대시보드와 고속 탐색을 위해 Azure Data Explorer(ADX)와 같은 열 기반 스토어가 필요했다. 논문은 ‘Fabric Adapter Layer’를 설계해 각 파브릭에 대한 커넥터를 플러그인 형태로 제공한다. 이 레이어는 DSL 컴파일 단계에서 목표 파브릭에 맞는 실행 계획을 자동 생성하고, 공통 연산(필터, 그룹화, 집계)을 파브릭 별 최적화된 API 호출로 매핑한다. 새로운 파브릭이 추가될 경우, 인터페이스만 구현하면 즉시 지원 가능하도록 설계되어 확장성을 확보한다.
세 번째 차원은 사용자 페르소나의 다양성이다. 데이터 과학자, 엔지니어, 제품 매니저, 영업팀 등은 각각 다른 기술 수준과 요구사항을 가진다. 이를 해결하기 위해 시스템은 두 가지 인터페이스를 제공한다. 첫 번째는 코드 기반의 ‘SDK’로, 파이썬·스칼라·C# 등 익숙한 언어로 DSL을 작성하고 파이프라인을 제어한다. 두 번째는 ‘Low‑Code UI’로, 드래그‑앤‑드롭 방식의 시각적 편집기를 제공해 비전문가도 메트릭을 정의하고 결과를 조회할 수 있다. UI는 백엔드와 실시간으로 동기화되며, 정의된 메트릭은 자동으로 버전 관리되고 재사용 가능하도록 중앙 메타스토어에 저장된다.
네 번째 차원은 분석 목적의 다양성이다. 일부 사용자는 실험 결과를 대시보드 형태로 모니터링하고, 다른 사용자는 통계적 검증을 위한 상세 분석을 수행한다. 시스템은 ‘Analysis Mode’를 통해 두 모드를 전환한다. 대시보드 모드에서는 사전 정의된 집계와 시각화 템플릿을 활용해 빠른 피드백을 제공하고, 실험 분석 모드에서는 베이지안 A/B 테스트, 부트스트랩, 다변량 분석 등 고급 통계 모델을 파이프라인에 삽입할 수 있다. 또한, 메트릭 정의와 분석 로직이 분리돼 있어 동일 메트릭을 여러 분석 모드에서 재사용할 수 있다.
전체 아키텍처는 ‘Metric Service’, ‘Fabric Adapter’, ‘Execution Engine’, ‘Metadata Store’, ‘User Interface’ 등 5개의 핵심 컴포넌트로 구성된다. Metric Service는 DSL 파싱·검증·컴파일을 담당하고, 컴파일 결과를 Execution Engine에 전달한다. Execution Engine는 파브릭 어댑터를 통해 실제 데이터에 접근하고, 결과를 Metadata Store에 기록한다. UI는 RESTful API를 통해 Service와 통신하며, 실시간 알림과 권한 관리 기능을 제공한다.
성능 평가에서는 Spark와 ADX 두 파브릭에 대해 동일 메트릭을 실행했을 때, 파브릭 별 최적화 덕분에 평균 2.3배 이상의 처리 속도 향상을 기록했다. 또한, 비전문가 그룹(제품 매니저·영업팀)에게 UI 사용 교육을 2시간 제공한 뒤 85% 이상이 스스로 메트릭을 정의하고 대시보드를 생성할 수 있었다는 설문 결과가 제시된다.
결론적으로, 본 시스템은 이질적인 제품·데이터·사용자 환경을 하나의 통합 플랫폼으로 추상화함으로써 실험 문화의 확산과 운영 효율성을 동시에 달성한다는 점에서 의미가 크다.
댓글 및 학술 토론
Loading comments...
의견 남기기