클라우드를 판다는 것? 혹은 산다는 것?

클라우드 컴퓨팅은 가장 현대적인 계산기라고 할 수 있습니다. 그 계산기가 출중하다보니, 사람의 의도를 해석하고 정보를 수집하고 수집한 정보를 분석하여 인사이트를 제공합니다. 이 모든 것을 자동화 하여 참과 거짓을 적당히 버무리더니 세상에 없던 이야기를 만들어 대화도 시도합니다. 그래도 본질은 계산기입니다. 클라우드 사업자들은 사용자에게 현대적 계산기를 팔고 있는 것입니다.

이 설명만으로는 뭔가 조금 이상합니다. 사용자는 사업자가 파는 계산기를 소유할 권한은 가지고 있지 못 합니다. 그래서 표현을 달리하면, 계산기를 동작시킬 ‘자원’ 을 판다고 하면 어떨까요? 자원이라면 결국 연산자원(computational resources)라고 구체화할 수 있습니다. 엄밀하게 말하면 사용자가 사업자에게 일정 사용금을 지불하더라도 획득한 자원을 전용(轉用)할 수는 없습니다. 돈을 냈지만, 소유권은 없는 셈입니다.

그렇습니다. 사업자는 사용자에게 계산기를 돌릴 수 있는 자원을 점유할 수 있는 권리를 팔고 있습니다. 클라우드 컴퓨팅의 판매는 바로 연산자원에 대한 점유권의 거래라고 할 수 있습니다. 이 점유권은 한정적이고 대체로 (Spot VM을 잊지 마세요) 독점적입니다. 그래서 사용자는 한정된 기간 동안 자유로운 자원획득을 통해서 다양한 서비스를 구성할 수 있습니다.

한 건축가는 우리나라에 커피매장이 많은 이유를 설명하면서 커피를 파는 행위, 즉 카페의 비즈니스 모델을 정의했습니다. ‘초단기 부동산 임대업’, 공원도 벤치도 없는 도시에 살고 있는 우리가 엉덩이를 고정하고 타인과 언어행위로 침목을 도모할 수 있는 공간이 필요했다는 주장입니다. 모든 것은 피상적인 행위가 있고, 배후에는 행위의 본질에 대한 의미가 있는 법이죠. 클라우드 사업자들은 ‘연산자원 점유권’ 을 사용자 혹은 구매자에게 여러가지 형태로 판매하고 있습니다. 이제 그 판매 유형에 대한 본질적인 이해를 시작해 봅시다.

이제부터는 Google Cloud를 중심으로 설명합니다. 그 이외의 사업자들도 비슷한 유형을 가지고 있으리라 여겨집니다. 이름이 다르고 약간의 조건이 상이하여도 본질은 다름없다 말할 수 있습니다.

점유권은 어떻게 거래되는가?

가격 결정 혹은 할인

Google Cloud의 가격 결정은 사용자의 선택에 따라 달라지며, 판단의 기준은 다음과 같습니다.

decision tree for pricing

아래에서부터 볼까요?

단골 우대 프로그램 SUD

‘우리 클라우드를 계속 사용해 주셔서 감사합니다’라는 의미라고 읽혀지는 SUD, Sustained Use Discounts가 있습니다. 지속적으로 VM 인스턴스를 켜두면 할인을 적용받는 프로그램입니다. 계약이 선행 혹은 후행 되어야 하지 않고 별도의 지불방식이 필요하지 않습니다. 청구할인입니다. 단, 모든 VM 인스턴스 유형을 지원하지 않으며, vCPU와 Memory만 적용됩니다. 다른 할인과 중복되어 적용되지 않고, 청구 단위 1개월의 25% 이상 중단없이 가동 되어야 합니다. 보다 상세한 정보는 공식 웹사이트의 문서를 참조하시면 복잡 상황에 대한 상세한 해석이 있습니다.

쓴 만큼 내세요, On-Demand

우리가 처음 클라우드 컴퓨팅에 대해서 배울 때 알게 되는 첫번째 특징으로 손꼽는, 투자를 비용으로 전환한다라는 개념의 기초가 되는 과금방식입니다. 특별할 것은 없습니다. 사용자는 본인의 의지로 점유한 연산자원을 약속한 시간의 단위로 계산하여 지불하게 됩니다.

이 부분에서 조금 보충하여 여러분의 기억 속에 자리 잡아야 하는 것이 하나 더 있습니다. ‘연산자원’ 의 단가는 지역마다 다릅니다. 우리 리전들은 전세계 서로 다른 대륙과 도시에 위치하고 있습니다. 그 도시들 마다 부동산 · 물류 · 노동력 · 전력 및 기타 인프라 비용이 상이하며 위도에 따른 공조비용은 큰 차이가 있습니다. 또한 각 도시를 연결하는 통신사가 제시하는 연결 비용도 물론 다를 수 밖에 없습니다. 이 모든 것이 적산(積散)되어 단가가 완성됩니다. 그래서 동일한 VM 인스턴스가 리전 마다 사용요금이 다르고, 네트워크 송출(egress) 비용이 다르게 책정되어 있습니다.

Take my money! CUD

CUD는 Committed Use Discounts, 약정사용할인입니다. 사용자는 Google Cloud와 계약한 기간 동안 연산자원에 대한 사용을 확정하고 그에 따른 지불을 약속하는 것입니다. 1년 혹은 3년으로 계약되는 CUD에 대해 Google Cloud는 안정적인 매출 확보에 대한 감사의 표현으로 할인을 사용자에게 제공합니다. 여러분께서 통신사를 찾아가 회선을 개통할 때 ‘약정’ 을 선택하면 요금이 저렴해지는 것과 같은 성격입니다. 그리고, 사용자는 CUD를 통해 약정한 자원을 사용하든 하지 않든 일정금액을 계속 지불하게 됩니다, 계약기간이 끝날 때까지.

CUD는 단순하지 않습니다. 대표적으로 Resource-based CUD가 존재하고, Spend-based CUD가 있습니다. 그리고 Compute Engine Flexible CUD가 있습니다. 구매한 CUD는 취소할 수 없습니다. 그리고 1년 혹은 3년의 기간만 선택할 수 있습니다.

Resource-based CUD (리소스 기반 약정)

GCE 자원에 대해 적용 가능한 약정 유형입니다. 사용자는 특정 리전에서 Compute Engine 자원; vCPU, Memory, GPU 및 Local SSD를 선택 및 지정합니다.

Spend-based CUD (지출 기반 약정)

본 유형은 2020년 10월에 소개되었습니다. 사용자는 제품 또는 서비스에 대해 $/Hour로 최소 시간당 금액을 지불하기로 약정하고 할인은 적격 자원 묶음에 적용됩니다. 지출 기반 약정은 현재 Cloud SQL, GCVE, Cloud Run, Cloud Spanner, GKE Autopilot, GCE에 사용할 수 있습니다.
잠깐! 그럼, Flex CUDs는 무엇인가?

Compute Engine Flexible CUD (Flex CUD; 가변형 약정)

Flex CUD는 Spend-based CUD의 GCE 버전이라고 간략 설명할 수 있습니다. Spend-based CUD로 Compute Engine을 선택하면, Flex CUD가 됩니다. Flex CUD는 GCE 이외의 서비스에서 사용되지 않음으로, Spend-based CUD != Flex CUD입니다. 그래서 Google Cloud 공식문서의 GCE 내에서 CUD를 찾으면, Spend-based CUD가 나올 법한 자리를 Flex CUD가 차지하고 있는 이유는 이와 같습니다. Flex CUD는 할인의 폭이 리소스 기반 약정보다 적습니다, 당연하게도. 1년 약정일 경우 최대 28%, 그리고 3년 약정일 경우 최대 46% 할인이 가능합니다.

다음의 머신 유형의 vCPU와 Memory에 대하여 한정적으로 가변형 약정이 가능합니다.

  • 범용: 모든 N1, N2, E2, N2D 머신 유형
  • 컴퓨팅 최적화: 모든 C2와 C2D 머신 유형

Flex CUD에 대한 적격 SKU는 해당 페이지를 통하여 정보를 입수할 수 있습니다.

CUD Sharing (약정 사용 할인 공유)

기본적으로 CUD는 프로젝트 단위로 설정이 되지만, 이를 하나의 Billing Account 아래에 있는 여러 프로젝트와 공유할 수 있습니다. 이 공유의 방법은 기여 비구분 (Unattributed), 비례적 기여 분석 (Proportional attribution), 그리고 우선순위 방식의 기여 분석 (Prioritized attribution)이 있습니다. 말만 들어도 복잡한 개념과 방법에 대해 공개 웹 페이지에서 상세 설명하고 있습니다.

도다리는 싯가, Spot VM도 싯가!

Spot VM이라고 있습니다. 과거 Preemptible VM으로 소개되었습니다. Spot VM은 Preemptible VM의 업그레이드 버전으로 정의할 수 있으며, 업계 공통의 언어로 re-branding되었다고 판단하는 것이 옳습니다. 시가(市價)로 거래합니다. 무엇을? 유휴자원을. 그래서 얼마나 싸게 줄 수 있는가? Google Cloud는 on-demand 대비 60 - 91% 할인을 합니다.

이렇게 저렴한 가격을 제시하는 이유는 공통된 개념, ‘점유권’에 대한 불확실성 때문입니다. Spot VM을 운영하는 곳에 적정 자원이 존재하지 않으면, Spot VM이 점유하고 있는 자원은 시스템에 의해 선점 당합니다. 즉, KTX의 자유석과 유사한 개념입니다. 혹은 더 가혹한 조건입니다. 열차 내에 빈자리가 있으면 앉아서 갈 수 있지만, 그렇지 않다면 기차에서 내려야 합니다. 그래서 Fault Tolerance, 내결함성(耐障害性) 워크로드에 적합합니다. 내결함성에 대한 개념이 예전과 다릅니다, 여기에서 말하는 내결함성은 갑자기 단일 VM 인스턴스 정도는 동작이 차단되거나 다시 시작해도 전체 서비스의 유지 혹은 결과를 도출하는 연산의 과정과는 무관하다고 여길 수 있는 것이라고 할 수 있습니다.

Spot VM은 GPU, Local SSD, External IP 주소에도 적용됩니다. (네! GPU도 적용됩니다) 할인의 높낮이는 자원의 여유와 관계되며, 가격의 변동은 월 단위 내에서 1회에 한합니다. 다른 클라우드 사업자 대비 이 부분은 큰 경쟁력이라고 할 수 있습니다. 그리고 당연히 SLA 적용은 되지 않습니다.

다음 주 금요일 2박으로 예약하려 합니다. Reservations

사유재산을 인정하는 듯하지만 인정하지 않는 국가들이 있습니다. 이러한 나라들 중 몇 국가들은 토지 거래에 대한 기본 규칙을 ‘국가가 소유’하고 ‘개인과 단체에게 한정 기간 임대’라는 유형을 갖추고 있습니다. 클라우드 세상에서의 점유도 같은 방식으로 동작하다고 할 수 있습니다. 빌 게이츠가 젊은 시절, 인터넷은 사회주의라고 규정한 건 틀린 말은 아니지만, 딱히 옳은 표현도 아니었다는 것을 생각해 볼 수 있습니다. Reservations는 말 그대로 예약하는 것입니다. 이 자원은 내가 사용할 것이니 다른 사용자에게 할당하지 말아주세요 - 와 같습니다. 그런 요청을 받아 줍니다. 대신, 사용하든 그렇지 않든 상관없이 예약된 자원에 대한 요금은 사용자가 지불해야 합니다.

기억하시나요? 클라우드 컴퓨팅의 비용은 점유권 확보에 대한 금전적 거래입니다. Reservations를 위해서 CUD가 꼭 필요한 것은 아닙니다. CUD를 시작하면서 Reservation을 동시에 진행시킬 수도 있고 그렇지 않을 수도 있습니다. Reservations를 설정하고 CUD와 연결할 수도 있습니다. 단, GPU와 Local SSD는 Reservations와 Resource-based CUD를 함께 진행해야 합니다.

Reservations도 내부를 들여다 보며 변주가 많습니다. 공식 웹 페이지를 읽어 보십시다.

엄마 도시락이 너무 작아. Quota Increase Request

QIR이라고도 하는 이 작업은 앞선 각종 조치를 위해 필요한 일일 수도 있고 아닐 수도 있습니다. Quota는 모든 프로젝트에 기본값이 할당되어 있습니다. 그 기본 할당값이 초과되면 사용자는 콘솔(좌측 메뉴에서 ‘All Quotas’를 찾아 보세요)을 통하여 할당량 (quota) 상향을 요청할 수 있습니다. 당연하겠지만, Quota가 해당 프로젝트에 확보되어 있어야 그 범위 내에 CUD를 구매할 수 있습니다. Reservations도 마찬가지입니다.