#DevOps

넷플릭스 Stratum 미디어 처리: 자동화된 컨테이너 리소스 최적화

넷플릭스 Stratum 미디어 처리: 자동화된 컨테이너 리소스 최적화
01

Summary

넷플릭스는 어떻게 매일 수십만 개 컨테이너의 리소스 낭비를 자동으로 줄였을까?

안전한 컨테이너 자동 감축(Right-Sizing)을 구현한 Stratum Resource Tuner의 설계와 메커니즘

넷플릭스가 개발한 Stratum Resource Tuner(SRT)는 서버리스 미디어 처리 플랫폼 환경에서 컨테이너의 CPU, 메모리, 디스크, 네트워크 리소스를 휴먼 에러 없이 자동으로 최적화하는 시스템입니다. 일별 사용량 지표 분석부터 실험 검증, 그리고 실패 시 1.5배 자원으로 자동 재시도하는 고도의 안전 아키텍처를 소개합니다.

  • 01수천만 건의 워크로드 실행 지표를 Keystone 및 Apache Iceberg 기반으로 수집 및 장기 분석
  • 02CPU/네트워크는 p99, 메모리/디스크는 p99.9 기준 최적화 및 단일 사이클 감축률 15% 제한 적용
  • 03임계치(메모리 85%, 디스크 95%) 초과 시 1.5배 큰 컨테이너로 자동 재시도하는 안전 메커니즘 구축
  • 04대규모 동영상 인코딩 워크로드에서 서비스 장애 위험 없이 리소스 감축 성과 달성

RECOMMENDATION

대규모 서버리스 및 배치 컨테이너 환경을 운영하며 과다 할당으로 인한 클라우드 비용 증대에 고민하는 DevOps 및 플랫폼 엔지니어에게 적극 추천합니다.

The Problem

넷플릭스의 서버리스 미디어 처리 플랫폼인 Stratum은 수동 YAML 리소스 설정으로 인해 컨테이너의 과다 할당(Over-provisioning) 및 서버 리소스 낭비 문제에 직면했습니다. 하드웨어 스펙 변화, 코덱 발전, 다양한 미디어 워크로드 확장에 따라 사람이 직접 리소스 크기를 지속해서 최적화하기 어려웠습니다.

The Solution

넷플릭스는 인적 개입 없이 컨테이너 리소스를 자동 최적화하는 SRT(Stratum Resource Tuner)를 구축했습니다. Keystone과 Iceberg를 통해 수집된 실행 지표를 바탕으로 일단위 추천값을 생성하고, 메모리/디스크 임계치 초과 시 1.5배 큰 컨테이너로 재시도하는 안전 장치(Retry with More Resources)를 결합했습니다.

The Result

고처리량 워크로드(전체 리소스의 70~80%)를 대상으로 안전하게 리소스를 재조정하여 고비용 DRAM 및 컴퓨팅 자원의 낭비를 크게 절감했습니다. 예를 들어 VideoEncoder.encodeV1 기능의 CPU 할당을 8에서 4로, 메모리를 18,000MB에서 15,300MB로 절감했습니다.

Trade-off

예기치 못한 트래픽 스파이크 시 재시도 메커니즘으로 인해 일부 작업 실행 지연 및 컴퓨팅 오버헤드가 발생할 수 있습니다. 또한 한 번에 최대 15%만 감축하도록 안전 제한을 두어 최적값 도달까지 여러 사이클이 소요되며, 현재 구조상 완전한 OOM 감지 대신 예비 임계치(85%/95%)를 활용해야 하는 한계가 있습니다.

03

Key Concepts

Concept · 01

Stratum Resource Tuner (SRT)

넷플릭스의 서버리스 미디어 처리 플랫폼인 Stratum 환경에서 컨테이너 리소스 할당을 자동으로 최적화(Right-Sizing)하는 자동화 시스템입니다.

  • 실행 지표 기반으로 리소스 추천값을 생성하고 실험 검증 후 생산 환경에 자동 적용합니다.
  • 메모리/디스크 위험 검출 시 1.5배 큰 컨테이너로 재시도하는 자가 치유 안전 장치를 제공합니다.
Concept · 02

Titus

넷플릭스에서 사용되는 오픈소스 컨테이너 관리 플랫폼으로, 대규모 분산 배치 작업 및 지속적인 워크로드를 관리합니다.

  • Stratum의 OCI 이미지 컨테이너들이 Titus 플랫폼 상에서 배치 작업으로 스케줄링되어 실행됩니다.
Concept · 03

Retry with More Resources

컨테이너 실행 중 메모리나 디스크 사용량이 사전 설정된 임계치를 초과할 때 작업을 중단하고 더 큰 리소스로 재실행하는 안전 메커니즘입니다.

  • 메모리 사용량이 85%를 넘거나 디스크 사용량이 95%를 초과할 때 1.5배 큰 컨테이너로 자동 재시도합니다.