Committed use discounts – czym są i jak działają zniżki za stałe zużycie w GCP?

27/04/2021

Committed Use Discounts in Google Cloud Platform

Jedną z zalet publicznej chmury obliczeniowej jest elastyczność kosztów. Wynika ona nie tylko ze skalowalności usług i dopasowania poziomu zużycia do aktualnego obciążenia, ale też z dostępnych zniżek.

Nawet ci, którzy utrzymują stały miesięczny poziom zużycia, mają duże możliwości optymalizacji wydatków. To między innymi dzięki zniżce committed use discount, która pozwala zaoszczędzić nawet do 70% kosztów.

Czym jest committed use discount w Google Cloud Platform?

Commitment use discount (w skrócie CUD, a w wolnym tłumaczeniu rabat za zobowiązanie zużycia) to jeden ze sposobów na zmniejszenie kosztów za korzystanie z mocy obliczeniowej i pamięci maszyn wirtualnych Google Cloud Platform. Bardzo dobrze sprawdza się w projektach, które korzystają z usług GCP przez dłuższy czas. 

Zniżka CUD polega na określeniu zobowiązania na stałe miesięcznie użycie zasobów
chmury na okres roku lub trzech lat. Można porównać ją do abonamentu komórkowego – podpisujesz umowę na określony czas i otrzymujesz odnawialną pulę minut czy sms-ów do wykorzystania. Niezależnie, czy wyślesz 10, czy 500 sms-ów, rachunek co miesiąc będzie taki sam.

Analogicznie jest w zniżkach CUD. Zamawiasz “abonament” na zasoby wirtualne i co miesiąc otrzymujesz rachunek na stałą kwotę – nawet jeśli nie wykorzystasz całej puli. Natomiast jeśli obciążenie będzie większe (np. większy ruch w serwisie e-commerce z okazji Black Friday), za zasoby wykraczające ponad te określone w committed use discount zapłacisz “normalną” cenę.

Poniżej znajdują się zrzuty ekranu z konsoli GCP. Na screenie pierwszym wskazano koszt pracy instancji z rodziny E2 bez zniżki, a na screenie drugim cenę tej samej instancji ze zniżką committed use discount.

Committed Use Discounts in Google Cloud Platform
Miesięczny koszt pracy instancji z rodziny E2 bez zniżki CUD…

 

Committed Use Discounts in Google Cloud Platform
… i ta sama instancja przy wskazaniu committed use discount na okres 3 lat. Różnica w cenie to prawie 30%.

Usługi Google Cloud Platform, które obejmuje zniżka CUD

Obecnie (kwiecień 2021) ze zniżek CUD możesz korzystać w ramach usług:

Gdzie zniżkowe CUDa się nie zdarzają?

Rabaty za zobowiązanie nie dotyczą:

  • środowiska flexible w usłudze App Engine,
  • usługi Dataflow,
  • instancji Preemptible Virtual Machines,
  • node’ów sole-tenant (serwerów Compute Engine dedykowanych obsłudze obciążeń tylko jednej organizacji),
  • rozszerzonej pamięci RAM dodanej do maszyn wirtualnych w ramach extended memory,
  • maszyn typu f1-micro, g1-small oraz shared-core (w tym maszyn N1 shared-core),
  • wyższych przepustowości interfejsów maszyn N2 i C2 – 50, 75 i 100 Gb/s.

Sposoby naliczania zniżek committed use discounts

Zniżka jest naliczana na dwa sposoby, w zależności od usługi chmurowej:

  • na podstawie wykorzystanych zasobów (resource-based) – rabat w zamian za zobowiązanie do wykorzystania określonego poziomu zasobów maszyn wirtualnych: vCPU, pamięci operacyjnej, GPU i lokalnych dysków SSD; dotyczy usług Compute Engine, Google Kubernetes Engine i Dataproc,
  • na podstawie ponoszonych kosztów (spend-based) – zniżka przyznawana w oparciu o zobowiązanie do ponoszenia stałej miesięcznej kwoty za usługę działającą we wskazanym regionie; w ten sposób naliczane są rabaty w usługach Cloud SQL i Cloud VMware Engine, a pod uwagę brane jest użycie vCPU i RAM.

Committed use discounts a sustained use discounts

Committed use discount nie jest jedyną zniżką, jaka funkcjonuje wśród usług chmury Google; obok CUD jest też SUD – sustained use discount, czyli rabat za długie użytkowanie.

Zniżki sustained use discounts są przyznawane automatycznie, a im dłużej (nieprzerwanie) działają maszyny w ciągu miesiąca, tym wyższa zniżka. Gdy zasoby są używane dłużej niż przez 1/4 miesiąca, Compute Engine przydziela rabat na każdą minutę pracy instancji – do 30% dla maszyn N1 i do 20% dla maszyn N2. Zniżka SUD nie dotyczy maszyn z rodziny E2 i A2.

Sustained Use Discounts in Google Cloud Platform
Wykres prezentujący wysokość zniżki sustained use discount w skali miesiąca

 

Nie jest możliwe jednoczesne korzystanie i ze zniżki committed use discount, i z sustained use discount dla tych samych zasobów. Jednak zasoby, które nie zakwalifikowały się do rabatu CUD, automatycznie otrzymują rabat za długotrwałe użytkowanie SUD.

Zobacz też: Jak płacić mniej za GCP? 10 obszarów, na które powinieneś zwrócić uwagę

CUDs dla usług korzystających z maszyn wirtualnych (GCE, GKE, Dataproc)

Usługi Compute Engine, Google Kubernetes Engine oraz Dataproc wykorzystują moc maszyn wirtualnych Google Cloud. Zniżki committed use discounts są przyznawane per instancja z danej rodziny maszyn, dlatego sposób naliczania rabatów jest taki sam dla tych trzech usług.

Zniżki są przyznawane w obrębie regionu Google Cloud. Jeśli Twoja aplikacja jest wdrożona w modelu multi-region, dla każdego regionu będziesz musiał utworzyć osobny rabat committed use discount.

Przyznawane rabaty dotyczą zasobów w obrębie jednego konta rozliczeniowego lub projektu w Google Cloud Platform, w którym rabaty zostały zatwierdzone. Jeśli zasoby są współdzielone między projektami pod jednym kontem rozliczeniowym i nie zostanie wykorzystana cała pula, środki pozostają w projekcie, w którym zostało utworzone zobowiązanie CUD.

Sposób wyliczania wysokości zniżki

Google wyróżnia kilka rodzajów zniżek CUD, w których uwzględnione są maszyny z danej rodziny – zarówno maszyny predefiniowane (predefined), jak niestandardowe (custom machine types):

  • General-Purpose E2 dla maszyn typu E2,
  • General-Purpose N2 dla maszyn typu N2,
  • General-Purpose N2D dla maszyn typu N2D,
  • General-Purpose N1 dla maszyn typu N1,
  • Compute-optimized dla maszyn typu C2,
  • Memory-optimized dla maszyn typu M2 i M1,
  • Accelerator-optimized dla maszyn typu A2.

Zniżka nie jest dostępna dla maszyn typu f1-micro, g1-small, shared-core, dla wyższych przepustowości interfejsów maszyn N2 i C2 (50, 75 i 100 Gb/s), dla instancji Preemptible VMs i nie obejmuje zwiększonej pamięci RAM w ramach extended memory. Zniżki nie można też uzyskać na projekty korzystające z bezpłatnych limitów Free Tier oraz na projekty nieposiadające historii płatności.

Wysokość zniżki zależy od kilku czynników – m.in. od wybranej rodziny maszyn, wskazanej wysokości miesięcznego zużycia vCPU, pamięci RAM, regionu czy okresu trwania zobowiązania. Jeśli do zniżki chcesz dołączyć GPU lub lokalny dysk SSD, konieczne jest wskazanie i zarezerwowanie zasobów w trakcie konfiguracji committed use discount – a GPU i SSD również będą miały wpływ na wysokość rabatu CUD. Zniżka może wynosić do 70% dla maszyn typu memory-optimized oraz do 57% dla pozostałych rodzin maszyn.

Przez cały okres trwania zobowiązania płacisz stałą miesięczną kwotę, nawet jeśli ceny zasobów w modelu on-demand (czyli poza zniżką) ulegną zmianie.

Czas trwania zobowiązania

Zobowiązać możesz się na okres roku lub trzech lat (przy 3-letnich commitment use discounts zniżki są wyższe). Wyjątkiem są instancje GPU NVIDIA® K80, w której CUD można wskazać jedynie na rok.

Bardzo istotne jest określenie, jaki poziom zasobów (vCPU, RAM, zarezerwowane w tracie konfiguracji zasoby GPU czy dyski SSD) można wskazać w committed use discount, ponieważ po przyznaniu zniżki nie ma możliwości anulowania jej przed terminem – nawet jeśli zużycie będzie znacznie mniejsze. O prowadzeniu analizy piszemy dalej, w sekcji Określenie wysokości CUD, zakup i analiza wykorzystania zniżki.

Jeśli stałe zużycie okaże się większe, możesz utworzyć kolejny rabat w ramach CUD. Zobowiązanie zostanie założone z nową datą uruchomienia i wygaśnięcia, niezależną od poprzednio ustawionych zniżek.

Zniżki CUD w usłudze Cloud SQL

Dla usługi Cloud SQL zniżka committed use discount jest naliczana na podstawie kosztów zużycia – w modelu spend-based. Deklarujesz, jaką kwotę (w dolarach na godzinę) będziesz miesięcznie przeznaczać na utrzymanie bazy danych w chmurze. Poziom kosztów jest wyliczany na podstawie podstawowych stawek on-demand. Zobowiązanie CUD możesz utworzyć na okres roku lub trzech lat.

Jakich zasobów w Cloud SQL dotyczy zniżka?

Rabaty dotyczą wszystkich instancji bazodanowych w regionie, a konkretniej procesorów wirtualnych i pamięci operacyjnej. Zniżka CUD obejmuje wszystkie obsługiwane w usłudze bazy danych: MySQL, PostgreSQL i SQL Server. 

Zniżka dla usługi Cloud SQL nie obejmuje:

  • instancji o współdzielonym rdzeniu (np. db-f1-micro czy db-g1-small),
  • przechowywania danych,
  • kopii zapasowych,
  • adresów IP,
  • ruchu wychodzącego,
  • kosztów licencjonowania.

Wysokość rabatu CUD dla Cloud SQL

Przy zobowiązaniu na rok zniżka wynosi 25% ceny usługi w modelu on-demand. Dla committed use discount na okres 3 lat rabat wynosi 52%.

Dla każdego regionu wysokość zniżki (w procentach) jest taka sama.

Jak obliczyć wysokość committed use discount dla Cloud SQL?

Rabat za CUD w przypadku Cloud SQL jest mierzony w dolarach za godzinę za użycie zasobu na podstawie bazowej ceny on-demand. Wysokość zniżki nie jest związana z typem maszyny wirtualnej – przy określaniu kwoty należy wziąć pod uwagę jedynie koszt godzinowy vCPU i pamięci operacyjnej we wszystkich instancjach w danym regionie.

Zużycie wykraczające poza zobowiązanie CUD będzie naliczane według podstawowej stawki.

Przykład wyliczenia dla usługi w modelu multi-region

Załóżmy, że korzystasz z Cloud SQL w modelu multi-region (Iowa us-central1 oraz asia-southwest1 Singapur) i posiadasz w sumie 200 aktywnych instancji w dwóch regionach – po 100 na region. Wszystkie instancje używają dwóch procesorów wirtualnych o wysokiej dostępności (HA) z 7,5 GB pamięci RAM każdy. Chcesz utworzyć zobowiązanie CUD na okres roku, czyli uzyskać zniżkę 25%.

Korzystając z cennika usługi, można wyliczyć koszt godzinowego zużycia w obu regionach:

Dla regionu Iowa (us-central1)

Godzina pracy 100 instancji w regionie kosztuje 26,50 $ wg stawki on-demand:

  • 100 * 2x HA vCPU * 0,0826 $ za vCPU/h = ~ 16,50 $/h
  • 100 * 7,5 GB HA RAM * 0,0140 $ za GB/h = ~ 10,00 $/h

Instancje pracują 720 godzin w miesiącu:

  • Bazowy koszt 720 godzin pracy 100 instancji: 26,50 $/h * 720 h = 19 080 $/mc
  • Zniżka pozwala zaoszczędzić 25%, co daje 14 310 $/mc
  • Dzięki CUD oszczędzasz 4770 $/mc

Dla regionu Singapur (asia-southwest1):

Godzina pracy 100 instancji w regionie kosztuje 35,00 $ wg stawki on-demand:

  • 100 * 2x HA vCPU * 0,1156 $ za vCPU/h= ~ 21,00 $/h
  • 100 * 7,5 GB HA RAM * 0,0735 $ za GB / godzinę = ~ 14,00 $/h

Instancje pracują 720 godzin w miesiącu:

  • Bazowy koszt 720 godzin pracy 100 instancji: 35,00 $/h * 720 h = 25 200 $
  • Zniżka pozwala zaoszczędzić 25%, co daje 18 900 $/mc
  • Dzięki CUD oszczędzasz 6300 $/mc

Po zakontraktowaniu, stała kwota po zniżce (14 310 $ oraz 18 900 $) będzie doliczana co miesiąc do rachunku, nawet jeśli w ciągu trwania CUD zmienią się ceny usługi w modelu on-demand. Jeśli postanowisz zmniejszyć poziom vCPU, RAMu lub całkiem zrezygnować z usługi, nadal będziesz zobowiązany do opłacania stałej kwoty przez rok od momentu uruchomienia zniżki.

Co, oprócz vCPU i RAM, wziąć pod uwagę, wyliczając wysokość zniżki?

  • Region. Zniżka committed use discount dotyczy zasobów w danym regionie. Jeśli zasoby znajdują się w kilku regionach, należy obliczyć i zatwierdzić CUD w każdym regionie osobno. Ceny instancji między regionami mogą się różnić.
  • Rodzaj środowiska. Powinieneś określić bazowe zużycie procesora i pamięci RAM na każdy projekt. Weź pod uwagę, że środowisko produkcyjne powinno działać przez 100% czasu, natomiast środowiska developerskie czy QA mogą działać w niepełnym wymiarze godzin i raczej nie obsługują ruchu klienckiego.
  • Czas działania instancji. Produkcyjne instancje Cloud SQL działają zwykle 24/7/365, więc śmiało można wciągnąć ją w zniżkę CUD. Jeśli posiadasz instancje, które uruchamiasz nieregularnie, na krótkie okresy czasu, wyklucz je z estymacji – lepiej sporadycznie płacić stawkę on-demand, niż ponosić wyższy miesięczny koszt zobowiązania.

CUDs w Google Cloud VMware Engine

Zasada działania rabatów w usłudze Google Cloud VMware jest niemal identyczna jak w Cloud SQL. Zniżka committed use discount jest naliczana na podstawie kosztów zużycia, w modelu spend-based. Obejmuje wykorzystanie procesora i pamięci RAM w instancjach w danym regionie (rodzaj maszyny wirtualnej nie odgrywa roli). Zniżka nie obejmuje przechowywania, kopii zapasowych, adresów IP, ruchu wychodzącego czy licencji.

Wysokość zniżki przy rocznym zobowiązaniu wynosi 24,4%, a przy zobowiązaniu na 3 lata 42,5%. Miesięczną cenę wylicza się na podstawie bazowego kosztu vCPU i RAM w modelu płatności on-demand.

Określenie wysokości CUD, zakup i analiza wykorzystania zniżki

Przed wyborem committed use discount zaleca się, aby przynajmniej przez 30 dni prowadzić testy wśród wybranych usług GCP z zachowaniem poziomu obciążenia zbliżonego do wersji produkcyjnej. Po miesiącu narzędzie rekomendacji Recommender będzie w stanie wskazać odpowiedni poziom zużycia, na który można uzyskać rabat.

Wskazówki od Recommendera na podstawie dotychczasowego zużycia

Google Cloud Platform udostępnia inteligentne narzędzie Recommender. Usługa, analizując dotychczasowy poziom zużycia, jest w stanie wskazać opcje optymalizacji kosztów – w tym proponowaną wysokość committed use discounts, jeśli projekt spełnia warunki zniżki.

W zakładce Billing > Commitment analysis znajdziesz m.in. wykres zużycia z opcją filtrowania po projekcie i/lub regionie.

Committed Use Discounts in Google Cloud Platform

Powyżej dashboardu, na szarym pasku znajduje się informacja o możliwości miesięcznej oszczędności. Jest to kwota wyliczona przez Google Cloud Platform na podstawie dotychczasowego zużycia.

W panelu znajduje się przycisk Recommendations z żółtą ikoną żarówki. Znajdują się informacje o możliwościach wprowadzenia oszczędności.

Committed Use Discounts in Google Cloud Platform

Po wejściu w zakładkę, narzędzie zasugeruje kilka możliwych rekomendacji:

Committed Use Discounts in Google Cloud Platform

Po wybraniu danej opcji, możesz przejść do szczegółowych informacji. Znajdziesz też tam opcję wykupienia zobowiązania:

Committed Use Discounts in Google Cloud Platform

Użycie narzędzia commitment analysis pozwala porównać poziom dotychczasowego zużycia do poziomu potencjalnego zobowiązania. Na wykresie poziom pokrycia zasobów przez zniżkę będzie wskazany kolorem niebieskim:

Committed Use Discounts in Google Cloud Platform

Zakup zniżki committed use discount

Zniżkę CUD można kupić w panelu Billing > Commitments. Żeby to zrobić, należy mieć przyznaną rolę Billing Account Administrator.

Przy wyborze zniżki dla maszyn wirtualnych należy określić nazwę zniżki, region, którego dotyczy, rodzinę maszyn wirtualnych, czas trwania zobowiązania, liczbę procesorów oraz poziom pamięci RAM. Można dodać też procesory graficzne (GPU) oraz lokalne dyski SSD.

Committed Use Discounts in Google Cloud Platform
Panel wyboru committed use discounts dla usług korzystających z maszyn wirtualnych – Compute Engine, Google Kubernetes Engine oraz Dataproc

Przy zakupie zniżki dla usług Cloud SQL oraz VMware Engine również należy określić nazwę zniżki, czas trwania zobowiązania oraz wskazać region. Ponieważ zniżka jest przyznawana na podstawie sumy kosztów usługi, należy podać wysokość miesięcznego zobowiązania w dolarach na godzinę.

Committed Use Discounts in Google Cloud Platform
Panel wyboru zniżki committed use discount dla usług Cloud SQL i VMware

 

Analiza poziomu wykorzystania zniżki

W trakcie trwania committed use discount możesz analizować poziom wykorzystania zniżki. W zakładce Billing > Commitments znajdziesz odpowiedzi na pytania takie jak:

  • Ile oszczędzam, korzystając z committed use discount?
  • Czy w pełni wykorzystuję zniżkę CUD?
  • Jaki procent zużycia jest objęty zniżką?
  • Czy mogę zaoszczędzić więcej, dobierając kolejną zniżkę?
  • Czy mogę lepiej zoptymalizować koszty, dzieląc zniżkę między projektami?

Podsumowanie wszystkich wykupionych rabatów CUD jest wyświetlone na dashboardzie. Możesz zobaczyć szczegółową analizę zobowiązania i zużycia zniżki, wybierając ją z listy w panelu Commitments.

Oto jak wygląda panel Billing > Commitments z aktywnym zobowiązaniem CUD:

Committed Use Discounts in Google Cloud Platform

Dashboard składa się z trzech głównych elementów: 

  • kart podsumowania (summary cards) – znajdują się tu informacje o aktywnej liczbie zobowiązań, dotychczasowych oszczędnościach, poziomie wykorzystywania zniżki oraz o procencie zużycia, który jest objęty rabatem;
  • wykresu słupkowego (stacked bar chart) – z oznaczonymi na niebiesko kosztami wciągniętymi w zniżkę, z kosztami wykraczającymi poza committed use discount oraz przerywaną linią wskazującą poziom zobowiązania,
  • tabeli podsumowania (summary table) ze szczegółowym wskazaniem kosztów.

Dzięki analizie zobowiązania można ocenić, czy wykupiony poziom CUD jest odpowiedni. Można też bezpośrednio z panelu dobrać kolejną zniżkę, przechodząc do opcji Purchase.

Współdzielenie committed use discount między projektami GCP

Standardowo zniżka CUD dotyczy zasobów pojedynczego projektu w GCP – tego, w którym została włączona. Jednak żeby lepiej wykorzystać zniżkę i zoptymalizować koszty, committed use discount można rozdzielić między projektami przypiętymi do jednego konta rozliczeniowego.

Zniżki za długotrwałe użytkowanie (sustained use discounts) są wtedy również obliczane i przyznawane na podstawie zużycia zasobów z kilku projektów.

Jak włączyć współdzielenie zniżki pomiędzy projektami:

  1. Zaloguj się do Cloud Billing w Google Cloud Console.
    Jeśli masz więcej niż jedno konto rozliczeniowe w GCP, wykonaj jedną z następujących czynności:

    • Aby zarządzać bilingiem dla bieżącego projektu, wybierz opcję Go to linked billing account (Przejdź do połączonego konta rozliczeniowego),
    • Aby wskazać inne konto rozliczeniowe, wybierz Manage billing accounts (Zarządzaj kontami rozliczeniowymi), a następnie wybierz konto, którym chcesz zarządzać.
  2. W menu nawigacyjnym Billing wybierz opcję Commitments.
  3. Kliknij view committed use discount analysis (wyświetl analizę rabatu).
  4. Wybierz Commitment scope (zakres zobowiązania) u góry strony.
  5. Commitment scope jest opcją domyślną po wybraniu rabatów dla określonego projektu. Aby zmienić to ustawienie, należy włączyć współdzielone płatności – shared billing.
  6. Wpisz Enable w polu tekstowym, aby włączyć współdzielenie CUD.
  7. Kliknij Enable Billing Account Scope, aby zapisać zmiany.

Aktywacja współdzielenia może zająć do 24 godzin. Po tym czasie sprawdź, czy zakres jest ustawiony na Billing discount. Jeśli nie, skontaktuj się z ze swoim Partnerem Google Cloud lub ze wsparciem technicznym Google Cloud Platform.

Po aktywowaniu współdzielenia, wszystkie zniżki – obecne oraz przyszłe – będą współdzielone pomiędzy projektami znajdującymi się pod danym kontem rozliczeniowym. 

Wyłączenie współdzielenia rabatów można zrobić tylko z pomocą działu technicznego Google. Jeśli udostępnianie rabatów zostanie wyłączone, wszystkie rabaty CUD powrócą do ustawienia domyślnego, obejmującego tylko projekty, za pośrednictwem których zostały zakupione. Zmiana zostanie wdrożona z początkiem kolejnego miesiąca.

Optymalizacja kosztów GCP z Partnerem Google Cloud

Committed use discount to nie jedyny sposób, żeby zadbać o wydatki w chmurze bez uszczerbku na jakości usług. W optymalizacji kosztów wesprze Partner Google Cloud taki jak Fly On The Cloud, który na pokładzie posiada certyfikowanych Cloud Inżynierów i Cloud Architektów. Specjaliści nie tylko zaimplementują zniżkę, ale przeprowadzą też analizę infrastruktury w poszukiwaniu opcji zwiększenia jej wydajności lub obniżenia kosztów.