현재 기업용 기술로서의 클라우드가 정확히 어떤 의미인지 정의할 수 있는 사람이 있을까? 초 단위로 지불을 하는 머신(서버) 랙일까? 아니면 강력한 API 세트일까? ‘aaS’로 끝나는 광범위한 서비스들을 의미할까? 아니면 단순히 구매보다는 대여가 낫다는 판단에 바탕을 둔 IT 예산 전략일까? 벤더들이 새 기능을 추가하고 새 서비스를 배포하면서 클라우드 컴퓨팅의 정의가 계속 바뀔 수 있다.
그러나 클라우드는 모든 산업에 걸쳐 외면할 수 없는 선택지로 부상했다. 또 IT 전략에서 ‘핵심’으로 중요성이 계속 커져가고 있다. 클라우드에서 이용할 수 있는 컴퓨터 리소스들과 도구들이 많기 때문에 개발 팀은 더 많이 빌드를 할 수 있다. 기업은 모든 사람이 한 번에 자신의 웹사이트와 서비스에 로그인하는 등 고객 활동이 일시적으로, 또는 계절적으로 급증하는 것에 더 효과적으로 대응할 수 있다. 분석 팀은 최신 머신러닝 기술을 대규모로 실험할 수 있고, IT 리더들은 현업 동료들에게 많은 자율성을 줘서 이들을 만족시키면서 자본 지출 항목을 계속 줄여 나갈 수 있다.
이렇듯 클라우드에 관심을 갖는 것은 당연하고, 그 비즈니스 가치도 잘 정립되어 있다. 그러나 대형 클라우드 벤더들의 스택을 이용할 때의 문제점들도 존재한다. 클라우드를 애용하다 보면 실감하게 되는 클라우드의 어두운 현실 10가지를 소개한다.
생각보다 더 많이 ‘종속’된다
범용 하드웨어에 설치된 범용 운영체제를 판매하는, 범용 비즈니스로 보일 것이다. 그러나 클라우드 환경은 의외로 점착력이 강하다. 자신의 데이터, 클라우드에서 만든 서비스를 이동할 수 있는 경우에도, 특정 회사 클라우드에서 다른 곳으로 모두 옮기는 데 꽤 많은 시간과 노력이 필요할 수 있다.
필자는 최근 진행한 프로젝트에서 서비스 하나를 특정 클라우드에서 다른 클라우드로 옮기는 엔지니어를 소개받았다. 필자가 진행하던 프로젝트는 이후 6개월 뒤에 끝이 났지만, 그는 여전히 서비스를 옮기고 있는 중이다. 그리고 관리자들은 여전히 그 엔지니어에게 보수를 지불하고 있다.
DNS와 비밀 키, 구성 파일 사이의 작은 세부사항들 때문에 다른 클라우드로 옮기는 번거로움 대신 특정 클라우드에 계속 ‘할증료’를 지불하는 것이 더 나을 때가 많다.
할증료를 지불하게 된다
창고의 많은 직원들과 배달 트럭이 전세계 곳곳에 상품을 배달하는 것 때문에 아마존 주가가 급등하는 것이 아니다. 이는 이윤이 낮은 데 경쟁은 치열한 사업일 뿐이다. 아마존의 이익 가운데 상당 부분을 차지하는 비즈니스는 아마존 웹 서비스(AWS)이다. 컴퓨팅 리소스를 조각 내어 가격을 붙여 팔아 돈을 버는 비즈니스이다. 기업들의 데이터센터, 서버실에 비효율성이 많기에 이런 비즈니스가 가능해진다. 덕분에 클라우드 기업들은 자신의 스택을 자신의 하드웨어에 호스팅할 때보다 더 저렴한 서비스를 제공하고, 여기에 큰 이윤을 더한 가격을 책정할 수 있다.
항상 광고 속 성능을 누릴 수 있는 것은 아니다
클라우드 컴퓨팅 속 머신의 성능은 생각보다 느린 경우가 많다. 소량의 메모리(RAM)와 CPU 성능이 수십 개의 가상 인스턴스에 공유된 경우가 많아서 일 것이다. 필자는 책상 밑에 있는 8년 된 서버가 매달 100달러 이상이 드는 대형 클라우드 인스턴스보다 훨씬 더 빨리 일부 최적화 문제를 처리하는 것을 보고 이를 실감했다.
하지만 본인이 직접 머신을 관리하고, 운영 체제를 설치해 업데이트할 의지가 없는 한, 또는 머신이 한 여름에 사무실의 온도를 높이는 것을 감수할 의지가 없는 한, 클라우드 머신을 이용하는 것이 훨씬 더 간편하다.
필자는 최근 프로젝트에서 책상 아래 제온(Xeon) 머신보다 몇 배나 느린 클라우드 머신을 스핀업하는 방법을 이용했다. 더 많은 비용이 들었지만, 새 머신을 훨씬 더 쉽게 시작할 수 있다는 간편함이 단점을 상쇄시켰다. 예산도 여유가 있었다.
답이 없는 질문과 의문들이 많다
클라우드에는 여전히 수수께끼로 남은 부분이 많다. 많은 의문들이 대답되지 않은 상태이다. 일부는 데이터를 장기 저장소에 저장할 때 사용하는 기술이 무엇인지 궁금해한다. 또 데이터센터의 물리적 주소를 고려하는 사람들도 있다.
대부분의 경우, 클라우드 기업들은 우리가 불필요한 세부 사항 때문에 고민하지 않도록 도와준다. 때론 보안을 강화하기 위해 비밀스러운 행동을 하기도 한다. 그러나 세부 사항까지 확인해야 하는 ‘꼼꼼쟁이’들이라면, 클라우드 업체들의 비밀스러운 방식에 화가 날 것이다. 그들이 꼼꼼하게 알려주는 확실한 하나는 바로 이용 내역서와 청구서다.
성능이 일관되지 않다
인스턴스는 공산품 같이 판매되지만, 그 성능은 각기 다를 수 있다. 길고, 연산이 많은 작업의 속도가 20% 차이 나는 것을 확인한 적도 있다. 기술지원팀에 연락을 했지만 명확히 대답을 하지 못했다. 하드웨어는 동일했기 때문이다. 대부분의 경우, 성능을 예측할 수 있지만, 특정 머신이 크게 빠르거나, 크게 느린 상황이 발생할 수 있다.
이는 기대치 관리의 문제로 이어질 수 있다. 클라우드 서비스 회사에 가볍게 실행되는 인스턴스가 아주 많다면, 이 기업은 부하가 치솟은 인스턴스에 여유분을 할당해줄 수 있다. 어차피 낭비될 것들로 고객들에게 보상을 하는 것이다. 그러나 클라우드가 정기적으로 이렇게 하면, 고객은 이를 기대하기 시작한다.
변화를 통제할 수 없는 경우가 많다
새롭고 개선된 것을 원하지 않는 고객이 있을까? 그러나 클라우드 환경에서는 많은 고객들이 변화를 수용하기 꺼리는 때가 많다. 코드에 문제가 생기는 것을 두려워하기 때문이다.
클라우드 기업들은 이러지도 저러지도 못한다. 너무 많은 변화는 고객들에게 피해를 준다. 그러나 변화가 너무 없으면 문제가 해결되지 않고, 보안 취약점을 없애지 못한다. 모두가 행복한 선택은 존재하지 않는다.
벤더는 고객 기업의 IT 전략에 생각보다 더 크게 영향을 미친다
많은 개발자가 10~20년 된 운영 체제나 데이터베이스에 기반해 일부 서비스를 운영하고 있다고 자랑한다. 독자적으로 하드웨어를 운용하고 있다면, 고장 나지 않으면 고치지 않는다는 ‘개념’이 합리적일 수 있다.
그러나 클라우드 기업은 이렇게 할 수 없다. 이들은 고객을 전진시켜야 한다. 발을 맞춰 전진하게 만들어야 하는 경우도 많다. 클라우드 컴퓨터를 빌리는 것은 군대에서 행군하는 것과 꽤 비슷하다. 당신은 당신 도메인의 주인이 아니다. 부합하고, 어울리는 데 더 많은 시간을 소비해야 한다.
티끌이 태산이 된다
작고 보잘 것 없는 것이 큰 것으로 변하곤 한다. 라스베이거스 대형 카지노에 방문하면 이를 실감할 수 있다. 라스베가스 카지노는 슬롯 머신과 크랩스 테이블을 기반으로 건설된 제국이다. 작은 판돈이 쌓이고 쌓여 거금이 된다.
클라우드의 많은 서비스들이 동전을 넣는 슬롯 머신에서 ‘영감’을 받았다. 오하이오 AWS 데이터센터의 람다(Labda) 서버리스 서비스를 예로 들면, GB-초 당 0.0000166667달러에 불과하다. 코드를 128MB의 RAM에서 실행시키고, 1밀리초에 이를 종료할 수 있다면 클릭 당 0.0000000021달러이다. 들어가는 비용이 이렇기 때문에, 당신의 개발자는 아무런 신경을 쓰지 않고 인스턴스를 스핀업 해서 새로운 서비스를 구현할 것이다.
그러나 월말에는 요금이 쌓인다. 그리고 분기 말에 클라우드 회사는 기록적인 수익을 창출했다고 보고할 것이다. 그리고 당신은 IT 예산에서 생각보다 더 많은 돈을 지출했을 것이다.
편리함으로 인해 중요한 역량을 잃을 수 있다
필자는 MySQL을 만든 사람들 가운데 일부에게 성공의 비결을 물은 적이 있다. 그 비결은 누구나 5분 안에 MySQL을 설치할 수 있도록 만든 것이다. 이들은 설치 스크립트를 단순화한 것을 강조했다. 개발자들은 다른 일이 많기 때문이다. 이것이 MySQL이 큰 인기를 끈 이유 중 하나이다.
수십년 후, 클라우드 기업들은 일을 더 쉽게 할 수 있도록 해주는 관리형 MySQL 버전을 클라우드 사용자들에게 ‘업셀’하고 있다. 많은 사람들이 어려운 명령줄 흐름도를 통해 작업을 하기보다, 웹사이트에서 버튼을 클릭할 것이다.
클라우드가 제공하는 단순성이 새로운 세대를 탄생시켰다. 구성 파일을 편집하지 못하고, 프로세스를 다시 시작하지 못하는 이들이 다수 출현한 것이다.
이것이 나쁜 일일까? 기업 개발 팀이 범용 도구와 씨름하는 대신 새로운 것을 구현하는 데 집중해야 한다고 주장하는 이들이 있을 것이다. 그러나 내부 역량을 잃으면 언젠가 대가를 치를 수도 있다. 특히 전략적인 이유에서 워크로드를 다시 내부로 가져올 필요가 있다면 더 그렇다.
‘힘의 균형추’가 벤더에게 쏠린다
클라우드 서비스 제공자와 고객 간 ‘힘의 균형’을 이해하는 방법은 간단하다. 서비스 약관을 한 번만 읽으면 된다. 필자는 ‘이유 없이’ 데이터를 삭제하거나 사용자를 차단할 권리가 서비스 제공사에게 있다고 주장하는 약관도 읽은 적이 있다.
토론 게시판에는 대형 클라우드 기업들이 어떻게 고객들을 버리는지에 대한 사례들로 가득하다. 개발자가 자신이 무엇을 잘못했는지 모르는 경우도 있다. 극우 소셜 네트워크인 팔러의 한 사례는 모든 개발자에게 경종을 올린다. 아마존은 어느 주말 개발자들에게 정중한 메시지를 보내, 며칠 내에 아마존 클라우드를 떠날 것을 요구한 적이 있다.
물론 돈은 더 쓰면 더 균형 잡힌 계약을 협상할 수 있다. 그러나 클라우드 기업이 고객사의 핵심 기술을 통제하는 거대 기업이라는 현실은 변하지 않을 것이다.
* Peter Wayner는 오픈소스 소프트웨어, 자율주행 차량, 개인정보 보호 강화, 디지털 트랜잭션, 스테가노그래피(steganography) 등 다양한 주제에 관한 16권 이상의 책을 저술한 저자다. dl-ciokorea@foundryco.com