클라우드는 일견 ‘꿈의 상품’처럼 보인다. 소프트웨어 개발자나 IT 운영자를 유혹하는 매력적인 요소로 가득하다. 그러나 현실은 그리 녹록치 않다.
클라우드 회사에서 처음 요금이 정리된 목록표를 받으면, 모든 사람들이 10만원 수표 한 장을 들고 사탕 가게를 찾은 어린 아이처럼 반응한다. 큰 삽으로 큰 빨래 가방에 캔디를 잔뜩 채울 수 있는 데 장점과 단점을 따지느라 시간을 낭비할 필요가 없다. 푼돈에 불과한 데 잘못될 일이 있을까?
그런데 그런 시절은 오래 전에 사라졌다. 우리 가운데 상당수는 매월 발송되는 클라우드 요금 청구서를 받고 놀란 회계 담당자와 이미 수십 차례 만남을 가진경험이 있을 것이다. 티끌 같은 요금이 태산이 된다. 그래서 가만히 앉아 그 이유를 고민한다. 여기에 대처할 방법이 있을까? 뭔가 할 수 있는 일이 있을까? 비밀 스위치 같은 것이 있을까?
클라우드를 알뜰하게 이용 중인 회사 중 하나는 아마 넷플릭스일 것이다. 매주 금요일과 토요일 밤이면 사람들이 휴식을 취하고 싶어하면서 수요가 급증하기 시작한다. 넷플릭스는 이 로드를 처리하기 위해 많은 인스턴스를 새로 확장한다. 그리고 사람들이 잠자리에 들 몇 시간 뒤에 다시 원상태로 돌린다. 1주일은 168시간이지만, 넷플릭스는 고객들이 가장 필요로 하는 몇 시간에 대해서만 요금을 낸다.
그러나 모든 것들이 이렇게 수요가 높을 때와 낮을 때가 확실히 구분되는 것은 아니다. 인스턴스를 상시 가동한다면 클라우드의 장점이 사라지기 시작할 것이다. 할인을 적용 받은 후에도 내야 할 요금이 아주 많을 수 있기 때문이다. 지금부터 많은 사람들이 클라우드 모델을 싫어하는 11가지 이유를 설명한다.

비용을 나누기 어렵다
서버를 구입하는 경우, 그 서버는 당신 것이고, 따라서 100% 비용을 부담해야 한다. 그러나 서버를 공유한다면, 리소스를 나눠야 한다. 그런데 비용을 고르게 나눠 분담하는 것은 식당에서나 가능한 일이다. 심지어 식당에서도 술을 주문하지 않았던 사람은 정산 과정에 화가 날 수 있다.
클라우드의 비용과 요금을 정확히 산정하기란 아주 어려운 일이다. 중요한 시간의 작업, 중단이나 연기가 가능한 백그라운드 컴퓨팅 작업에 같은 비용이나 요금을 책정할 수 있을까? 전기 회사는 밤이나, 태양 에너지 발전소를 최대한 가동할 수 있는 맑은 날에 전기 요금을 낮출 수도 있다. 특정 고객은 SLA를 원하지만, 다른 고객은 다운타임에 조금 더 여유가 있다면 어떻게 해야 할까?
클라우드 회사들은 고객의 관심을 붙잡을 수 있을 정도로 저렴하며, 동시에 충분한 이윤을 남길 수 있는 요금을 책정하려 노력했다. 그리고 머신을 여러 조각으로 나눠 비용을 분할해 책정하는 방법을 찾았다. 그러나 아주 정확하게 비용을 나누는 방법은 아니다.
현대적인 아키텍처가 소비를 유도한다
수학자들은 ‘바나흐-타르스키 역설(Banach-Tarski paradox)’을 탐구하기 좋아한다. ‘완두콩과 태양 역설(Pea and Sun Paradox)’이라고도 불리는 색다른 이론이다. 이는 완두콩을 유한한 수의 조각으로 자른 후, 태양만큼 큰 크기로 다시 조립할 수 있는 알고리즘 기법이다. 물론 현실에서는 실현되지 않는다. 그렇지만 이론적으로는 충분히 가능하다.
가끔은 클라우드가 이를 추구한다는 생각이 들기도 한다. 개발에 있어 ‘핫’한 이카텍처 측면의 접근법 중 하나는 큰 애플리케이션 하나를 수십, 때론 수백 서비스로 나눈 다음, 각각 쿠버네티스에 기반을 둔 컨테이너로 여러 번 실행하는 방법이다.
장점은 로드가 증가하면 쿠버네티스가 끼어들어, 모두 행복하도록 새 인스턴스를 구입하기 시작한다는 것이다. 반대로 단점은 한 번에 얼마나 많은 컨테이너나 인스턴스가 실행되는지 확인하는 사람이 없다는 것이다.
우리는 이에 대해 모른다. 그러다 요금 청구서나 인보이스를 받고 알게 된다. 과거 1개 서버에서 실행되었던 작은 앱이 태양만큼 큰 요금을 초래하는 것이다.
공짜에 대한 대가가 비쌀 수 있다
공짜(무료)를 싫어하는 사람은 없을 터다. 최고의 마케팅 방법은 개발자들에게 제품을 무료로 사용해 볼 수 있는 기회를 주는 것이다. 그러나 일정 시점이 되면 누군가 돈을 내야 하고, ‘공짜’에서 ‘유료’로 넘어가는 큰 단계를 관리하기란 아주 어렵다. 푼돈일 수 있지만, 무한대로 점증한다!
공짜가 주는 재미가 개발자들로 하여금 실제 비용을 예측하기 어렵게 만든다. 입소문이 돌기 시작하면 모두가 갈채를 보낸다. 그러다 월말에 엄청나게 불어난 요금 청구서를 받게 된다. 공짜일 때에만 저렴해 보인다는 의미이다.
좋은 제품에는 까다로운 함정이 있다
클라우드의 장점은 ‘자유’ 이다. 그런데 클라우드를 사용하다 보면 여기에 발목이 붙잡히기 십상이다. 예를 들어, 유능한 개발자들은 자신의 앱을 가장 작고 저렴한 인스턴스에 집어넣으려 애를 쓴다. 한 동안은 아무런 문제가 없다. 그러나 입소문을 타거나 쇼핑 시즌이 되면 로드가 급증한다. 데브옵스 팀은 의무감에 RAM이나 가상 CPU 용량을 확장할 것이다. 그러면 모든 것이 다시 잘 작동한다. 그러나 디봅스 팀이 이를 계속 관리하지 않으면 이렇게 훨씬 더 높은 요금 구성이 계속 유지되어버리고 말 것이다.
각 인스턴스에 할당된 디스크 공간에서 이런 문제가 더욱 두드러진다. 공간을 늘리기 쉽지만, 이를 줄이기는 어려운 경우가 많기 때문이다. 심지어 디스크 공간을 사용하지 않는 경우에도 그렇다. 볼륨 크기를 줄이는 방법은 링크된 가이드의 23단계의 방법을 참조한다.
때론 위치가 중요하다
클라우드의 데이터센터에는 고정된 주소가 없다. 땅에 붙어있지 않는 것처럼 느껴진다. 어딘가 알 수 없는 장소에서 맴돌고 있는 것 같다.
그러나 때론 위치가 가격이나 요금에 차이를 만든다. 예를 들어, 알리바바는 중국 내에서 실행되는 인스턴스에 더 많은 요금을 부과한다. 아마존의 경우, 오하이오의 t3.nano 머신은 시간 당 0.0056달러를 과금한다. 그러나 북 캘리포니아의 경우 시간 당 0.0062달러이다. 애저 가격 인덱스에 따르면, 미국 북중부 지역의 요금은 남중부 지역의 약 절반에 불과하다.
특정 지역의 부동산이 더 비싸기 때문일까? 세금이 더 높기 때문일까? 전기 요금이 더 비싸기 때문일까? 이런 문제에 시간을 낭비하고 싶지 않을 것이다. 클라우드는 원래 이런 고민으로부터 우리를 해방시켜줘야 한다.
할인에는 ‘약정’이 필요하다
클라우드이 ‘판촉 매력’ 중 하나는 자신이 원할 때 머신을 켜고, 필요한 만큼 사용할 수 있다는 점이다. ‘자유로움’이 장점이라는 이야기이다. 그런데 결국은 이런 유연성에 대가를 지불하게 될 것이다. ‘정가’는 꽤 비싸기 때문에, 가격을 낮추려면 상당한 ‘약정’을 해야 한다. 일부 클라우드 회사는 약정을 요구하지 않는다. 볼륨에 따라 자동으로 할인을 적용하기 때문이다. 그러나 그 효과나 영향은 동일하다. 한 마디로 자유는 공짜가 아니다.
옮기기가 생각보다 어렵다
처음 클라우드 머신을 셋업하는 경우, 마이그레이션이 꽤 쉬운 편이다. 네트워크도 빠르고, 클라우드로 데이터를 옮기는 비용이 무료인 경우가 많다. 그러나 데이터를 꺼내는 것은 쉽지 않다. 불가능할 정도까지는 아닐지언정 까다로운 부분이 많다.
저렴한 데이터센터로 옮겼을 때 가격 측면에서 이점을 누리기 어려워진다. 워크로드가 컴퓨테이션에 초점이 맞춰져 있고, 데이터 액세스는 덜 중요한 경우, 가격이 저렴한 장소에 새 머신을 셋업하는 것이 어렵지 않다. 그러나 데이터를 옮겨야 하는 경우, 네트워크를 통해 데이터를 옮기는 비용을 지불해야 한다. 데이터의 양을 기준으로 하고, 데이터를 빼내는 요금에 대한 청구서를 보내는 경우가 많다.
때론 그냥 오픈소스일 뿐이다
클라우드 기업들은 혁신으로 가득하지만 때로는 오픈소스 프로젝트를 토대로 영리하게 이름을 붙여 서비스로 재판매하기도 한다. 이렇게 하는 것이 불공정하다는 의미는 아니다. 서버에만 비용이 드는 것이 아니다. 소프트웨어를 설치, 업그레이드하고, 안전하게 유지하고, 원활하게 운영하는 데 시간과 기술이 요구된다.
개발 팀이 직면하는 까다로운 질문은 이런 유료 서비스에 가치가 있는지 여부이다. 유료 서비스는 일부 팀원들에게 관련 기술을 터득하도록 만드는 것보다 훨씬 저렴한 경우가 많다. 누군가 이런 소프트웨어를 이해하고 있다면, 독자적으로 머신을 구현하는 것이 훨씬 더 저렴한 방법일 수도 있다.
감당하기 힘들 정도로 자세한 요금 내역
클라우드 회사들은 설명도 없이 매달 요금 청구서만 보내는 그런 회사들이 아니다. 이런 회사들과는 거리가 멀다. 아주 상세한 내역이 담긴 요금 청구서를 보낸다. 심지어 수십 억 이벤트에 대한 정보가 포함되어 있을 수도 있다. 보고 소프트웨어로 하루 온종일 분석을 해야 할 수도 있다. 주말까지 할애해 스프레드시트와 보고용 소프트웨어로 분석을 한 후에도, 많은 사람들이 머리를 긁적이며 ‘생각보다 많네’라고 이야기할 수도 있다.
상세한 정보들이 제공되어 있지만, 이것이 설명이나 이해로 이어지지 않는다. 수 없이 많은 로그들을 분석하면서 이런 많은 데이터가 방해가 된다는 것을 깨닫게 될 것이다. 이런 ‘사실’ 정보가 당신을 해방시키지 않는다. 분석해야 할 수많은 데이터 포인트만 준다.
정확한 가격을 아는 사람은 없다
가격표는 확신을 심어준다. 숫자는 과학이기 때문이다. 특히 자릿수가 많은 숫자는 더욱 그렇다. 그러나 이런 가격(요금)은 일부만 보여주고 있을 뿐이다. 부동산 관련 비용, 전기, 컴퓨터 하드웨어, 엔지니어링 직원들의 인건비, 연방 및 주, 지방 정부의 세금이 모두 반영된 가격이라는 의미이다.
그리고 이런 비용은 주기적으로 바뀐다. 때론 아주 크게 바뀌는 경우도 있다. 그렇지만 이 비즈니스 모델은 이 모든 것을 숨긴 상태에서, 보기 좋은 1분 당, 또는 1초 당 요금을 제시하는 모델이다. 가격을 정확히 산정하기란 불가능하다.
우리가 요구한 것이지만…
클라우드는 모든 IT 부서의 욕구의 총체이다. 우리는 요금에 있어 투명성을 요구했었다. 우리는 유연성을 요구했었다. 이런 유연성을 구입하기 원했었다. 약정과 약속에서 자유롭기 원했었고, 이를 요구했었다. 클릭 몇 번으로 원하는 것을 얻게 되기 원했었고, 이를 요구했었다. 그런데 정작 청구서가 도착하니, 투명하게 제시된 많은 정보들이 오히려 의문점을 남긴다.
이것이 클라우드 컴퓨팅 경제의 ‘역설’이다. 지금까지 이 정도로 가격이 투명했던 적은 없었다. 수치적인 정보가 이렇게 자세한 적이 없었다. 그러나 요금 청구서를 받으면, 여전히 돈이 다 어디로 갔는지 의아해한다. 알지만, 동시에 모르는 것이다.
* Peter Wayner는 오픈소스 소프트웨어, 자율주행 차량, 개인정보 보호 강화, 디지털 트랜잭션, 스테가노그래피(steganography) 등 다양한 주제에 관한 16권 이상의 책을 저술한 저자다. dl-ciokorea@foundryco.com