Offcanvas

How To / 데이터센터 / 클라우드

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

2018.09.12 Tom Macaulay  |  Computerworld UK


CDN은 인터넷 기반 콘텐츠를 시청자들에게 전달하는 기능을 한다. 넷플릭스는 원래 스트리밍 영상 딜리버리 서비스를 서드파티 CDN 업체에 아웃소싱 했었지만, 기업 규모가 커지면서 서드 파티 벤더들로는 트래픽을 감당하기 어려워 졌다. 넷플릭스로서도 딜리버리 서비스 및 사용자 경험에 대한 보다 강력한 통제권을 행사할 필요가 있었다. 넷플릭스는 결국 자사의 니즈에 맞춘 CDN을 맞춤 제작하기로 결정했다.

넷플릭스의 오픈커넥트 어플라이언스는 로컬 ISP(internet service provider) 데이터센터 내부에 콘텐츠를 저장 및 전달한다. ISP 데이터센터에서는 넷플릭스 서비스를 나머지 인터넷으로부터 분리, 고립시킨다. 대중성 알고리즘(popularity algorithm)과 스토리지 테크닉이 오프로드 효율성을 극대화 하는 쪽으로 콘텐츠를 분산시킨다. 이러한 시스템은 업스트림 네트워크 용적에 대한 부담을 줄이고 트래픽을 호스팅 하는 ISP네트워크와 보다 긴밀하게 협력할 수 있게 한다.

한은 "우리는 콘텐츠를 보관하기 위해 오픈커넥트 캐싱 박스를 설계했으며, 인터넷 서비스 공급자의 네트워크 내에 어디에나 설치할 수 있도록 하여 이러한 비디오 비트가 실제로 오퍼레이터의 네트워크에서 전송되지 않도록 했다”라고 말했다.

새로운 시스템은 모두가 증오해 마지 않는 버퍼링도 획기적으로 줄였다. 또한 넷플릭스는 CDN 소프트웨어를 더욱 지능적으로 만들 수 있게 되었다. 이제, 고객이 재생 버튼을 누를 때마다 인터넷 상의 여러 위치에서 콘텐츠를 가져올 수 있게 된 것이다.

이러한 투자는 브라질에 있는 ISP 데이터센터에 화재가 발생해 넷플릭스의 모든 컴퓨터 스택을 태워버렸을 때 비로소 빛을 발했다. ISP에서 스트리밍한 고객 중 누구도 사용자 경험에 어떤 변화나 지장도 느끼지 않았다.

"고객의 디바이스는 이미 이런 경우 데이터를 얻기 위해 어디로 가야 할 지를 알고 있었다. 데이터센터에 화재가 발생한 상황에서도, 단 한 프레임의 스트리밍도 방해 받지 않고 유려하게 서비스를 제공했다”고 한은 말했다.

카오스 엔지니어링과 기업 문화
넷플릭스 개발자들은 엔지니어링에 대한 독특한 접근으로 잘 알려져 있다. 넷플릭스에서는 카오스 자동 플랫폼(Chaos Automation Platform)이라는, 셀프 서비스 엔지니어링 도구를 개발하여 운영 환경의 문제를 테스트하고 장애 발생 시 소프트웨어가 원하는 대로 작동하도록 하고 있다. 한은 다음과 같이 설명했다.

"사람들은 1초에도 수천 번씩 넷플릭스의 재생 버튼을 누른다. 시스템이 자동으로 복구되지 않고 곤란한 상황을 처리할 수 없다면, 자가 수리가 불가능하고, 인력이 개입할 즈음에는 이미 수 분이나 시간이 흐른 후일 것이다.”

"적절한 인력을 적재 적소에 투입하기 위해 걸리는 그 3~5분의 시간 동안 얼마나 많은 고객들이 실망하고 돌아섰을지, 상상하기 어렵지 않을 것이다. 카오스 엔지니어링은 실패에 대한 훌륭한 예방책이 되어 준다."

회사의 개발자들은 넷플릭스가 사용하는 3가지 AWS 영역 중 하나에서 실패가 발생해도 이를 문제 없이 넘길 수 있도록 하기 위해 카오스 엔지니어링을 채택했다. 넷플릭스에서는 매달 한 영역을 비활성화하고 6분 안에 비활성화 된 영역의 모든 고객을 다른 영역들 중 하나로 이동할 수 있는지 테스트하고 있다.

혼돈스러운 상황을 큰 피해 없이 수습하기 위해 넷플릭스는 그러한 아이디어를 수용할 수 있는 기업 문화를 배양해내야만 했다.

핵심 원칙들은 127장의 슬라이드로 구성된 넷플릭스 컬쳐 덱(Netflix Culture Deck)에 공시됐다. 페이스북의 COO 셰릴 샌드버그는 넷플릭스 컬쳐 덱이 “실리콘밸리 역사상 가장 중요한 문서라고 말해도 과장이 아닐 것”이라고 자평했던 바 있다.

넷플릭스 정책의 핵심은 ‘자유와 책임의 균형’이라 할 수 있다. 각 팀에게 자신이 맡은 마이크로서비스의 소유권을 주고 독립적으로 이를 관리할 수 있도록 하면서도 무모하거나 무책임은 행동을 하지 못하도록 한다는 것이다.

“넷플릭스에서는 매니저가 해야 할 일을 정해서 지시하거나, 프로젝트를 설계해 주지 않는다. 매니저의 역할은 직원들에게 적합한 문맥을 제공하여 스스로 결정을 내리게 하고, 함께 일할 잘 맞고 똑똑한 인재를 직접 채용하게 하며, 무엇보다 직원들의 자율성을 침해하지 않는 것이다”라고 한은 말했다.

넷플릭스는 고객 데이터에 손 대지 않는다는 것과 같은 기본적 원칙들을 제외하고는 불필요한 규칙을 많이 세우지 않는 편이다. 한은 이러한 접근 방식을 가리켜 ‘가드레일 설치’라고 표현했다. 또, 엔지니어에게 직접적으로 뭘 어떻게 하라고 지시해야 했던 적은 한 손에 꼽을 정도라고도 강조했다.

“업무의 맥락을 널리, 그리고 주기적으로 공유함으로써 청구시스템을 설계하는 사람, 알고리즘 시스템을 관리하는 사람, 안정성 팀의 SRE, 고객 서비스를 담당하는 사람 등, 직원들 각자가 자신이 맡은 일에 열중하면서도 동일한 맥락과 상황을 이해하고 같은 목표 달성을 위해 노력할 수 있다”고 그는 말했다.

한은 이어 “이러한 자율성은 각 팀의 독립을 보장한다. 넷플릭스에는 엄격한 구조도, 통제도 없지만 모두가 발 맞춰 행진할 줄 안다”라고 말했다. ciokr@idg.co.kr 

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.