홈으로 돌아가기

넷플릭스가 스트리밍 인프라를 확장하는 방법: 클라우드 및 CDN

이 글은 넷플릭스가 세 가지 계층 전략을 통해 스트리밍 인프라를 확장하는 방법을 설명합니다: 사용자 상호작용을 위한 AWS 기반 제어 평면, 효율적인 글로벌 콘텐츠 전송을 위한 Open Connect CDN, 그리고 카오스 엔지니어링을 갖춘 탄력적인 마이크로서비스 아키텍처. 독자들은 두뇌와 근육의 분리, 독점 CDN에 대한 10억 달러 투자, 그리고 2억 7천만 구독자에게 100ms 미만의 지연 시간을 유지하는 로드 셰딩 및 VBR 인코딩과 같은 실용적인 기술을 이해하게 됩니다.

넷플릭스 확장 플레이북: 클라우드, CDN 및 마이크로서비스 설명
Advertisement 728x90

Netflix의 확장 전략: 클라우드, CDN 및 마이크로서비스

Netflix에서 재생 버튼을 누를 때마다 대륙, 데이터 센터, 수천 개의 마이크로서비스를 아우르는 분산 컴퓨팅 이벤트가 시작됩니다. 전 세계 2억 7천만 명 이상의 구독자에게 원활한 스트리밍을 제공하기 위해 Netflix는 콘텐츠를 인코딩, 전송 및 대규모로 관리하는 방식을 근본적으로 재창조해야 했습니다. 이 글에서는 Netflix가 스트리밍 인프라를 확장하는 방법을 세 가지 전략으로 살펴봅니다: 민첩성을 위한 클라우드 네이티브 제어 평면, 효율적인 전송을 위한 대규모 맞춤형 CDN인 Open Connect, 그리고 복원력을 핵심 원칙으로 설계된 마이크로서비스 아키텍처입니다. 이러한 계층을 이해하면 Netflix가 어떻게 100밀리초 미만의 지연 시간을 일관되게 유지하고 수십억 건의 일일 요청에 대한 버퍼링을 최소화하는지 알 수 있습니다.

학습 내용

이 글을 마치면 Netflix 글로벌 스트리밍 인프라의 아키텍처 결정을 이해하게 됩니다. 회사가 '두뇌'(제어 평면)와 '근육'(데이터 평면)을 분리하는 방법, 자체 CDN을 최적화하여 수십억 달러를 절약한 방법, 그리고 장애를 정상적인 조건으로 취급하는 이유를 배우게 됩니다. 클라우드 컴퓨팅, 맞춤형 하드웨어, 카오스 엔지니어링이 어떻게 결합되어 세계 최대 인터넷 서비스 중 하나를 확장하는지에 대한 명확한 개념 모델을 얻을 수 있습니다.

양면 아키텍처: 제어 평면 vs 데이터 평면

효과적으로 확장하기 위해 Netflix는 아키텍처를 제어 평면과 데이터 평면이라는 두 개의 뚜렷한 계층으로 분할했습니다. 이 분리는 Netflix가 스트리밍 인프라를 확장하는 방법의 초석으로, 각 측면이 특정 워크로드에 맞게 독립적으로 최적화할 수 있도록 합니다.

Google AdInline article slot

제어 평면 (AWS): 두뇌

'재생'을 누르기 전에 하는 모든 작업(브라우징, 검색, 추천 엔진, 사용자 인증, 결제, 계정 관리)은 AWS에서 실행되는 제어 평면이 처리합니다. 이 계층은 매일 수십억 건의 요청을 처리하는 수천 개의 Java 마이크로서비스로 구성됩니다. 이 트래픽은 예측 불가능하고 사용자 상호작용과 연결되어 있기 때문에 클라우드의 탄력성에 이상적입니다. Netflix는 AWS를 사용하여 이러한 서비스를 동적으로 확장하며, 특히 사용자 수요가 급증하는 주요 콘텐츠 출시 기간에 그렇습니다.

데이터 평면: Open Connect

'재생'을 누르면 데이터 평면이 작동합니다. 퍼블릭 클라우드에 의존하는 제어 평면과 달리 데이터 평면은 주로 Open Connect, 즉 Netflix의 독점 글로벌 콘텐츠 전송 네트워크(CDN)에서 운영됩니다. 이는 Netflix가 매일 페타바이트의 데이터를 전송하기 위해 스트리밍 인프라를 확장하는 방법에서 가장 중요한 구성 요소일 것입니다. Netflix는 지난 10년 동안 이 네트워크를 구축하는 데 10억 달러 이상을 투자했으며, 자체 글로벌 CDN을 운영하는 유일한 주요 스트리밍 서비스가 되었습니다.

Open Connect: Netflix의 10억 달러 CDN 내부

Open Connect는 Netflix가 165개 이상의 국가에서 4K 비디오를 스트리밍하고 트래픽의 95% 이상을 100ms 미만의 지연 시간으로 전송할 수 있게 해주는 마법입니다. Netflix는 증가하는 대역폭에 대해 타사 CDN에 비용을 지불하는 대신 자체 운명을 통제했습니다.

Google AdInline article slot

Open Connect 어플라이언스 (OCA)

Netflix는 Open Connect 어플라이언스(OCA)라는 물리적 서버를 인터넷 서비스 제공업체(ISP) 내부와 전 세계 6,000개 이상의 엣지 위치에 직접 배치합니다. 인기 콘텐츠를 사용자 가까이에 캐싱함으로써 Netflix는 데이터가 이동해야 하는 거리를 줄이고 Netflix와 ISP 모두의 대역폭 비용을 크게 낮춥니다. 이 서버는 주문형 콘텐츠 전용이 아니며, 라이브 스트리밍 이벤트를 지원하도록 확장되어 다양한 사용 사례 간에 용량을 공유합니다.

전송 최적화 및 효율성

라이브 스트리밍을 위해 Netflix는 실시간 콘텐츠 특성을 처리하기 위해 Open Connect에 상당한 개선을 도입했습니다. Live Origin 서버는 클라우드 인코딩 파이프라인과 Open Connect 사이에 위치한 맞춤형 마이크로서비스입니다. 'hold-open' 요청 기술을 사용합니다. 클라이언트가 아직 게시되지 않은 세그먼트를 요청하면 서버는 세그먼트가 준비될 때까지 요청을 열어두어 지속적인 404 오류의 '잡담'을 줄입니다. 또한 가변 비트레이트(VBR) 인코딩의 예측 불가능성을 처리하기 위해 Netflix는 트래픽 라우팅 로직을 변경했습니다. 단순한 장면에서 트래픽이 감소하는 현재 트래픽을 기준으로 라우팅하는 대신, 각 스트림의 공칭 비트레이트를 기준으로 용량을 예약하여 복잡한 고비트레이트 장면에서 서버 과부하를 방지합니다.

효율성을 위한 스마트 인코딩

Netflix의 최근 혁신 중 하나는 라이브 스트림에 대해 고정 비트레이트(CBR)에서 가변 비트레이트(VBR) 인코딩으로 전환한 것입니다. CBR에서는 토크쇼 장면과 액션 장면이 동일한 비트레이트를 소비하여 단순한 장면에서는 데이터를 낭비하고 복잡한 장면에서는 품질을 위험에 빠뜨립니다. VBR은 장면 복잡성에 따라 비트를 할당합니다. Netflix는 2026년 초에 모든 라이브 이벤트에 VBR을 도입하여 평균 전송 바이트 수 15% 감소, 최대 분 트래픽 10% 감소를 달성하는 동시에 리버퍼를 5% 줄였습니다.

Google AdInline article slot

마이크로서비스와 복원력: 장애를 위한 설계

Netflix는 주로 Java로 작성된 수천 개의 독립적인 마이크로서비스를 운영합니다. 이 아키텍처를 통해 팀은 독립적으로 배포하고 수요에 따라 서비스를 확장할 수 있습니다. 그러나 수천 개의 움직이는 부품이 있기 때문에 장애는 불가피합니다. Netflix는 이를 받아들일 뿐만 아니라 이를 위해 설계합니다.

카오스 엔지니어링 철학

Netflix는 프로덕션에서 서버를 무작위로 종료하는 도구인 Chaos Monkey를 유명하게 만들었습니다. 이는 엔지니어가 갑작스러운 장애에 복원력 있는 시스템을 구축하도록 강제합니다. 이 관행은 라이브 스트리밍 파이프라인으로 확장되어, 자동화된 장애 주입 테스트가 누락된 세그먼트, 클라우드 리전 손실 또는 네트워크 중단을 시뮬레이션하여 시스템이 최악의 시나리오를 처리할 수 있는지 확인합니다.

지능형 부하 차단

트래픽 급증이 용량을 초과하면 자동 확장이 너무 느린 경우가 많습니다. 이를 해결하기 위해 Netflix는 서비스 수준 우선순위 부하 차단을 개발했습니다. 모든 요청을 동등하게 차단하는 대신 시스템은 중요한 사용자 작업을 우선시합니다.

⚠️ 중요한 통찰: 과부하 중에 Netflix는 우선순위가 낮은 요청(예: 프리페칭)을 차단하여 우선순위가 높은 요청(예: 사용자 시작 재생)을 위한 '성공 버퍼'를 보존합니다. 이를 통해 극심한 부하에서도 핵적인 시청 경험이 손상되지 않습니다.

라이브 운영 계층: 인간 인프라

기술 확장은 방정식의 일부일 뿐입니다. 이를 운영하는 운영 체계를 확장하는 것도 equally 중요합니다. 라이브 이벤트를 위해 Netflix는 기술 인프라에 맞춰 전담 인간 인프라를 구축했습니다. 이 프로세스는 소프트웨어 엔지니어가 노트북에서 대시보드를 모니터링하는 방식에서 정교한 '전송 운영 센터'(TOC) 모델로 발전했습니다. 최대 10개의 동시 라이브 이벤트를 관리하기 위해 역할을 전문화된 운영자로 분리했습니다:

  • 전송 제어 운영자 (TCO): 장소에서 들어오는 신호를 관리합니다.
  • 스트리밍 제어 운영자 (SCO): 나가는 스트리밍 피드를 감독합니다.
  • 방송 제어 운영자 (BCO): 이벤트의 창의적이고 질적인 실행에 집중합니다.

이 '함대' 모델을 통해 Netflix는 대규모 1:1 운영자 대 이벤트 비율 없이도 연간 400개 이상의 글로벌 이벤트를 스트리밍할 수 있으며, 동시에 단일 쇼에 전체 제어실이 전담되는 '빅 베트' 모델을 고위험 이벤트에 유지합니다.

자주 묻는 질문

Netflix는 갑작스러운 트래픽 급증을 어떻게 처리합니까? Netflix는 예상 수요(예: 새 시즌 출시)에 대한 예측적 사전 프로비저닝과 반응형 메커니즘을 결합하여 사용합니다. 계획되지 않은 급증 시 주요 방어 수단은 서비스 수준 우선순위 부하 차단으로, 우선순위가 낮은 백그라운드 작업을 차단하여 중요한 재생 요청을 위한 용량을 보존함으로써 시스템이 완전히 실패하기보다는 우아하게 성능을 저하시킵니다.

Open Connect란 무엇이며 Netflix가 자체 CDN을 구축한 이유는 무엇입니까? Open Connect는 Netflix가 맞춤 구축한 글로벌 콘텐츠 전송 네트워크입니다. ISP 내부와 엣지 위치에 직접 배치된 수천 대의 물리적 서버로 구성됩니다. 하드웨어와 소프트웨어 스택을 제어함으로써 Netflix는 사용자 지연 시간을 줄이고, 대역폭 비용을 수십억 달러 절약하며, 스트리밍 프로토콜에 맞게 전송을 최적화할 수 있습니다.

Netflix는 다양한 기기에서 비디오 품질을 어떻게 일관되게 유지합니까? Netflix는 적응형 비트레이트 스트리밍비트레이트 사다리를 사용합니다. 각 비디오는 다양한 해상도와 비트레이트(SD, HD, 4K)로 수백 개의 변형으로 인코딩됩니다. 사용자 기기의 Netflix 플레이어는 네트워크 상태를 실시간으로 모니터링하고 버퍼링을 최소화하면서 품질을 최대화하기 위해 적절한 변형으로 자동 전환합니다.

Netflix는 WWE나 축구 경기와 같은 라이브 이벤트를 어떻게 스트리밍합니까? Netflix는 AWS Elemental MediaLive를 사용하여 방송 센터에서 피드를 수집하고, 맞춤형 'Live Origin' 서버로 세그먼트 게시를 관리하며, Open Connect로 전 세계에 스트림을 배포하는 맞춤형 클라우드 기반 파이프라인을 구축했습니다. 전담 **라이브 명령 센터 (LCC)**가 전체 파이프라인을 실시간으로 모니터링하며, 초당 최대 3,800만 개의 이벤트를 처리하여 문제를 즉시 감지하고 완화합니다.

Netflix는 카오스 엔지니어링을 어떻게 플랫폼 안정성에 사용합니까? Netflix는 Chaos Monkey와 같은 도구를 사용하여 프로덕션 환경에서 서버를 무작위로 종료하거나 장애(예: 네트워크 지연, 손상된 세그먼트)를 주입합니다. 이 사전 예방적 접근 방식은 엔지니어가 장애로부터 자동으로 복구할 수 있는 시스템을 구축하도록 하여, 사소한 문제가 광범위한 중단으로 이어지는 것을 방지합니다.

출처

  • Netflix Technology Blog: Smarter Live Streaming at Scale: Rolling Out VBR for All Netflix Live Events
  • Netflix Technology Blog: The Human Infrastructure: How Netflix Built the Operations Layer Behind Live at Scale
  • InfoQ: From On-Demand to Live: Netflix Streaming to 100 Million Devices in under 1 Minute
  • Codemotion: How Netflix Scales to 270 Million Users with Java and Microservices
  • Netflix Technology Blog: Netflix Live Origin
  • Netflix Technology Blog: Introducing Netflix's Key-Value Data Abstraction Layer
  • InfoQ: Enhancing Reliability Using Service-Level Prioritized Load Shedding at QCon SF 2025
  • Netflix Technology Blog: Behind the Streams: Three Years Of Live at Netflix. Part 1

— Editorial Team

Advertisement 728x90

다음 읽기