
Switchboard에서 Lightbulb까지, 인프라 복잡성을 감추고 실험 속도를 극대화하는 모델 서빙의 진화 과정
이 아티클은 넷플릭스가 대규모 ML 모델 서빙 환경에서 겪은 라우팅 문제를 해결해 온 여정을 다룹니다. 중앙 집중식 프록시를 통해 클라이언트와 모델을 분리한 초기 전략부터, 성능 최적화를 위해 Envoy 기반의 분산 아키텍처로 전환한 기술적 배경과 구현 상세를 깊이 있게 공유합니다.
대규모 마이크로서비스 환경에서 ML 모델을 효율적으로 서빙하고자 하는 인프라 엔지니어와 MLOps 전문가에게 강력히 추천합니다. 특히 넷플릭스와 같은 복잡한 A/B 테스트 환경을 구축해야 한다면 'Objective' 기반의 추상화 설계를 실무에 참고해 보시기 바랍니다.
넷플릭스는 초당 100만 건 이상의 모델 추론 요청을 처리하면서, 클라이언트 마이크로서비스에 복잡한 모델 인프라 노출 없이 연구자들이 신속하게 새로운 모델을 실험하고 배포할 수 있는 환경을 구축해야 했습니다. 특히 수백 개의 모델 버전과 가변적인 클러스터 샤딩 상태에서도 클라이언트의 코드 수정 없이 안정적인 라우팅을 보장하는 것이 핵심 과제였습니다.
비즈니스 유즈케이스를 추상화한 'Objective' 개념을 도입하고, 초기에는 중앙 집중식 프록시 레이어인 'Switchboard'를 구축하여 컨텍스트 기반 라우팅과 A/B 테스트를 처리했습니다. 이후 Switchboard의 성능 및 가용성 한계를 극복하기 위해 제어 평면과 데이터 평면을 분리하고 Envoy 프록시를 활용하는 'Lightbulb' 아키텍처로 진화시켰습니다.
클라이언트 서비스와 모델 아키텍처 간의 완전한 디커플링을 달성하여 모델 연구원이 독립적으로 실험을 수행할 수 있게 되었으며, 초당 100만 건의 대규모 트래픽을 높은 가용성으로 처리하는 데 성공했습니다. 또한 Lightbulb 도입을 통해 기존 Switchboard에서 발생하던 10~20ms의 직렬화 지연 시간을 제거하고 시스템 안정성을 강화했습니다.
Trade-off
초기의 Switchboard 아키텍처는 단일 장애점(SPOF) 위험과 네트워크 홉 추가에 따른 지연 시간 증폭이라는 한계가 있었으며, 모든 테넌트가 단일 클러스터를 공유함에 따라 노이즈 네이버(Noisy Neighbor) 문제가 발생할 수 있는 구조적 취약점이 존재했습니다.
클라이언트가 요청 시 전달하는 비즈니스 유즈케이스 단위의 추상화된 식별자입니다. 클라이언트가 구체적인 모델 버전이나 위치를 알 필요 없이 특정 목적(예: 추천, 사기 탐지)에 맞는 응답을 받을 수 있게 합니다.
모든 모델 추론 트래픽의 중앙 진입점 역할을 수행하는 사용자 정의 프록시 서비스입니다. 컨텍스트 기반 라우팅, 동적 트래픽 분할, 모델 수명 주기 관리 등을 담당합니다.
Switchboard의 중앙 집중식 한계를 극복하기 위해 설계된 차세대 라우팅 아키텍처입니다. 라우팅 로직과 실제 요청 데이터의 흐름을 분리하여 지연 시간을 줄이고 안정성을 높였습니다.









