RSS 넷플릭스 테크블로그 - 미디엄

VES 만들기: 넷플릭스 비디오 인코딩을 위한 코스모스 마이크로 서비스

넷플릭스의 새로운 비디오 처리 플랫폼인 코스모스(Cosmos)는 마이크로서비스를 사용하여 미디어 처리 파이프라인을 현대화합니다. 비디오 인코딩 서비스(VES)는 미들레인 콘텐츠를 스트리밍 또는 스튜디오용 비디오 스트림으로 인코딩하는 핵심 마이크로서비스입니다. VES는 여러 코덱, 해상도 및 품질 수준을 지원하며, 낮은 지연 시간을 위한 청크 인코딩을 사용합니다. Optimus라는 API 계층은 외부 사용자에게 안정적인 인터페이스를 제공합니다. 워크플로우 계층인 플라톤(Plato)은 방향성 비순환 그래프(DAG)와 맵리듀스 병렬성을 사용하여 인코딩 단계를 조율합니다. 컴퓨팅 집약적인 작업은 스트라툼(Stratum)이라는 컴퓨팅 계층에 위임되며, 스트라툼 함수(Stratum Functions)가 도커 이미지에 패키징되어 있습니다. VES는 독립적인 릴리스 및 인코더 업그레이드를 가능하게 하기 위해 다양한 코덱 형식에 대한 여러 스트라툼 함수를 사용합니다. 플랫폼은 미디어 액세스 패턴에 대한 추상화를 제공하여 스트라툼 함수 코드를 단순화합니다. 리소스 요구 사항은 벤치마킹을 통해 결정되며, "컨테이너 모양"은 코덱 형식 및 해상도에 따라 리소스를 할당합니다. 자동화된 릴리스 파이프라인 및 광범위한 테스트를 통해 지속적인 릴리스가 가능합니다. 생산 메트릭 및 로그는 모니터링 및 경고에 사용되며, 메트릭이 크게 벗어나면 자동 서비스 롤백이 포함됩니다. VES를 구축하는 과정에서 얻은 교훈은 팀의 마이크로서비스 개발에서 이후 설계 선택을 안내했습니다.
favicon
netflixtechblog.com
The Making of VES: the Cosmos Microservice for Netflix Video Encoding