오징어 게임과 클라우드 컴퓨팅
상태바
오징어 게임과 클라우드 컴퓨팅
  • 김원일
  • 승인 2021.10.13 16:19
  • 조회수 187
  • 댓글 0
이 콘텐츠를 공유합니다

 

우리나라 드라마 <오징어 게임>이 연일 새로운 기록을 갱신하고 있죠? <오징어 게임>은 2021년 10월 3일 현재 넷플릭스 시청이 가능한 83개국에서 모두 1위를 기록했고 넷플릭스 역사상 서비스가 가능한 모든 국가에서 1위를 한 컨텐츠는 <오징어 게임>이 유일합니다. 이는 <오징어 게임>이 공개된 지 불과 2주만에 발생된 일인데요. Technical Architect로서 의문이 하나 생깁니다. 도대체 넷플릭스의 backend system은 8200만 view라는 어마어마한 트래픽을 어떻게 감당하고 있는 것일까요?

외신에 소개된 오징어 게임

 

<오징어 게임>의 가장 큰 성공 요인은 뭐니뭐니해도 컨텐츠 자체의 매력 때문일 것입니다. 하지만 이 매력적인 컨텐츠를 북유럽이나 아프리카 국가에서도 즉시 시청할 수 있도록 만들어 준 넷플릭스의 기술력도 무시할 수 없는 요인 중 하나입니다.  

The most popular TV streaming service around the world

 

넷플릭스가 다른 유사 서비스 업체들에 비해 시장을 먼저 선점할 수 있었던 이유는 제공하는 컨텐츠의 다양성과 함께, 기존 서비스 사업자들이 컨텐츠를 전달함에 있어 문제점으로 지적되어 온 동영상 끊김 현상을 해결했고, 사용자가 급등했을 때에도 영상의 품질을 일정하게 유지할 수 있었던 기술력 때문이었습니다. 지금의 넷플릭스가 되기 까지는 여러 번의 중요한 마일스톤이 있었는데 그 중 하나가 퍼블릭 클라우드로의 전환이라는 신속한 의사결정입니다.

넷플릭스는 영화의 저장 포맷이 VHS에서 DVD로 바뀌면서 등장한 기업입니다. 1998년에 설립된 넷플릭스의 첫번째 비즈니스 모델은 회원들에게 연회비를 받고 우편으로 DVD를 대여해 주는 것이었습니다. 우편 배송은 아무리 빨라도 하루 이상 소요되기 때문에 성질이 급한 우리나라 사람들은 넷플릭스의 초반 성공이 이해되지 않을 수도 있습니다. 하지만 동네마다 비디오 대여점이 있던 우리나라와는 달리 미국 사람들은 비디오 대여점을 가기 위해서는 자동차를 이용해야만 했기 때문에 넷플릭스의 비즈니스 모델은 성공적이었습니다. DVD는 VHS보다 가벼웠고 파손의 위험도 적었기 때문에 배송으로 발생되는 손실의 위험도 적었습니다. 그러나 초고속 인터넷이 집집마다 보급되자 미국 사람들도 영화를 빨리 보고자 하는 수요가 발생했고, 이 수요를 감지한 넷플릭스는 영화의 온라인 스트리밍 서비스를 시작합니다. 

같은 영화라도 우편으로 DVD를 보내는 것과 온라인 스트리밍으로 영화파일을 집까지 송신하는 것은 시스템적으로 큰 차이가 있습니다. 온라인 스트리밍 서비스는 우편 배송과는 상대가 되지도 않을 정도로 큰 규모의 시스템이 필요합니다. 

넷플릭스의 DVD 배송 시스템 논리 아키텍처

 

새로운 서비스를 시작할 때 시스템 관점에서 가장 큰 고민은 고객의 수 예측일 것입니다.  고객이 100만명인 시스템과 100명인 시스템은 완전히 다르게 설계될 수 밖에 없습니다. 

기존 DVD 배송을 위한 넷플릭스의 시스템은 고객수 100만명 규모의 IBM의 pSeries 하드웨어와 오라클 데이터베이스를 사용하는 Monolithic 시스템이었고, 이는 대부분의 국내 금융 회사들의 표준 아키텍처 이기도 합니다. 당시 (어쩌면 지금까지도) IT 운영자들의 고정관념으로는 IBM 유닉스 하드웨어와 오라클 데이터베이스 기반의 Monolithic 아키텍처가 가장 안정적이고 우수한 성능의 시스템이었습니다. 하지만 Monolithic 아키텍처는 사용자의 수가 예측이 되지 않으면 설계가 어렵고, 사용자가 갑자기 증가할 경우 즉시 대응하지 못한다는 문제점이 있습니다. 

2021년에 살고 있는 우리들은 넷플릭스에 2억명 이상의 가입자가 있다는 것을 알고 있지만 2008년 넷플릭스가 최초로 서비스를 기획할 당시에는 자신들의 새로운 서비스를 몇 명이나 이용할 것인지 예측하기 어려웠습니다. 예측치보다 적은 수의 사용자가 사용한다면 불필요한 투자를 하게 되고, 예측보다 많은 수의 사용자가 사용한다면 서비스 품질이 저하되는 현상이 발생합니다. 이 경우 서비스 품질에 대한 평판 때문에 다소 무리하게 큰 시스템을 도입하는 경우가 많습니다. 만일 넷플릭스가 Monolithic 아키텍처를 고집했다면, 아무리 무리한 예측을 했더라도 사용자의 규모를 따라잡을 수 없었을 것입니다. 서비스 시작 당시 100만명의 가입자가 있던 회사는 12년 만에 2억명의 가입자가 있는 초대형 회사가 되었기 때문입니다.

넷플릭스 가입자 수 변화 (2011년부터는 스트리밍 서비스 가입자수만 포함)


이런 Monolithic 아키텍처의 단점을 극복하고자 퍼블릭 클라우드가 신규 시스템의 후보에 올랐으나 2000년대 초반은 지금처럼 퍼블릭 클라우드의 도입에 대한 논의가 활발하게 이루어지던 시기가 아니었습니다. 퍼블릭 클라우드 사업자인 AWS도 넷플릭스와 같은 서비스를 하는 고객은 없었습니다. 게다가 IT운영 실무자들은 클라우드 도입을 원하지 않았습니다. IT 실무자들이 클라우드 도입을 원하지 않는 것은 넷플릭스 뿐 아니라 클라우드 도입을 검토하는 모든 회사들이 겪는 문제이고, 클라우드 도입에 가장 큰 영향을 미치는 것은 시스템을 실제로 운영해야 할 실무자들의 의견입니다. 독재적인 CEO라도 실무자들이 운영하기 어렵다는 시스템을 강압적으로 도입하기는 어렵기 때문입니다. 클라우드 도입이 결정된 후에도 실무자들의 반발로 번복이 되는 사례도 많습니다. 만일 IT 운영자들이 지속적으로 클라우드에 저항했다면 지금의 넷플릭스는 존재하지 않았을지도 모릅니다.  

넷플릭스가 다른 회사와 달리 클라우드로 전환에 대한 길고 지루한 검토를 생략하고 빠른 전환을 할 수 있었던 이유는 2008년도에 발생했던 약 2일간 시스템 장애 때문이었습니다.  

2008년 넷플릭스 시스템 장애 기사

 

B2C 사업을 하는 기업들이 가장 두려워하는 것은 시스템의 장애입니다. 시스템이 멈추면 매출도 중단되고, 이로 인한 고객의 피해까지 보상해줘야 하므로 손실은 배가 됩니다.  넷플릭스의 장애는 하드웨어의 오류로 판명되었고 이로 인하여 경영진으로 하여금 퍼블릭 클라우드 전환에 대한 의사결정을 쉽게 만들어 주었습니다. 이 장애에 책임이 있던 IT 실무자들은 경영진에 결정에 반대하기 어려웠고, 클라우드의 전환에 적극적으로 동참했습니다. 
당시의 이 결정 덕택에 넷플릭스는 전 세계 94개국에 서비스를 실시하는 대형 회사가 될 수 있었고, AWS도 가장 큰 고객을 유치할 수 있게 되었습니다. 넷플릭스의 도입이 상대적으로 늦었던 우리나라에서조차 유사 서비스 대비 가입자 수가 압도적인 1위를 기록하고 있는 중입니다. 

국내 동영상 스트리밍 서비스와 가입자 수

 

MSA 기반의 아키텍처로 구성된 넷플릭스의 서비스는 특정 컨텐츠의 사용자가 증가한다해서 모든 시스템의 사양을 늘릴 필요가 없습니다. 필요한 컨텐츠와 관련된 시스템 규모만 늘리면 되고, 규모 증설은 AWS의 Scale-out 기능을 통해 이루어 집니다.   

AWS 기반 넷플릭스 아키텍처

 

인기있는 서비스는 Microservice 형태로 운영되어 사용자가 증가하면 그에 따른 서비스 처리 로직만 증설하면 됩니다. 넷플릭스의 비즈니스 모델에 어울리는 아키텍처입니다. 만일 Monolithic 아키텍처를 고집했다면 <오징어 게임>과 같이 예상치 못한 성공에 대응하기 어려웠을 것입니다. 히트작이 생길 때마다 시스템 전체를 업그레이드 해야하기 때문입니다. 만일 넷플릭스가 과거와 같은 Monolithic 아키텍처를 고집했다면 <오징어 게임>을 전 세계 시청자들이 그토록 많이, 빨리 볼 수 없었을 것입니다.
 
퍼블릭 클라우드가 단순히 시스템 규모 증설에만 강점이 있는 것은 아닙니다. 넷플릭스는 제공 컨텐츠에 약간씩 차이가 있을 뿐 전 세계적으로 동일한 비즈니스 모델을 가지고 있으므로 비즈니스의 확장이 용이하였습니다. 법적인 검토만 끝나면 시스템의 설치는 즉시 이루어졌습니다. 우리나라에서 넷플릭스 코리아의 서비스가 시작된 날은 2016년 1월 7일이었는데, 이는 AWS 서울 리전의 서비스 게시일이기도 합니다. AWS가 있는 곳에는 넷플릭스가 있다고 해도 과언이 아닙니다.

비즈니스 성격이 전혀 다른 넷플릭스와 보험사는 한가지 동일한 고민을 공유하는데, 그것은 바로 고객의 이탈 방지입니다. 매달 서비스 사용료를 지불하는 고객의 이탈이 두려운 것은 고객수 2억명의 넷플릭스나 국내 보험사들이나 마찬가지입니다. 넷플릭스의 경우 고객의 이탈을 방지하기 위해 기존의 관람 이력을 바탕으로 끊임없이 맞춤형 추천 영상을 제공해주는데 이 또한 자신들이 도입한 분석도구가 아닌 퍼블릭 클라우드에서 제공해주는 서비스를 사용하고 있습니다. 

넷플릭스를 독창적인 서비스라고 말할 수는 없을 것입니다. 넷플릭스 이전에도 동영상 스트리밍 서비스 업체가 있었습니다. 우리나라는 2007년부터 IPTV서비스를 시작했고, 인터넷을 이용하여 영화나 드라마를 볼 수 있는 서비스는 인터넷 초창기부터 존재했습니다. 그럼에도 불구하고 넷플릭스가 동영상 스트리밍 시장에서 독보적 1위를 하고 있는 이유는 다른 서비스 업체들과 달리 모든 가입자들에게 끊김 없는 영상을 제공했고, 그렇게 하기 위해 퍼블릭 클라우드를 적극적으로 사용했기 때문입니다. 퍼블릭 클라우드가 없었다면 전 세계 사람들이 이렇게 빨리 <오징어 게임>을 볼 수 있는 방법은 없었을 것입니다. 

과거의 넷플릭스가 그랬듯 만일 새로운 서비스를 고민하고 있다면 클라우드의 사용은 반드시 같이 고민되어야 하는 시대라는 것을 <오징어 게임>이 다시 증명해 준 셈입니다. 

 

- 출처- 
CNN, 'Squid Game': What it is and why you will be obsessed with it

Seaasis, World Map of Most Popular Streaming Service in Every Country

Backlinko, Netflix Subscriber and Growth Statistics: How Many People Watch Netflix in 2021?

New York Time, Lessons From Netflix’s Fail Week 

DEV Community, Netflix System Design- Backend Architecture

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.