2018.09.12

'7년 걸쳐 AWS로 이전'··· 넷플릭스 엔지니어가 설명하는 클라우드 여정

Tom Macaulay | Computerworld UK
넷플릭스는 1억 3,000만 명에서 비디오 스트리밍을 제공하기까지 인프라를 어떻게 구축해왔을까? 넷플릭스의 선임 엔지니어 데이브 한이 설명한다.

지난 20여년 동안 넷플릭스는 직원 수 30명 남짓의 DVD 렌탈 웹사이트에서, 5,000여 편의 쇼를 상영하고 1억 3,000만 명의 회원 수를 보유한 글로벌 스트리밍 서비스 기업으로 거듭났다. 매출 또한 연 110억 달러 정도로 성장했다. 그 동안 넷플릭스는 엔터테인먼트 산업을 혁신적으로 바꿔 왔다.

지난해 CES, Consumer Electronics Show)에서 넷플릭스 CEO 리드 헤이스팅스는 전 세계 130여 국가에 넷플릭스 서비스를 출범시킨다고 밝히며, “오늘 여기 계신 여러분들은 글로벌 TV 네트워크의 탄생을 지켜 본 목격자들이다”라고 말했다.

넷플릭스 클라우드 오퍼레이션 및 안정성 팀의 시니어 엔지니어 데이브 한은 최근 런던의 IT 서포트 쇼(IT Support Show)에서, 이 모든 것은 넷플릭스가 기존의 IT 오퍼레이션을 근본적으로 혁신했기에 가능했던 일이라고 전했다.

“우리는 추가적으로 130여개 국가에서 서비스를 제공하기 시작했다. 이는 수백 만 명의 새로운 고객들에게 서비스를 제공하게 되었음을 뜻한다”라고 그는 말했다.

그는 이어 “이처럼 130여 국가, 수백 만 명의 고객들을 새로 받아들이기 위해 우리가 어느 정도의 고민과 준비, 그리고 아키텍처 설계를 했어야 했는지 쉽게 짐작할 수 있을 것이다. 기술적 아키텍처, 연구, 비용 청구 시스템, 이 모든 것을 가능케 하기 위해 필요한 인력들, 그리고 이것을 현실로 만들기 위해 해야 했던 고민들은 결코 만만치 않았다”라고 덧붙였다.

한에 따르면 이 모든 여정은 넷플릭스가 자사 데이터센터에서 퍼블릭 클라우드로 이전하기로 결정하면서부터 시작되었다.



마이크로서비스를 이용한 이전
2008년, 자사 데이터센터에 관계형 데이터베이스를 구동 중이던 넷플릭스는 재앙 같은 일을 경험했다. 데이터센터 문제로 전체 서비스가 다운되고 3일 동안이나 DVD 배송이 중단됐던 것이다.

넷플릭스에 주어진 선택지는 2가지였다. 넷플릭스를 월드 클래스 데이터센터 오퍼레이션 기업으로 혁신하거나, 아니면 퍼블릭 클라우드로 서비스를 이전하는 것이다.

당시 넷플릭스는 무척 빠르게 성장하는 기업이었다. 그때 당시에도 수천 편의 영상과, 수백 만 명의 고객들이 어마어마한 양의 데이터를 생성해 내고 있었다. 자체적인 데이터센터를 통해 이처럼 하늘 높은 줄 모르고 증가하는 볼륨을 감당하기에는 무리라는 판단이 들었다. 클라우드로 이전할 경우 수천 개 이상의 가상 서버를 추가하고, 수 분 이내로 페타바이트 단위의 스토리지를 담을 수 있었다.

누가 봐도 클라우드로의 이전이 합리적인 선택이었다. 얼마 지나지 않아 넷플릭스는 아마존 웹 서비스의 대표 고객이 되었다. AWS를 선택한 이유는 확장성과 다양한 서비스 및 기능을 제공했기 때문이었다.

하지만 클라우드로의 이전을 위해 기존 인프라스트럭처를 완전히 새롭게 설계해야 했다. 일체형으로 된 기업 시스템을 완전히 드러내어 그대로 AWS 클라우드로 이전할 수도 있겠지만, 그렇게 해 봐야 데이터센터에 존재하던 문제점들을 그대로 클라우드로 가져가는 것 에 불과했다.

결국 넷플릭스는 대신 넷플릭스 테크놀로지를 AWS에서 재구현 하는 쪽을 선택했다. 넷플릭스의 오퍼레이션 방식을 근본적으로 바꾸기로 한 것이다.

“소프트웨어도 다른 모든 것들과 마찬가지다. 주변 환경에 맞게 설계를 잘 할수록 더 자주, 그리고 더 규칙적으로 당신이 명령하는 일을 잘 수행한다. 이것이 우리가 마이크로서비스로 이전하기로 결정한 이유이다”라고 한은 설명했다.

서비스의 다양한 측면을 다수의 소규모 서비스로 쪼개는 마이크로서비스는 인프라스트럭처를 더욱 민첩하게 만든다. 각각의 마이크로서비스는 서비스의 작동 기전을 잘 이해하고, 시스템과 상호작용 할 수 있는 소규모 팀들이 운영하게 된다. 이러한 방식은 당시만 해도 상당히 획기적인 접근이었다.

마이크로서비스는 보다 명확하고 구체적인 통찰력을 제공하여 서비스를 변경하기가 더 쉬우며, 결국 더 간결하고 빠른 배치를 가능케 한다. 또한 각 서비스를 고립시켜 퍼포먼스 프로파일 및 패턴, 그리고 마이크로서비스의 보안을 보다 명확하게 파악할 수 있어 문제를 야기하는 서비스만 골라서 제거할 수 있다.

“단일한 배치를 위해 다른 팀에서 관리하는 서비스를 굳이 모아서 조립할 필요는 없다. 넷플릭스의 모든 서비스 팀은 언제라도 자신이 관리하는 서비스를 배치할 수 있다. 어떤 협력이나 사전 일정 조율, 생산 단계로 가기까지의 잡음도 필요 없다”고 한은 말했다.
 


클라우드의 장점
넷플릭스가 클라우드로의 이전을 완전히 끝내기까지는 7년이란 시간이 걸렸다. 2016년에는 마지막 데이터센터까지도 문을 닫았다. 기존 데이터센터를 대신하여 이제는 클라우드 인프라스트럭처가 고객 정보에서 추천 알고리즘에 이르기까지, 넷플릭스의 모든 컴퓨팅 및 스토리지 니즈를 담당하고 있다.

클라우드로의 이전은 넷플릭스의 확장성과 서비스 가용성, 그리고 무엇보다 새로운 콘텐츠, 기능, 인터페이스 및 인터랙션을 출시하는 속도를 증가시켰다. 또한 엔지니어들을 해방시켜 다른 업무에 보다 자유롭게 시간을 쓸 수 있게 했다. 또 스트리밍의 비용을 줄이고 가용성을 비약적으로 증가하였으며, AWS의 경험과 전문성을 더했다.

“또 하나의 장점은 비용 모형이 무척 훌륭하다는 것이다. 사용한 것에 대해서만 비용을 지불하면 된다. 덕분에 우리는 많은 실험을 해 볼 수 있다”고 한은 말했다.

이처럼 유연한 비용 모형 덕분에 넷플릭스는 여러 새로운 기능들을 자유롭게 테스트 해보고, 기존의 기능을 변화, 개선시키려는 시도도 부담 없이 할 수 있게 됐다. 예컨대 개별화 된 콘텐츠 추천 기능도 그 중 하나이다.

“이러한 추천 알고리즘은 규모가 매우 크고, 많은 컴퓨팅 작업을 필요로 한다. 그런데 새 알고리즘이 나왔을 때 이를 테스트해보기 위해 기존 알고리즘을 비활성화 시키지 않아도 돼서 편리하다”고 그는 설명했다.

한은 이어 “이제는 새로운 기계를 수십, 수백, 아니 수천 대를 구동하고, 데이터를 분석하여 개선된 부분을 확인하려 할 때에도 실제로 사용한 부분에 대해서만 비용을 지불하면 된다. 클라우드는 여러 가지 기능을 시도함에 있어 믿기 어려울 정도의 자유를 선사한다”라고 덧붙였다.

콘텐츠 딜리버리
하지만 넷플릭스의 사용자 경험에 있어 클라우드는 오직 한 축을 담당할 뿐이다. 물론 시청자가 ‘재생’ 버튼을 누르기 전까지 일어나는 모든 일은 AWS에서 발생하지만, 그 때 방영되는 영상 콘텐츠 자체는 전혀 다른 시스템에서 만들어진다. 바로 넷플릭스의 사설 콘텐츠 딜리버리 네트워크(CDN, Contents Delivery Network)인 오픈커넥트(OpenConnect)이다. 오픈커넥트는 영상 콘텐츠를 저장하고 이를 클라이언트 기기로 전송한다.


2018.09.12

'7년 걸쳐 AWS로 이전'··· 넷플릭스 엔지니어가 설명하는 클라우드 여정

Tom Macaulay | Computerworld UK
넷플릭스는 1억 3,000만 명에서 비디오 스트리밍을 제공하기까지 인프라를 어떻게 구축해왔을까? 넷플릭스의 선임 엔지니어 데이브 한이 설명한다.

지난 20여년 동안 넷플릭스는 직원 수 30명 남짓의 DVD 렌탈 웹사이트에서, 5,000여 편의 쇼를 상영하고 1억 3,000만 명의 회원 수를 보유한 글로벌 스트리밍 서비스 기업으로 거듭났다. 매출 또한 연 110억 달러 정도로 성장했다. 그 동안 넷플릭스는 엔터테인먼트 산업을 혁신적으로 바꿔 왔다.

지난해 CES, Consumer Electronics Show)에서 넷플릭스 CEO 리드 헤이스팅스는 전 세계 130여 국가에 넷플릭스 서비스를 출범시킨다고 밝히며, “오늘 여기 계신 여러분들은 글로벌 TV 네트워크의 탄생을 지켜 본 목격자들이다”라고 말했다.

넷플릭스 클라우드 오퍼레이션 및 안정성 팀의 시니어 엔지니어 데이브 한은 최근 런던의 IT 서포트 쇼(IT Support Show)에서, 이 모든 것은 넷플릭스가 기존의 IT 오퍼레이션을 근본적으로 혁신했기에 가능했던 일이라고 전했다.

“우리는 추가적으로 130여개 국가에서 서비스를 제공하기 시작했다. 이는 수백 만 명의 새로운 고객들에게 서비스를 제공하게 되었음을 뜻한다”라고 그는 말했다.

그는 이어 “이처럼 130여 국가, 수백 만 명의 고객들을 새로 받아들이기 위해 우리가 어느 정도의 고민과 준비, 그리고 아키텍처 설계를 했어야 했는지 쉽게 짐작할 수 있을 것이다. 기술적 아키텍처, 연구, 비용 청구 시스템, 이 모든 것을 가능케 하기 위해 필요한 인력들, 그리고 이것을 현실로 만들기 위해 해야 했던 고민들은 결코 만만치 않았다”라고 덧붙였다.

한에 따르면 이 모든 여정은 넷플릭스가 자사 데이터센터에서 퍼블릭 클라우드로 이전하기로 결정하면서부터 시작되었다.



마이크로서비스를 이용한 이전
2008년, 자사 데이터센터에 관계형 데이터베이스를 구동 중이던 넷플릭스는 재앙 같은 일을 경험했다. 데이터센터 문제로 전체 서비스가 다운되고 3일 동안이나 DVD 배송이 중단됐던 것이다.

넷플릭스에 주어진 선택지는 2가지였다. 넷플릭스를 월드 클래스 데이터센터 오퍼레이션 기업으로 혁신하거나, 아니면 퍼블릭 클라우드로 서비스를 이전하는 것이다.

당시 넷플릭스는 무척 빠르게 성장하는 기업이었다. 그때 당시에도 수천 편의 영상과, 수백 만 명의 고객들이 어마어마한 양의 데이터를 생성해 내고 있었다. 자체적인 데이터센터를 통해 이처럼 하늘 높은 줄 모르고 증가하는 볼륨을 감당하기에는 무리라는 판단이 들었다. 클라우드로 이전할 경우 수천 개 이상의 가상 서버를 추가하고, 수 분 이내로 페타바이트 단위의 스토리지를 담을 수 있었다.

누가 봐도 클라우드로의 이전이 합리적인 선택이었다. 얼마 지나지 않아 넷플릭스는 아마존 웹 서비스의 대표 고객이 되었다. AWS를 선택한 이유는 확장성과 다양한 서비스 및 기능을 제공했기 때문이었다.

하지만 클라우드로의 이전을 위해 기존 인프라스트럭처를 완전히 새롭게 설계해야 했다. 일체형으로 된 기업 시스템을 완전히 드러내어 그대로 AWS 클라우드로 이전할 수도 있겠지만, 그렇게 해 봐야 데이터센터에 존재하던 문제점들을 그대로 클라우드로 가져가는 것 에 불과했다.

결국 넷플릭스는 대신 넷플릭스 테크놀로지를 AWS에서 재구현 하는 쪽을 선택했다. 넷플릭스의 오퍼레이션 방식을 근본적으로 바꾸기로 한 것이다.

“소프트웨어도 다른 모든 것들과 마찬가지다. 주변 환경에 맞게 설계를 잘 할수록 더 자주, 그리고 더 규칙적으로 당신이 명령하는 일을 잘 수행한다. 이것이 우리가 마이크로서비스로 이전하기로 결정한 이유이다”라고 한은 설명했다.

서비스의 다양한 측면을 다수의 소규모 서비스로 쪼개는 마이크로서비스는 인프라스트럭처를 더욱 민첩하게 만든다. 각각의 마이크로서비스는 서비스의 작동 기전을 잘 이해하고, 시스템과 상호작용 할 수 있는 소규모 팀들이 운영하게 된다. 이러한 방식은 당시만 해도 상당히 획기적인 접근이었다.

마이크로서비스는 보다 명확하고 구체적인 통찰력을 제공하여 서비스를 변경하기가 더 쉬우며, 결국 더 간결하고 빠른 배치를 가능케 한다. 또한 각 서비스를 고립시켜 퍼포먼스 프로파일 및 패턴, 그리고 마이크로서비스의 보안을 보다 명확하게 파악할 수 있어 문제를 야기하는 서비스만 골라서 제거할 수 있다.

“단일한 배치를 위해 다른 팀에서 관리하는 서비스를 굳이 모아서 조립할 필요는 없다. 넷플릭스의 모든 서비스 팀은 언제라도 자신이 관리하는 서비스를 배치할 수 있다. 어떤 협력이나 사전 일정 조율, 생산 단계로 가기까지의 잡음도 필요 없다”고 한은 말했다.
 


클라우드의 장점
넷플릭스가 클라우드로의 이전을 완전히 끝내기까지는 7년이란 시간이 걸렸다. 2016년에는 마지막 데이터센터까지도 문을 닫았다. 기존 데이터센터를 대신하여 이제는 클라우드 인프라스트럭처가 고객 정보에서 추천 알고리즘에 이르기까지, 넷플릭스의 모든 컴퓨팅 및 스토리지 니즈를 담당하고 있다.

클라우드로의 이전은 넷플릭스의 확장성과 서비스 가용성, 그리고 무엇보다 새로운 콘텐츠, 기능, 인터페이스 및 인터랙션을 출시하는 속도를 증가시켰다. 또한 엔지니어들을 해방시켜 다른 업무에 보다 자유롭게 시간을 쓸 수 있게 했다. 또 스트리밍의 비용을 줄이고 가용성을 비약적으로 증가하였으며, AWS의 경험과 전문성을 더했다.

“또 하나의 장점은 비용 모형이 무척 훌륭하다는 것이다. 사용한 것에 대해서만 비용을 지불하면 된다. 덕분에 우리는 많은 실험을 해 볼 수 있다”고 한은 말했다.

이처럼 유연한 비용 모형 덕분에 넷플릭스는 여러 새로운 기능들을 자유롭게 테스트 해보고, 기존의 기능을 변화, 개선시키려는 시도도 부담 없이 할 수 있게 됐다. 예컨대 개별화 된 콘텐츠 추천 기능도 그 중 하나이다.

“이러한 추천 알고리즘은 규모가 매우 크고, 많은 컴퓨팅 작업을 필요로 한다. 그런데 새 알고리즘이 나왔을 때 이를 테스트해보기 위해 기존 알고리즘을 비활성화 시키지 않아도 돼서 편리하다”고 그는 설명했다.

한은 이어 “이제는 새로운 기계를 수십, 수백, 아니 수천 대를 구동하고, 데이터를 분석하여 개선된 부분을 확인하려 할 때에도 실제로 사용한 부분에 대해서만 비용을 지불하면 된다. 클라우드는 여러 가지 기능을 시도함에 있어 믿기 어려울 정도의 자유를 선사한다”라고 덧붙였다.

콘텐츠 딜리버리
하지만 넷플릭스의 사용자 경험에 있어 클라우드는 오직 한 축을 담당할 뿐이다. 물론 시청자가 ‘재생’ 버튼을 누르기 전까지 일어나는 모든 일은 AWS에서 발생하지만, 그 때 방영되는 영상 콘텐츠 자체는 전혀 다른 시스템에서 만들어진다. 바로 넷플릭스의 사설 콘텐츠 딜리버리 네트워크(CDN, Contents Delivery Network)인 오픈커넥트(OpenConnect)이다. 오픈커넥트는 영상 콘텐츠를 저장하고 이를 클라이언트 기기로 전송한다.


X