Netflix는 글로벌 유명 스트리밍 미디어 플랫폼으로, 높은 개인화된 사용자 인터페이스와 우수한 시스템 안정성을 바탕으로 2억 4천만 이상의 사용자에게 매끄러운 엔터테인먼트 경험을 제공합니다. 홍콩의 소파에 앉아 있든 미국의 카페에 있든, Netflix의 서비스는 항상 가장 매력적인 콘텐츠를 제공합니다. 이러한 모든 것 뒤에 숨겨진 기술 비밀은 무엇일까요? 그 중 하나의 답은 Netflix와 AWS의 협력 및 고효율 캐싱을 위해 설계된 EV Cache 시스템입니다.
AWS re:Invent 컨퍼런스에서 Netflix의 엔지니어 팀은 이 캐시 시스템의 디자인 세부 사항과 글로벌 데이터 복제 아키텍처의 내부를 공개했습니다. 이로 인해 기술의 작동 방식을 깊이 이해할 수 있을 뿐만 아니라, 글로벌 데이터 트래픽에 효율적으로 대응하는 방법도 보여주었습니다.
Netflix의 사명은 "전 세계 시청자에게 즐거움과 오락을 제공하는 것"입니다. 이 사명을 실현하는 과정에서 많은 도전에 직면하고 있습니다. 예를 들어, Netflix에서 즐겨찾는 시리즈를 클릭할 때 1분 넘게 기다려본 적이 있나요? 거의 없을 것입니다. 이는 Netflix가 전 세계에 걸쳐 구축한 강력한 캐시 시스템 덕분에 사용자들이 어디에 있든지 즉시 영화를 스트리밍할 수 있도록 보장하기 때문입니다.
하지만 이 모든 것은 쉽지 않다. EV Cache는 Netflix가 효율적인 캐싱을 위해 설계한 분산 시스템으로, 여기서 'EV'는 일시적 캐시(Ephemeral Volatile Cache)를 의미한다. 'Volatile'이란 용어가 휘발성을 의미하지만, 실제로 EV Cache의 데이터는 SSD 하드 드라이브에 저장되며, 다중 지역 데이터 복제를 통해 매우 높은 안정성과 가용성을 달성한다.
이 시스템은 매초 300억 건 이상의 데이터 요청을 처리할 수 있으며, 14.3PB가 넘는 데이터를 저장하고 있습니다. 이는 전 세계에 분산된 AWS 인프라스트럭처의 지원을 받습니다.
캐시 시스템에서 데이터 복제는 직관적이지 않게 보일 수 있지만, 캐시 데이터는 일반적으로 단기 액세스에만 사용되기 때문입니다. 그러나 넷플릭스의 특별한 비즈니스 요구 사항은 데이터 복이를 필수적으로 만들었습니다. 넷플릭스의 글로벌 데이터 복제 서비스는 여러 마이크로서비스로 구성되어 있으며, AWS의 Kafka, SQS 및 분산 캐시 아키텍처를 통해 구현됩니다. 그 핵심 설계 목표는 데이터 처리 성능을 향상시키는 것입니다.
넷플릭스 사용자 수와 데이터 양이 지속적으로 증가함에 따라 운영 비용 절감이 중요한 과제가 되었습니다. 최근 넷플릭스는 성능과 비용 최적화 측면에서 일부 성과를 거두었습니다.



