넷플릭스가 클라우드로 떠난 까닭은?

Four Reasons
We Choose Amazon’s Cloud as Our Computing Platform
2009년 넷플릭스의 고객 트래픽 중에 아마존 AWS(Amazon Web Services) 를 통해 발생하는 트래픽은 단 1바이트도 없었습니다. 하지만 일년이 지난 2010년, 대부분의 고객 트래픽이AWS 를 위해 개발하고 배포한 서비스를 통해 발생합니다. 웹사이트를 포함하여, Xbox, PS, Wii, 애플TV, 아이폰, 아이패드 같은 넷플릭스 어플리케이션이 내장 된 디바이스에서 발생하는 트래픽 전부 말이지요.
우리는 2010년 일년 동안 AWS 내에서 검색 엔진, 추천 시스템, A|B 테스팅 플랫폼, 스트리밍 서버, 인코더, 엄청나게 큰 데이타 스토리지, 캐싱 아키텍처, 다양한 SQL / NoSQL 솔루션을 구현하였습니다. 엔지니어팀이 불가능한 일을 해주었습니다. 시스템 구조를 재 설계하고, 새로운 기술을 습득하고, 재빠르게 코딩하고, 할 수 있다는 의지로 믿을 수 없을 만큼 노력을 기울여 주었지요. 이와 동시에, 급격히 성장하고 있는 고객들의 요구에 발맞추어 기존의 시스템을 운영하고 관리하는 일도 진행하면서 말입니다. 수천개의 DVD 타이틀이 추가로 스트리밍 서비스를 시작했고, 넷플릭스가 기본 탑재된 디바이스도 더욱 다양하게 출시되었지요.
앞으로, 이 블로그를 통하여, 우리가 기존 시스템을 AWS 로 옮겨가는데 있었던 여러가지 일들에 관해 이야기해보자 합니다. 그리고, 그 첫번째로 넷플릭스가 왜 AWS 플랫폼을 사용하기로 결정하였는지 그 이유에 관한 이야기로 시작하는게 어떨까 합니다. 사실 이 질문은 사실 우리가 새로운 엔지니어를 뽑을 때 종종 사용하는 질문이랍니다.
1. 넷플릭스는 전체 서비스 구조를 다시 그려야할 필요가 있었습니다. 우리만의 데이터 센터 솔루션을 만들지 말지를 포함하여, 모든 가능성을 열어둔체 말이지요. 넷플릭스는 최근 몇 년간 급격하게 성장하였습니다. 고객 수, 지원하는 디바이스의 수와 종류도 엄청나게 늘어났지요. 사용하고 있는 소프트웨어 스택이 모든 면에 걸쳐서 이러한 요구에 대응할 만큼 확장성을 갖고 있는지 고민할 순간이 온 것이조. 더군다나, 기존의 우편 배달 서비스에서 점점 더 스트리밍 서비스의 비중이 증가함에 따라서, 소프트웨어는 훨씬 더 유연하고 튼튼하고 안정적으로 동작해야 했습니다. 지난 수년간 잘 활용해온 데이타베이스 중심의 3-tier-architecture (presentation / application logic / database) 을 뒤로 하고, 다시금 펜을 들고 화이트보드 앞에 옹기 종기 모여 앉을 시기가 온 것입니다. 우리는 새로운 데이타 센터를 만들어, 데이타 복제 시스템과 오류 복구 시스템 데이타 동기화 시스템 등등을 구현할 수도 혹은, 이런 일을 대신 해 줄 사람에게 비용을 지불 하기로 결정 할 수도 있었습니다.
2. AWS 를 활용하면 아마존은 효율적인 데이터 센터 구조를 구축하는 일에 그리고 우리의 엔지니어 팀은 비지니스 모듈을 구현하고 향상시키는데 집중 할 수 있습니다. 아마존은 자신들의 웹서비스를 “undifferentiated heavy lifting – 굉장히 어렵긴 해도 별다른 차이 없이 많은 부분에 공통적으로 적용할 수 있는 작업” 이라고 이야기 합니다. 그리고 사실 그 말대로입니다. 아마존이 다루고 있는 문제들은 정말 어려운 문제들이지만 우리의 비지니스에 ‘특화’ 된 내용은 아닙니다. 사실상 모든 성공적인 인터넷 회사들은 훌륭한 스토리지 솔루션, 하드웨어 오류 복구 시스템, 네트워크 인프라 스트럭처 등을 필요로 합니다. 넷플릭스는 우리 엔지니어들이 그런 일반적인 작업 보다는, 넥플릭스 고객들의 사용 경험을 보다 향상시킬 수 있도록 제품을 혁신하는데 집중할 수 있길 원했습니다. 그 것이 바로 우리와 다른 경쟁사들을 구분지을 수 있는 차별점이니까요.
3. 넷플릭스는 고객과 디바이스가 얼마나 늘어날지 예측하는데 어려움을 겪고 있습니다. 우리는 2010년 말 우리 서비스를 구독하는 고객의 수 가 작년에 비해 3배나 증가했다고 발표했습니다. 넷플릭스는 변화가 빠르고 크게 폭팔하고 있는 시장에서 사업을 벌이고 있습니다. 만일 여러분이라면, 새롭게 런칭한 Wii 용 어플리케이션을 통해 얼마나 많은 사람들이 넷플릭스에 접속할 지 예상할 수 있을까요? 다음달은 어떨까요? 우리는 우리가 런칭한 모든 디바이스들에 대하여 이와 유사한 질문에 대답해야만 합니다. 그리고 그에 발맞추어 매순간 우리의 소프트웨어 시스템의 규모도 확장해야 할테구요. 클라우드 환경은 이처럼 수평적인 확장성을 갖춘 아키텍처를 설계하는데 아주 이상적입니다. 클라우드 환경 하에서는 한 달 후에, 얼마큼의 하드웨어, 스토리지, 네트워크 밴드위스가 필요한지 추측하려고 애쓸 필요가 없습니다. AWS 를 이용하여, 프로그램을 통해 자동으로 거의 즉시 필요한 리소스들을 추가로 덧붙일 수 있기 때문입니다.
4. 넷플릭스는 클라우드 컴퓨팅이 앞으로 대세가 될 것이라고 예상하고있습니다. 1년 전 우리의 클라우드 컴퓨팅 관련된 기술은 별볼일 없었습니다. 연구 부분에 제한되거나 이전에 다른 회사에서 관련 경험을 갖는 몇몇 개발자에게 의지하는 정도였지요. 하지만 오늘날, 넷플릭스는 클라우드 컴퓨팅 환경 안에서 세계에서 가장 규모가 큰 축에 들어가는 서비스와 시스템을 운영하고 있으며, 동시에 개발자들은 앞으로 인터넷 회사들의 성장에 따라 가장 주요한 플랫폼이 될 클라우드 컴퓨팅 관련 기술을 습득하고 있습니다. 우리는 클라우드로의 전환이 결국 일어날 것이라고 믿습니다. 클라우드 서비스 제공자들 사이에서 보다 경쟁적인 환경이 조성됨에 따라, 계속적인 혁신과 가격 하락이 일어날 것 입니다. 넷플릭스는 클라우드의 전환에 개척자로 과감히 진입하여, 앞으로 컴퓨터 산업에서 점차 영향력이 줄어들 것으로 예상되는 과거의 소프트웨어 성능을 두 배로 뻥튀기 하는 대신에, 우리의 성장에 맞추어 유연하게 우리의 투자 비용을 조절 할 수 있도록 할 것 입니다. 그리고 우리는 이 결정이 넷플리스가 개발자들이 보다 일하기 좋은 장소 그리고 넷플릭스 사업을 더 확대할 기회가 되리라 믿습니다.
다음에는 넷플릭스가 기존 시스템을 AWS 로 옮겨가는 과정에서 있었던 실수와 새롭게 알게된 교훈에 관하여 포스팅하도록 하겠습니다.
-john ciancutti.

(주)리화이트 대표 / CEO & Founder

Next ArticleiTunes Connect Holiday Shutdown Details