2021.01.06

‘역설투성이'··· 우리가 클라우드를 싫어하는 11가지 이유

Peter Wayner | InfoWorld
클라우드는 일견 ‘꿈의 상품’처럼 보인다. 소프트웨어 개발자나 IT 운영자를 유혹하는 매력적인 요소로 가득하다. 그러나 현실은 그리 녹록치 않다.

클라우드 회사에서 처음 요금이 정리된 목록표를 받으면, 모든 사람들이 10만원 수표 한 장을 들고 사탕 가게를 찾은 어린 아이처럼 반응한다. 큰 삽으로 큰 빨래 가방에 캔디를 잔뜩 채울 수 있는 데 장점과 단점을 따지느라 시간을 낭비할 필요가 없다. 푼돈에 불과한 데 잘못될 일이 있을까?

그런데 그런 시절은 오래 전에 사라졌다. 우리 가운데 상당수는 매월 발송되는 클라우드 요금 청구서를 받고 놀란 회계 담당자와 이미 수십 차례 만남을 가진경험이 있을 것이다. 티끌 같은 요금이 태산이 된다. 그래서 가만히 앉아 그 이유를 고민한다. 여기에 대처할 방법이 있을까? 뭔가 할 수 있는 일이 있을까? 비밀 스위치 같은 것이 있을까?

클라우드를 알뜰하게 이용 중인 회사 중 하나는 아마 넷플릭스일 것이다. 매주 금요일과 토요일 밤이면 사람들이 휴식을 취하고 싶어하면서 수요가 급증하기 시작한다. 넷플릭스는 이 로드를 처리하기 위해 많은 인스턴스를 새로 확장한다. 그리고 사람들이 잠자리에 들 몇 시간 뒤에 다시 원상태로 돌린다. 1주일은 168시간이지만, 넷플릭스는 고객들이 가장 필요로 하는 몇 시간에 대해서만 요금을 낸다.

그러나 모든 것들이 이렇게 수요가 높을 때와 낮을 때가 확실히 구분되는 것은 아니다. 인스턴스를 상시 가동한다면 클라우드의 장점이 사라지기 시작할 것이다. 할인을 적용 받은 후에도 내야 할 요금이 아주 많을 수 있기 때문이다. 지금부터 많은 사람들이 클라우드 모델을 싫어하는 11가지 이유를 설명한다.
 
Image Credit : Getty Images Bank


비용을 나누기 어렵다
서버를 구입하는 경우, 그 서버는 당신 것이고, 따라서 100% 비용을 부담해야 한다. 그러나 서버를 공유한다면, 리소스를 나눠야 한다. 그런데 비용을 고르게 나눠 분담하는 것은 식당에서나 가능한 일이다. 심지어 식당에서도 술을 주문하지 않았던 사람은 정산 과정에 화가 날 수 있다.

클라우드의 비용과 요금을 정확히 산정하기란 아주 어려운 일이다. 중요한 시간의 작업, 중단이나 연기가 가능한 백그라운드 컴퓨팅 작업에 같은 비용이나 요금을 책정할 수 있을까? 전기 회사는 밤이나, 태양 에너지 발전소를 최대한 가동할 수 있는 맑은 날에 전기 요금을 낮출 수도 있다. 특정 고객은 SLA를 원하지만, 다른 고객은 다운타임에 조금 더 여유가 있다면 어떻게 해야 할까?

클라우드 회사들은 고객의 관심을 붙잡을 수 있을 정도로 저렴하며, 동시에 충분한 이윤을 남길 수 있는 요금을 책정하려 노력했다. 그리고 머신을 여러 조각으로 나눠 비용을 분할해 책정하는 방법을 찾았다. 그러나 아주 정확하게 비용을 나누는 방법은 아니다.

현대적인 아키텍처가 소비를 유도한다
수학자들은 ‘바나흐-타르스키 역설(Banach-Tarski paradox)’을 탐구하기 좋아한다. ‘완두콩과 태양 역설(Pea and Sun Paradox)’이라고도 불리는 색다른 이론이다. 이는 완두콩을 유한한 수의 조각으로 자른 후, 태양만큼 큰 크기로 다시 조립할 수 있는 알고리즘 기법이다. 물론 현실에서는 실현되지 않는다. 그렇지만 이론적으로는 충분히 가능하다.

가끔은 클라우드가 이를 추구한다는 생각이 들기도 한다. 개발에 있어 ‘핫’한 이카텍처 측면의 접근법 중 하나는 큰 애플리케이션 하나를 수십, 때론 수백 서비스로 나눈 다음, 각각 쿠버네티스에 기반을 둔 컨테이너로 여러 번 실행하는 방법이다. 

장점은 로드가 증가하면 쿠버네티스가 끼어들어, 모두 행복하도록 새 인스턴스를 구입하기 시작한다는 것이다. 반대로 단점은 한 번에 얼마나 많은 컨테이너나 인스턴스가 실행되는지 확인하는 사람이 없다는 것이다. 

우리는 이에 대해 모른다. 그러다 요금 청구서나 인보이스를 받고 알게 된다. 과거 1개 서버에서 실행되었던 작은 앱이 태양만큼 큰 요금을 초래하는 것이다.

공짜에 대한 대가가 비쌀 수 있다
공짜(무료)를 싫어하는 사람은 없을 터다. 최고의 마케팅 방법은 개발자들에게 제품을 무료로 사용해 볼 수 있는 기회를 주는 것이다. 그러나 일정 시점이 되면 누군가 돈을 내야 하고, ‘공짜’에서 ‘유료’로 넘어가는 큰 단계를 관리하기란 아주 어렵다. 푼돈일 수 있지만, 무한대로 점증한다!

공짜가 주는 재미가 개발자들로 하여금 실제 비용을 예측하기 어렵게 만든다. 입소문이 돌기 시작하면 모두가 갈채를 보낸다. 그러다 월말에 엄청나게 불어난 요금 청구서를 받게 된다. 공짜일 때에만 저렴해 보인다는 의미이다.

좋은 제품에는 까다로운 함정이 있다
클라우드의 장점은 ‘자유’ 이다. 그런데 클라우드를 사용하다 보면 여기에 발목이 붙잡히기 십상이다. 예를 들어, 유능한 개발자들은 자신의 앱을 가장 작고 저렴한 인스턴스에 집어넣으려 애를 쓴다. 한 동안은 아무런 문제가 없다. 그러나 입소문을 타거나 쇼핑 시즌이 되면 로드가 급증한다. 데브옵스 팀은 의무감에 RAM이나 가상 CPU 용량을 확장할 것이다. 그러면 모든 것이 다시 잘 작동한다. 그러나 디봅스 팀이 이를 계속 관리하지 않으면 이렇게 훨씬 더 높은 요금 구성이 계속 유지되어버리고 말 것이다.

각 인스턴스에 할당된 디스크 공간에서 이런 문제가 더욱 두드러진다. 공간을 늘리기 쉽지만, 이를 줄이기는 어려운 경우가 많기 때문이다. 심지어 디스크 공간을 사용하지 않는 경우에도 그렇다. 볼륨 크기를 줄이는 방법은 링크된 가이드의 23단계의 방법을 참조한다.
 




2021.01.06

‘역설투성이'··· 우리가 클라우드를 싫어하는 11가지 이유

Peter Wayner | InfoWorld
클라우드는 일견 ‘꿈의 상품’처럼 보인다. 소프트웨어 개발자나 IT 운영자를 유혹하는 매력적인 요소로 가득하다. 그러나 현실은 그리 녹록치 않다.

클라우드 회사에서 처음 요금이 정리된 목록표를 받으면, 모든 사람들이 10만원 수표 한 장을 들고 사탕 가게를 찾은 어린 아이처럼 반응한다. 큰 삽으로 큰 빨래 가방에 캔디를 잔뜩 채울 수 있는 데 장점과 단점을 따지느라 시간을 낭비할 필요가 없다. 푼돈에 불과한 데 잘못될 일이 있을까?

그런데 그런 시절은 오래 전에 사라졌다. 우리 가운데 상당수는 매월 발송되는 클라우드 요금 청구서를 받고 놀란 회계 담당자와 이미 수십 차례 만남을 가진경험이 있을 것이다. 티끌 같은 요금이 태산이 된다. 그래서 가만히 앉아 그 이유를 고민한다. 여기에 대처할 방법이 있을까? 뭔가 할 수 있는 일이 있을까? 비밀 스위치 같은 것이 있을까?

클라우드를 알뜰하게 이용 중인 회사 중 하나는 아마 넷플릭스일 것이다. 매주 금요일과 토요일 밤이면 사람들이 휴식을 취하고 싶어하면서 수요가 급증하기 시작한다. 넷플릭스는 이 로드를 처리하기 위해 많은 인스턴스를 새로 확장한다. 그리고 사람들이 잠자리에 들 몇 시간 뒤에 다시 원상태로 돌린다. 1주일은 168시간이지만, 넷플릭스는 고객들이 가장 필요로 하는 몇 시간에 대해서만 요금을 낸다.

그러나 모든 것들이 이렇게 수요가 높을 때와 낮을 때가 확실히 구분되는 것은 아니다. 인스턴스를 상시 가동한다면 클라우드의 장점이 사라지기 시작할 것이다. 할인을 적용 받은 후에도 내야 할 요금이 아주 많을 수 있기 때문이다. 지금부터 많은 사람들이 클라우드 모델을 싫어하는 11가지 이유를 설명한다.
 
Image Credit : Getty Images Bank


비용을 나누기 어렵다
서버를 구입하는 경우, 그 서버는 당신 것이고, 따라서 100% 비용을 부담해야 한다. 그러나 서버를 공유한다면, 리소스를 나눠야 한다. 그런데 비용을 고르게 나눠 분담하는 것은 식당에서나 가능한 일이다. 심지어 식당에서도 술을 주문하지 않았던 사람은 정산 과정에 화가 날 수 있다.

클라우드의 비용과 요금을 정확히 산정하기란 아주 어려운 일이다. 중요한 시간의 작업, 중단이나 연기가 가능한 백그라운드 컴퓨팅 작업에 같은 비용이나 요금을 책정할 수 있을까? 전기 회사는 밤이나, 태양 에너지 발전소를 최대한 가동할 수 있는 맑은 날에 전기 요금을 낮출 수도 있다. 특정 고객은 SLA를 원하지만, 다른 고객은 다운타임에 조금 더 여유가 있다면 어떻게 해야 할까?

클라우드 회사들은 고객의 관심을 붙잡을 수 있을 정도로 저렴하며, 동시에 충분한 이윤을 남길 수 있는 요금을 책정하려 노력했다. 그리고 머신을 여러 조각으로 나눠 비용을 분할해 책정하는 방법을 찾았다. 그러나 아주 정확하게 비용을 나누는 방법은 아니다.

현대적인 아키텍처가 소비를 유도한다
수학자들은 ‘바나흐-타르스키 역설(Banach-Tarski paradox)’을 탐구하기 좋아한다. ‘완두콩과 태양 역설(Pea and Sun Paradox)’이라고도 불리는 색다른 이론이다. 이는 완두콩을 유한한 수의 조각으로 자른 후, 태양만큼 큰 크기로 다시 조립할 수 있는 알고리즘 기법이다. 물론 현실에서는 실현되지 않는다. 그렇지만 이론적으로는 충분히 가능하다.

가끔은 클라우드가 이를 추구한다는 생각이 들기도 한다. 개발에 있어 ‘핫’한 이카텍처 측면의 접근법 중 하나는 큰 애플리케이션 하나를 수십, 때론 수백 서비스로 나눈 다음, 각각 쿠버네티스에 기반을 둔 컨테이너로 여러 번 실행하는 방법이다. 

장점은 로드가 증가하면 쿠버네티스가 끼어들어, 모두 행복하도록 새 인스턴스를 구입하기 시작한다는 것이다. 반대로 단점은 한 번에 얼마나 많은 컨테이너나 인스턴스가 실행되는지 확인하는 사람이 없다는 것이다. 

우리는 이에 대해 모른다. 그러다 요금 청구서나 인보이스를 받고 알게 된다. 과거 1개 서버에서 실행되었던 작은 앱이 태양만큼 큰 요금을 초래하는 것이다.

공짜에 대한 대가가 비쌀 수 있다
공짜(무료)를 싫어하는 사람은 없을 터다. 최고의 마케팅 방법은 개발자들에게 제품을 무료로 사용해 볼 수 있는 기회를 주는 것이다. 그러나 일정 시점이 되면 누군가 돈을 내야 하고, ‘공짜’에서 ‘유료’로 넘어가는 큰 단계를 관리하기란 아주 어렵다. 푼돈일 수 있지만, 무한대로 점증한다!

공짜가 주는 재미가 개발자들로 하여금 실제 비용을 예측하기 어렵게 만든다. 입소문이 돌기 시작하면 모두가 갈채를 보낸다. 그러다 월말에 엄청나게 불어난 요금 청구서를 받게 된다. 공짜일 때에만 저렴해 보인다는 의미이다.

좋은 제품에는 까다로운 함정이 있다
클라우드의 장점은 ‘자유’ 이다. 그런데 클라우드를 사용하다 보면 여기에 발목이 붙잡히기 십상이다. 예를 들어, 유능한 개발자들은 자신의 앱을 가장 작고 저렴한 인스턴스에 집어넣으려 애를 쓴다. 한 동안은 아무런 문제가 없다. 그러나 입소문을 타거나 쇼핑 시즌이 되면 로드가 급증한다. 데브옵스 팀은 의무감에 RAM이나 가상 CPU 용량을 확장할 것이다. 그러면 모든 것이 다시 잘 작동한다. 그러나 디봅스 팀이 이를 계속 관리하지 않으면 이렇게 훨씬 더 높은 요금 구성이 계속 유지되어버리고 말 것이다.

각 인스턴스에 할당된 디스크 공간에서 이런 문제가 더욱 두드러진다. 공간을 늘리기 쉽지만, 이를 줄이기는 어려운 경우가 많기 때문이다. 심지어 디스크 공간을 사용하지 않는 경우에도 그렇다. 볼륨 크기를 줄이는 방법은 링크된 가이드의 23단계의 방법을 참조한다.
 


X