넷플릭스(Netflix) 클라우드 마이그레이션 완료

넷플릭스는 클라우드 마이그레이션을 2008년 8월에 시작했다. 심각한 데이터베이스 손상으로 3일간 DVD 배송이 지연되는 문제를 겪은 후, 수직 확장되는 단일 실패 지점(예: 넷플릭스 데이터 센터의 관계형 데이터베이스)에서 벗어나 신뢰성 높고 수평 확장이 가능한 클라우드 내 분산 시스템으로 이전해야 할 필요성을 체감했기 때문이다. 넷플릭스는 최고의 확장성을 보장하고 다양한 서비스와 기능을 제공하는 아마존 웹 서비스(AWS: Amazon Web Services)를 클라우드 제공업체로 선정했다. 모든 고객 관련 서비스를 포함한 넷플릭스 시스템 대부분은 사실 2015년 이전에 클라우드로의 마이그레이션을 이미 마친 바 있다. 그러나 고객 및 직원 데이터 관리의 모든 측면과 결제 인프라에 적용될 보안성과 견고성을 갖춘 클라우드 시스템을 마련하는 작업을 충분한 시간을 두고 진행하고자 했다. 넷플릭스는 7년간의 꾸준한 노력 끝에 2016년 1월 초에 드디어 클라우드 마이그레이션을 최종 완료했으며, 스트리밍 서비스에 사용하던 마지막 데이터 센터도 운영을 종료하게 되었다.

클라우드 마이그레이션을 통해 넷플릭스는 여러 가지 이점을 누리게 되었다. 2008년에 비해 스트리밍 서비스 이용 회원 수가 8배 증가했으며, 지난 8년간 전반적인 시청량이 1천 배가량 증가하는 등 회원들의 서비스 이용도 더욱 활발해졌다.

넷플릭스 제품 역시 빠른 속도로 진화함에 따라 많은 리소스를 차지하는 새로운 기능이 다수 도입되고 데이터 사용량도 지속적으로 증가해 왔다. 넷플릭스의 자체 데이터 센터에서 이러한 급성장을 지원하기란 매우 어려웠을 것이며, 아마 필요한 만큼의 서버를 제때 설치하는 일조차 버거웠을 것이다. 그러나 클라우드의 탄력성 덕분에 이제 수천 개의 가상 서버와 페타바이트급 저장 용량을 단 몇 분 내에 추가할 수 있게 되어 빠른 확장이 가능해졌다. 넷플릭스는 2016년 1월 6일 130개 이상의 국가로 서비스를 확장함으로써 진정한 글로벌 인터넷 TV 네트워크로 발돋움했다. 전 세계에 분산된 여러 개의 AWS 클라우드 지역을 기반으로 글로벌 인프라를 유연하게 활용하고 그 역량을 확대할 수 있게 되었으며, 이를 통해 언제 어디서나 더 편안하고 즐겁게 스트리밍할 수 있는 환경이 조성되었다.

현재 넷플릭스는 비즈니스 로직, 분산 데이터베이스, 빅 데이터 처리 및 분석, 추천, 코드 변환 등 넷플릭스 애플리케이션을 구성하는 수백 가지 기능에 필요한 확장 가능 컴퓨팅 및 저장에 클라우드를 전적으로 사용하고 있다. 동영상은 회원들이 각자의 기기에서 효율적으로 콘텐츠를 즐길 수 있도록 세계 곳곳에 분산된 넷플릭스 오픈 커넥트(Netflix Open Connect)라는 콘텐츠 전달 네트워크를 통해 전달된다.

클라우드를 사용하면서 서비스 가용성 역시 크게 증가했다. 과거 데이터 센터를 이용하던 시절에는 서비스 중단이 발생하는 경우가 잦았다. 비록 클라우드 마이그레이션 초창기에는 불가피하게 몇 가지 난관도 겪었지만, 마이그레이션 이후 전반적인 가용성이 꾸준히 증가하여 이제는 서비스 가동시간 99.99%라는 목표에도 성큼 다가섰다. 클라우드 기반 시스템을 포함한 대용량 분산 시스템에서는 시스템 장애 발생이 불가피하지만, 클라우드를 활용하면 신뢰도가 매우 낮지만 중복적인 구성 요소로도 신뢰성 높은 서비스를 구축할 수 있다. 중복과 점진적 성능 저하라는 원칙을 아키텍처에 적용하고 시미안 아미(Simian Army)를 사용한 정기적 제작 훈련을 고수함으로써, 회원들의 스트리밍에 영향을 끼치지 않고도 클라우드 인프라와 사내 시스템에서 발생하는 장애를 극복하는 것이 가능하다.

비용 절감은 클라우드 마이그레이션을 결정하게 된 주요 원인이 아니었으나, 스트리밍 시작 1회에 드는 클라우드 비용이 데이터 센터 운영 시 비용의 극히 일부에 불과한 것으로 나타나면서 비용 절감이라는 부수적 효과도 따라왔다. 이는 모두 클라우드의 탄력성 덕분이며, 이에 따라 인스턴스 유형 조합을 지속적으로 최적화하고 대용량 버퍼를 유지할 필요 없이 거의 즉각적으로 공간을 확장 및 축소할 수 있게 되었다. 또한 대규모 클라우드 생태계에서만 가능한 규모의 경제 효과도 누릴 수 있다.

클라우드의 이점이 이처럼 명백함에도 불구하고 꼬박 7년이 걸려서야 마이그레이션을 완료한 데는 이유가 있다. 클라우드 마이그레이션은 무척이나 고된 작업이며, 그 과정에서 어려운 결정을 수도 없이 내려야 했기 때문이다. 클라우드로 가장 쉽게 이전하는 방법은 데이터 센터의 모든 시스템을 있는 그대로 AWS에 가져다 놓는 것이지만, 그렇게 되면 데이터 센터가 지닌 모든 문제와 한계점을 그대로 옮기는 것밖에 되지 않는다. 그렇기 때문에 넷플릭스에서는 클라우드 네이티브 방식을 택하여 사실상 모든 기술을 재구축하고 운영 방식을 근본적으로 바꿨다. 아키텍처 면에서 넷플릭스는 거대한 앱을 수백 개의 마이크로 서비스로 마이그레이션하고 NoSQL 데이터베이스를 사용하여 데이터 모델을 반정규화했다. 예산 승인, 중앙화된 릴리스 관리, 몇 주에 걸친 하드웨어 프로비저닝 주기를 도입해 지속적인 콘텐츠 전달이 가능해졌으며, 느슨하게 결합된 개발운영(DevOps) 환경에서 엔지니어링 팀이 셀프서비스 툴로 독립적인 결정을 내릴 수 있게 되면서 혁신이 가속화되었다. 이 과정에서 새로운 시스템을 여럿 구축해야 했으며, 새로운 기술도 배워야 했다. 넷플릭스가 클라우드 네이티브 기업으로 변신하는 데는 많은 시간과 노력이 필요했지만, 클라우드 마이그레이션을 통해 글로벌 TV 네트워크로서 지속적인 성장을 이뤄나갈 밑거름을 마련할 수 있었다.

넷플릭스의 스트리밍 기술은 지난 몇 년간 많은 발전을 이룬 끝에 드디어 이전의 제약 사항을 극복할 수 있었다. 클라우드는 많은 업계 종사자들에게 아직 생소한 개념이므로 아직도 풀리지 않은 궁금점과 풀어야 할 문제가 많다. 당사는 넷플릭스 오픈 소스(Netflix Open Source)와 같은 계획을 통해 뛰어난 기술 분야 인재들과 함께 지속적으로 협력하며 이러한 과제를 함께 풀어나가길 희망한다.

-유리 이즈라일예브스키(Yury Izrailevsky), 스테반 블라오비치(Stevan Vlaovic), 루슬란 메셴베르크(Ruslan Meshenberg)

더 보기: 회사 블로그

2016년 1월 넷플릭스(Netflix) ISP 속도 지수

다음은 넷플릭스 ISP 속도 지수에 대한 1월 데이터를 요약한 것이며, 매달 업데이트되는 넷플릭스 ISP 속도 지수를 통해 최상의 황금 시간대 넷플릭스 스트리밍 경험을 제공하는 ISP(인터넷 서비스 제공업체)가 어디인지 확인할 수 있다. 더 보기

개인화 추천 기능에 대한 글로벌 접근

넷플릭스(Netflix)에서는 올 1월 130개국에 추가 진출할 당시 전 세계 어디에서나 서비스가 원활하게 제공되길 기대했으며, 이를 위해서는 여러 복잡한 기술적 문제를 글로벌 접근 방식으로 해결해야 했다. 더 보기

맨 위