넷플릭스가 Kueue를 통해 배치 컴퓨팅을 어떻게 간소화했는지
넷플릭스는 컴퓨팅 인프라를 쿠버네티스 네이티브 모델로 전환하며, Kueue와 같은 구성 요소를 자사의 Titus 플랫폼에 통합하고 있습니다. 클라우드 네이티브 작업 큐 시스템인 Kueue는 넷플릭스가 자체 개발한 배치 솔루션인 Compute Managed Batch(CMB)의 맞춤형 로직을 대체했습니다. 이러한 마이그레이션의 동기로는 CMB의 노후화, 쿠버네티스의 진화, 그리고 기존 시스템에 선점(preemption)과 같은 기능을 추가하기가 점점 더 어려워진 점 등이 꼽혔습니다. Kueue는 기존 Titus 스케줄링 프로필과의 호환성, 도입 확산 추세, 그리고 선점과 같은 기능을 네이티브로 지원한다는 점 때문에 다른 대안들보다 선택되었습니다.‘Netflix Batch’로 알려진 이번 마이그레이션은 사용자에게 미치는 영향을 제로로 하고 처리량을 저하시키지 않는 것을 목표로 했습니다. 이 과정에서는 작업 제출을 Kueue가 활성화된 Titus 셀로 재라우팅하고, Titus 페더레이션이 작업 분배를 처리하도록 했습니다. 운영자 측의 조정은 최소한으로 이루어졌으며, 주로 테넌트를 Kueue에 등록하기 위한 간단한 UI 토글 설정에 국한되었습니다. 이 등록 과정을 통해 CMB의 기존 테넌트 계층 구조와 용량 구성이 Kueue의 코호트(Cohorts), 클러스터 큐(ClusterQueues), 로컬 큐(LocalQueues) 개념으로 변환됩니다.주요 교훈으로는 원활한 사용자 경험을 보장하기 위해 기존 시스템과의 API 호환성을 유지한 점과, 신뢰를 구축하기 위해 복잡한 사용 사례를 조기에 마이그레이션한 점이 있습니다. 또한 Kueue가 넷플릭스의 높은 처리량 요구 사항을 처리할 수 있는지 확인하기 위해 부하 테스트를 수행하는 것이 중요했으며, 이를 위해 기본 구성을 조정해야 했습니다. 현재 Kueue는 완전히 가동 중이며 수백만 건의 배치 워크로드를 관리하고 있으며, 향상된 공정한 공유 및 선점 기능을 지원하고 있습니다. 이러한 개선 사항을 통해 예약된 용량의 활용도를 높이고, 작업 대기 현상을 줄이며, 중요 워크로드의 처리 속도를 향상시켜 평균 리소스 활용도를 크게 높였습니다.