2017년 새 해가 밝았다. 올해에는 연초부터 방송사별로 UHD 본 방송이 시작되고, 가상 현실 및 증강 현실과 같이 디지털 및 융합된 다양한 새로운 서비스들이 다양한 업체들로부터 기획되는 등 많은 변화의 조짐들이 보이고 있다. 기술의 발전은 영역의 파괴를 가져오고 있고, 독립된 영역에서 서로 무관하게 발전한 기술들을 하나로 묶어서 새로운 가치를 창조해 가고 있다. 지난해 4월 라스베이거스에서 개최되었던 NABShow에서도 구글, 아마존웹서비스(Amazon Web Services, 이하 AWS), IBM 등 과거에는 방송기술과 거리가 있었던 많은 업체가 디지털 미디어라는 접점에서 활발하게 소통하였던 부분도 이러한 변화와 무관하지 않을 것이다.
작년 3월 온 언론을 떠들썩하게 했던 구글의 알파고와 이세돌 9단의 대국들을 기억할 것이다. 세간의 예상을 뒤집고 알파고가 이세돌 9단에 4대 1로 승리를 거두면서 전 세계의 많은 사람이 인공지능의 발전에 놀라움을 나타냈다. 당시 알파고가 사용하였던 딥러닝이라는 머신러닝 기법은 많은 사람에게 새로움과 놀라움을 선사했지만, 이러한 기술들은 이미 많은 미디어 회사에서도 사용되고 있다. 넷플릭스(www.netflix.com)는 다양한 머신러닝 기법을 활용해 고객별 맞춤 추천 시스템을 제작하고 있고, 아마존은 대화형 멀티미디어 장비인 아마존 에코(Amazon Echo)를 통해서 머신러닝에 기반한 음성인식 서비스를 제공하고 있다. 물론 국내에서도 머신러닝을 이용한 추천 시스템은 많이 사용되고 있다.
이렇듯, 여러 영역 간의 기술적 장벽은 빠르게 허물어지고 있다. IT의 여러 신기술은 영역을 가리지 않고 커다란 영향을 미치고 있고, 방송기술 역시 IT의 여러 기술을 빠르게 흡수해 가고 있다. 그러한 많은 IT 기술 가운데 가장 활발한 논의가 이루어지고 있는 기술을 하나 꼽는다면 단연 클라우드 컴퓨팅일 것이다. 스타트업부터 GE(General Electric)와 같은 엔터프라이즈 기업에 이르기까지 많은 기업은 어떠한 이점을 얻기 위해 클라우드 컴퓨팅을 활용하고 있을까? 또 방송기술에 효과적으로 클라우드 컴퓨팅을 적용하기 위해서는 어떤 전략을 수립해야 할까? 먼저 클라우드 컴퓨팅에 대해 좀 더 자세히 알아보는 것이 필요할 것이다.
클라우드 컴퓨팅이란?
먼저, 클라우드 컴퓨팅의 정의에 대해서 살펴보자. 클라우드 컴퓨팅이라는 단어의 어원은 분명하지 않다. 하지만 클라우드 컴퓨팅이라는 단어가 널리 쓰이게 된 것은 2006년에 아마존이 EC2(Elastic Compute Cloud)라는 이름으로 인터넷에서 사용 가능한 가상 머신(Virtual Machine)을 제공하기 시작한 것이 계기가 되었다. 대개 ‘클라우드’란 단어는 과학계에서 많은 양의 물질들을 함축적으로 표현할 때 많이 쓰였고, 가상 머신을 거대한 풀(Pool) 안에서 선택하여 사용할 수 있는 특징이 그러한 이름을 갖게 되는 이유가 되었다.
우리가 매일 사용하는 전기를 생각해 보자. 책을 읽기 위해 불을 밝히고, 전자레인지로 음식을 데우기 위해서 사용하는 전기는 어느 누구도 직접 발전기를 통해 만들어 쓰지 않는다. 마치 전기와 수도를 쓰듯 IT 자원들을 인터넷을 통하여 사용하는 것이 클라우드 컴퓨팅이라고 할 수 있다. 비용 또한 전기, 수도와 마찬가지로 사용한 만큼만 지불하게 되어, 초기 투자가 필요 없다.
클라우드 서비스의 초창기에는 사용 가능한 자원의 종류가 많지 않았다. 가상머신, 스토리지, 네트워크, 데이터베이스 등 IT시스템의 가장 기본적인 자원들이 제공되었고, 사용자들은 이러한 자원들을 사용하여 웹서비스, 그룹웨어 등 제한적인 업무에 사용하였다. 하지만 시간이 지날수록 클라우드 서비스가 제공하는 서비스들의 폭이 넓어지고 있다. 작년 11월 28일부터 12월 2일까지 라스베이거스에서 개최되었던 AWS의 연례 컨퍼런스 re:Invent 2016에서는 인공지능 서비스들을 포함해 29개의 신규 서비스가 클라우드 플랫폼 위에서 발표되었다.
가상머신, 스토리지, 네트워크, 데이터베이스를 넘어 클라우드를 통한 미디어 트랜스코딩, 모바일 개발 허브, 하둡이나 Redshift와 같은 데이터 웨어하우스 서비스, IoT, 머신러닝 등 클라우드만 사용해도 거의 모든 업무를 수행할 수 있는 많은 서비스가 제공되고 있다.
클라우드 서비스는 새로운 형태의 컴퓨팅 환경도 선도하고 있다. 그중 하나가 서버리스(Server-less) 컴퓨팅 환경이다. 오랜 시간 동안 IT는 서버에 의존하여 왔고, 새로운 업무를 설계하는 데 있어 가장 먼저 하는 일 중 하나가 서버 플랫폼을 결정하는 일이었다. 물리 서버 혹은 가상머신을 통한 서버를 구성한 후 애플리케이션 스택을 구성하는 것이 일반적인 IT 환경 설정이라고 볼 수 있다. 하지만 클라우드가 제공하는 막대한 양의 컴퓨팅 환경은 새로운 형태의 IT 자원 소비 형태를 가져오고 있다. AWS의 서버리스 아키텍쳐의 핵심 서비스 중 하나인 람다(AWS Lambda) 서비스는 사용자가 파이썬이나 node.js 혹은 java로 설계된 프로그램을 업로드하고 실행 조건만 설정하면 가상머신 등의 서버 없이도 비즈니스 로직을 수행할 수 있는 기능을 제공하고 있다.
예를 들어 스마트폰을 사용하는 개인 사용자가 동영상을 촬영하여, AWS의 스토리지에 전송하면, 스토리지에서 동영상이 업로드되었다는 이벤트가 발생하고 이 이벤트를 통해 람다 함수가 호출되어 스트리밍용 미디어 트랜스코딩을 수행할 수 있다. 트랜스코딩이 완료된 미디어 파일은 다시 클라우드 스토리지에 저장되고, 연결되어 있는 CDN(Contents Delivery Network) 서비스를 통해서 전 세계에 배포될 수 있다. 이 모든 과정에서 서버는 사용되지 않으며 이러한 아키텍처를 서버리스 아키텍처라고 한다.
이렇듯 클라우드 서비스는 빠르게 진화하고 있다. 단순히 서버, 스토리지를 얻어 쓸 수 있는 서비스가 아니라 적은 인력으로 빠르게, 비용 효율적으로 새로운 사업을 구체화할 수 있는 새로운 시대의 컴퓨팅 환경이라고 볼 수 있다. 그렇다면, 클라우드 컴퓨팅이 가지는 이점에는 어떠한 것들이 있을까? 크게 살펴보면 다음과 같은 다섯 가지의 장점이 있다.
1. 빠른 비즈니스 환경 변화에 적응할 수 있는 속도
2. 사용한 만큼만 지불하여 자산 비용을 운영 비용으로 전환
3. 탄력적인 처리 용량
4. 손쉽게 사용할 수 있는 다양한 클라우드 서비스
5. 글로벌 진출
각각의 장점에 대해서 하나씩 살펴보도록 하자.
1. 빠른 비즈니스 환경 변화에 적응할 수 있는 속도
오늘날 비즈니스 환경은 정말 빠르게 변하고 있다. 다양한 산업군에서 새로운 비즈니스 모델로 무장한 스타트업들이 빠르게 생겨나고, 그중의 일부는 시장 안에서 절대적인 위치를 유지하고 있던 회사들의 비즈니스를 위협하기도 한다. 일례로 우버(Uber)는 2009년 가렛 캠프(Garrett Camp)와 트래비스 캘러닉(Travis Kalanick)이 창업한 이래 단 7년 만에 60조 원이 넘는 시장가치를 자랑하고 있는데, 이것은 전통적인 자동차 시장의 강자인 포드(Ford)나 GM보다도 큰 것이다 . 에어비앤비(Airbnb) 역시 2007년 브라이언 체스키(Brian Chesky)와 조 게비아(Joe Gebbia)가 창업한 이후 10년 만에 30조 원의 시장가치를 가지고 있어, 힐튼 그룹보다 더 큰 가치를 보여주고 있다.
우버와 에어비앤비의 공통점은 두 회사 모두 “인터넷”을 시장으로 접근하여 전 세계 모든 사람들을 잠재적 고객으로 사업을 시작했다는 데 있다. 이러한 “인터넷”을 대상으로 하는 사업은 필연적으로 IT를 비롯한 “기술” 중심적인 형태를 갖게 되고, 고객들의 피드백을 통한 끊임없는 개선이 사업 성공의 열쇠가 된다. 즉, 시장에 대한 통찰(insight)을 바탕으로 효과적인 비즈니스 모델을 설계하고, 이러한 비즈니스 모델을 빠르게 IT 서비스로 구체화하는 것이 무엇보다도 중요하다. 일단 서비스가 시작되고 운영되면, 고객으로부터의 직·간접적인 피드백을 수집하여 빠르게 서비스를 개선해 나가는 것 또한 매우 중요한 요소가 된다.
과거 IT 서비스를 구체화하는 것은 시간이 많이 드는 일이었다. 사업 모델을 정의하고 대상 고객군을 정한 다음, 그에 맞는 시스템을 설계한다. 이 과정에서 RFI(Request For Information), RFP(Request for Proposal) 등의 프로세스를 통해서 솔루션 제공 업체들의 제안을 받고, 경우에 따라 PoC(Proof of Concept)를 실행하여 실제 솔루션이 동작하는지를 점검하는 단계를 거치고, 시스템 규모를 결정하게 된다. 이러한 과정을 거치고 나면 비로소 필요한 장비들에 대한 구매가 이루어지고, 시스템 설치, 제반 소프트웨어 및 애플리케이션이 설치되어 운영 준비에 들어가게 된다. 대개 이러한 과정에 소요되는 시간은 수개월 이상이다.
앞에서 설명한 시장의 빠른 변화는 이렇게 긴 구축 기간을 용납하지 않는다. 이러한 경우 클라우드 컴퓨팅은 아주 매력적인 해결책이 된다. 만들어진 비즈니스 모델은 수 분 안에 배포되는 가상머신 혹은 클라우드에서 제공되는 관리형 데이터베이스 서비스, 인공지능 서비스, 빅데이터 서비스, 모바일 개발 서비스, 애플리케이션 배포 서비스 등 다양한 관리형 서비스들을 통해 빠르게 서비스로 구체화된다. 이러한 자원들은 대개 시간당 과금모델에 의해 비용이 발생하므로, 적은 비용으로 빠르게 PoC를 수행할 수 있다. 또한 PoC가 완료되면, 사실상 운영시스템이 개발되는 것과 같기 때문에, 비즈니스를 바로 시작할 수 있다.
물론, 모든 스타트업 혹은 신규 사업들이 성공하는 것은 아니다. 블룸버그에 따르면 10개 중 8개의 스타트업이 18개월 안에 실패한다고 한다. 따라서 하나의 성공적인 비즈니스를 만들기 위해서는 실패의 비용을 낮추면서 반복적으로 많은 시도를 하는 것이 무엇보다 중요하다. 1억의 예산을 가지고 다섯 가지의 아이디어를 저울질한다면, 5가지 아이디어 중 가장 성공 가능성이 높은 한 가지 아이디어를 결정한 다음 1억의 예산을 사용하여 사업을 진행하는 것이 일반적이다. 만일 1억의 예산을 가지고 다섯 가지의 아이디어를 모두 실험해 볼 수 있다면 성공의 가능성은 가파르게 높아질 것이다. 결국, 성공을 위한 열쇠는 역설적으로 “잘 실패하는 것”에 달려 있다고 볼 수 있다. 적은 비용으로 빠른 시간 안에 실패할 수 있다면, 새로운 비즈니스 모델을 다시 실험할 수 있고, 이러한 반복적인 실험이 결과적으로 성공하는 비즈니스 혹은 신규 사업을 만들어 내게 된다.
클라우드는 빠르게 원하는 자원을 시간 단위의 비용을 통해서 사용할 수 있게 하므로, 실패의 비용을 낮추면서 최대한 많은 실험을 할 수 있게 한다. 비단 스타트업뿐 아니라, 지속적으로 신규 사업을 만들어내는 엔터프라이즈 기업들에도 매우 중요한 장점이라고 할 수 있다.
2. 사용한 만큼만 지불하여 자산 비용을 운영 비용으로 전환
클라우드의 또 다른 장점은 사용한 만큼만 비용을 지불하는 데 있다. 새로운 IT 자원을 도입할 때 모든 기업들은 총 소유 비용(TCO, Total Cost of Ownership)을 계산하여 합리적인 선택을 할 수 있도록 한다. 사용한 만큼만 지불하는 이러한 클라우드의 특징은 기업의 TCO를 크게 개선하는 데 도움을 준다.
AWS가 제공하는 Amazon S3(Simple Storage Service)라는 오브젝트 스토리지를 예로 들어 보자. 오브젝트 스토리지는 서버에 연결하여 사용하는 블럭 스토리지(Block Storage)와는 달리, 오브젝트 단위로 저장하고 저장된 오브젝트를 직접 서비스하는 새로운 개념의 스토리지다. 사용자는 S3에 최대 5TB 크기의 오브젝트를 개수 및 용량에 대한 제한 없이 저장할 수 있다. 어느 한순간 50TB의 데이터를 S3에 가지고 있다면, 50TB에 대한 스토리지 비용만 부담하면 된다.
클라우드가 아닌 일반적인 서버 환경에서 사용하는 스토리지는 이와는 좀 다르다. 만일 50TB의 저장 공간이 필요하다면, 향후 증가량 및 수명을 고려하여 여분의 스토리지를 구매하게 된다. 매년 10TB씩 증가하고 5년 사용할 시스템이라면, 약간의 조정 요소를 고려하여, 예컨대 120TB를 구매하게 된다. 그렇다면 항상 사용하지 않는 스토리지가 남게 되고, 이에 대한 비용은 고스란히 과잉 투자로 남게 된다.
이러한 일은 컴퓨팅 자원에서도 흔히 일어난다. 미국의 블랙 프라이데이 기간 중의 Amazon.com의 트래픽 패턴을 보면, 다음과 같이 블랙 프라이데이 기간 중 평소와는 다른 패턴이 나타난다.
블랙 프라이데이 기간 중 고객 불만이 없도록 하기 위하여 최대 피크에 맞추어 자원을 미리 준비하게 되면 위의 그림과 같이 76%의 자원이 낭비된다. 만일 이러한 76%의 자원 낭비를 최소화하고, 실제 필요한 자원량을 통해 서비스할 수 있다면, 전체 비용의 76%를 절감하게 되는 효과를 가져올 수 있다. 이를 위하여 클라우드 서비스에서는 오토 스케일링(Auto Scaling) 기능을 통하여 자원의 사용량 및 계획에 따라 컴퓨팅 및 기타 자원들을 할당할 수 있도록 하고 있다.
위와 같이 사용한 만큼만 지불하는 비용 구조를 통해 지속적인 자산 비용을 운영 비용으로 바꾸어 유연하게 IT 자원을 사용할 수 있다. 물론 항상 고정적으로 사용되는 컴퓨팅 자원은 예약 구매를 통해 비용을 더 낮출 수 있다(예약 인스턴스). 또한 스토리지와 네트워크에 대해서는 사용량이 많아질수록 단가가 낮아지고, 필요한 가용성에 따라 유연하게 서비스를 선택하는 등 다양한 비용 절감 방법들이 있으므로 지속적으로 TCO를 개선해 갈 수 있다.
3. 탄력적인 처리 용량
클라우드 컴퓨팅의 또 하나의 특징은 현실적으로 “무제한”의 자원을 얻을 수 있다는 점이다. 예컨대 신규 서비스를 기획할 때, 잠재 고객 수를 예측하고 적절한 양의 자원을 구성하게 된다. 하지만 신규 사업이라는 것이 항상 예측한 대로 진행되지는 않기 때문에 자원의 과잉 투입으로 인한 비용 낭비 혹은 자원의 부족으로 인한 서비스 품질 저하가 발생하게 된다. 특히 자원이 부족한 경우, 서비스 품질을 개선하기 위한 추가 자원의 도입은 다시 많은 시간과 비용을 요구하게 된다.
클라우드 컴퓨팅에서는 현실적으로 무제한의 자원을 공급하고 있기 때문에, 언제든 필요한 양의 자원을 추가 할당하는 것이 가능하다. 물론 추가 자원의 할당을 위하여 오토 스케일링 등의 기술을 사용하여 서비스 품질 저하 없이 서비스가 자동으로 반응하도록 구성할 수 있다.
이러한 클라우드의 특징 때문에 클라우드에서 서비스를 기획할 경우 규모 산정에 많은 노력을 기울일 필요가 없다. 실제 서비스가 오픈된 후 적절한 모니터링을 통해 자원의 사용 상황을 확인하고 필요한 경우 스케일 업(Scale Up : 보다 처리 용량이 큰 자원을 사용) 혹은 스케일 아웃(Scale Out : 자원의 수를 늘려 처리 용량을 늘림)을 통해 추가 자원을 할당할 수 있다. 또한 스케일 다운(Scale Down : 보다 처리 용량이 작은 자원을 사용) 혹은 스케일 인 (Scale In : 자원의 수를 줄여 처리 용량을 줄임)을 통해 과잉 자원들을 제거할 수 있다. 즉, 초기에 많은 시간을 들여 적절한 양을 결정하여 고정된 자원으로 서비스를 하기보다, 지속적인 모니터링과 자원의 확대/축소를 통하여 비용 효율적으로 서비스를 운영할 수 있다.
이러한 클라우드의 장점은 신규 사업 혹은 비즈니스에 큰 자유를 부여한다. 즉 초기에 서비스의 잠재 고객들을 한정 지을 필요가 없으며 최대한 큰 규모로 사업을 계획할 수 있다. 앞에서 살펴본 우버나 에어비앤비의 경우 이러한 클라우드의 특징을 잘 활용하고 있다고 할 수 있다.
4. 손쉽게 사용할 수 있는 다양한 서비스
앞에서 살펴본 바와 같이 이미 클라우드를 통해서 다양한 서비스들이 제공되고 있다. AWS의 경우 70여 가지의 서비스들이 제공되고 있고, 이러한 서비스들을 활용하여 빠르게 새로운 업무 환경을 구축할 수 있다.
그림과 같이 컴퓨트, 스토리지, 데이터베이스 이외에도 데이터베이스나 서버, 데이터에 대한 마이그레이션 서비스, 개발 환경에 대한 서비스, 운영 관리 서비스, 보안 서비스, 데이터 분석(빅데이터) 서비스, 인공지능 서비스, IoT 서비스, 게임 개발 서비스, 모바일 서비스, 애플리케이션 서비스, 메세징 서비스 및 가상 데스크톱까지 폭넓은 서비스를 제공하고 있기 때문에 업무 개발에 드는 시간을 단축할 수 있다.
이러한 폭넓은 서비스들은 IT 자원 운영의 많은 부분들을 줄여 준다. 즉, 비즈니스 목표와 상관없는 많은 작업들(Undifferentiated Heavy Lifting)을 줄여 더 많은 인력들이 비즈니스 개선과 관련된 업무를 수행할 수 있도록 한다. 데이터센터의 환경 관리, 서버 하드웨어 관리, 시스템 소프트웨어에 대한 관리보다는 서비스 안정성 개선, 서비스 품질 개선, 신규 서비스 개발 등과 같이 비즈니스 목표에 직접 연관된 작업을 할 수 있다.
5. 글로벌 진출
클라우드 컴퓨팅을 통해서 글로벌 진출을 손쉽게 할 수 있다. 글로벌 교류가 필수인 시대에 살고 있는 요즈음 글로벌 IT 자원을 사용하는 것은 보편적인 일이 되었다. 대부분의 클라우드 사업자들은 전 세계에서 클라우드 서비스를 하고 있으며, 이러한 자원들을 한 곳에서 편리하게 제어할 수 있다.
AWS의 경우 전 세계에 16개의 리전(Region : 클라우드 서비스가 제공되는 지역, 도시 이름으로 표현됨)과 콘텐츠 배포를 위한 68개의 엣지 로케이션(Edge Location : CDN 서비스가 제공되는 지점)을 제공하고 있다. 한국 내에는 서울 리전이 제공되고 있으며 3개의 엣지 로케이션이 제공되고 있다. 이러한 글로벌 자원들을 효과적으로 사용하여 미디어 콘텐츠 및 서비스를 전 세계 규모로 손쉽고 빠르게 배포할 수 있다. 물론 모든 자원은 한 곳에서 집중 관리할 수 있다.
컴퓨팅의 새로운 표준, 클라우드
10여 년 전, 유례 없는 경제 위기를 겪으면서 많은 경제학자와 정책입안자들은 근본적인 변화가 필요하다는 것을 절감했다. PIMCO(Pacific Investment Management Company)의 수장이었던 모하메드 엘 에리언(Mohamed A. El-Erian)은 “새로운 표준(New Normal)”이라는 표현을 사용하면서 뼛속부터 새롭게 새로운 시대를 준비하여야 한다고 말했다. 과거에 당연하게 받아들여지던 제도와 관행들을 버리고 새로운 기준을 가지고 올바른 발전을 이루어야만 한다는 의미다. 비슷한 맥락에서 AWS CEO인 앤디 제시(Andy Jassy)는 2015년 이미 클라우드가 IT 산업의 새로운 표준이 되었다고 말했다. 신규 사업을 구상할 때 클라우드의 활용을 먼저 고민하는 것은 여러 기업의 일상이 되고 있고, 스타트업들은 자연스럽게 클라우드를 통해 사업을 일으키고 있다. 190여 나라에서 미디어 콘텐츠를 공급하고 있는 넷플릭스의 경우 자체적인 IT 자원 없이 AWS에서 모든 IT자원을 사용하고 있다.
넷플릭스의 예와 같이 방송기술 또한 클라우드를 활발하게 적용하고 있다. 콘텐츠의 양은 빠르게 늘어나고 있고, 소비자들은 예전과는 다른 방법으로 컨텐트들을 소비하고 있다. 시청자들은 더 이상 TV 수상기에만 의존하지 않고 스마트폰이나 태블릿, 경우에 따라서는 게임 콘솔을 통해서도 미디어를 소비하고 있다. 이러한 변화는 미디어 혹은 방송 산업의 새로운 전환점이 될 것이다. 우리나라에서도 넷플릭스와 같은 세계적인 기업이 클라우드 서비스를 통해 탄생하기를 간절히 기원해 본다.
김기완 솔루션즈 아키텍트는 IBM에서 15년 간 여러 기술 분야 업무를 수행하였으며 메인프레임 및 유닉스 운영체제, 데이터베이스 및 각종 미들웨어와 다양한 애플리케이션에 이르기까지 엔터프라이즈 고객들과 다양한 환경에서 많은 경험을 가지고 있다. 폭넓은 기반 지식과 이러한 고객 경험을 바탕으로 방송/미디어 그리고 다양한 엔터프라이즈 고객들의 AWS로의 여행을 돕고 있다.