Porovnanie nákladov na Managed Kubernetes (2020)

Pozn. prekl.: Americký DevOps inžinier Sid Palas využil nedávny oznámenie Google Cloud ako spravodajský dôvod, uskutočnil porovnanie nákladov na službu Managed Kubernetes (v rôznych konfiguráciách) od popredných svetových cloudových poskytovateľov. Ďalším prínosom jeho práce bola publikácia príslušného Jupyter Notebooku, umožňujúceho (pri minimálnych znalostiach Pythonu) prispôsobiť vykonávané výpočty podľa vlastných potrieb.

TL;DR: Azure a Digital Ocean neúčtujú poplatky za výpočtové zdroje používané pre riadiacu vrstvu (control plane), čo robí ich vhodnou voľbou pre nasadenie viacerých malých klastrov. Pre spustenie malého počtu veľkých klastrov je najlepšou voľbou GKE. Okrem toho je možné výrazne znížiť náklady použitím spotoch/vytláčateľných/nízkoprioritných uzlov alebo „prihlásením“ na dlhodobé používanie rovnakých uzlov (to platí pre všetky platformy).

Porovnanie nákladov na Managed Kubernetes (2020)
Veľkosť klastrov (počet workerov)

Základné informácie

Nedávne oznámenie Google Cloud o začatí účtovania 10 centov za hodinu prevádzky každého klastru v GKE ma podnietilo zaoberať sa analýzou cien na hlavné ponuky v oblasti spravovaného (managed) Kubernetes.

Porovnanie nákladov na Managed Kubernetes (2020)
Toto oznámenie veľmi rozrušilo niektorých…

Hlavnými postavami článku sú:

Rozpis nákladov

Celkové náklady na používanie Kubernetes na každej z týchto platforiem sa skladajú z nasledujúcich komponentov:

  • Poplatok za správu klastru;
  • Vyvažovanie zaťaženia (pre Ingress);
  • Výpočtové zdroje (vCPU a pamäť) workerov;
  • Egress traffic;
  • Trvalé uloženie;
  • Spracovanie údajov vyvažovačom zaťaženia.

Okrem toho cloudoví poskytovatelia ponúkajú významné zľavy, ak klient chce/môže používať vytláčateľné (preemptible), spotové alebo nízkopríoritné (low-priority) uzly, ALEBO sa zaväzuje používať rovnaké uzly po dobu 1-3 rokov.

Je potrebné zdôrazniť, že aj keď náklad je dobrým základom na porovnávanie a hodnotenie poskytovateľov služieb, mali by sa zvážiť aj ďalšie faktory:

  • Dostupnosť (Service Level Agreement);
  • Okolná cloudová ekosystém;
  • Dostupné verzie K8s;
  • Kvalita dokumentácie/nástrojov.

Avšak tieto faktory presahujú rámec tohto článku/výskumu. V februárovom blogovom príspevku StackRox podrobne sa zaoberajú necenovými faktormi pre EKS, AKS a GKE.

Jupyter Notebook

Aby som uľahčil hľadanie najvýhodnejšieho riešenia, vyvinul som Jupyter notebook, do ktorého som zapojil plotly + ipywidgets. Umožňuje porovnávať ponuky poskytovateľov pre rôzne veľkosti klastrov a súbory služieb.

Cvičiť s živou verziou notebooku môžete v Binder:

Porovnanie nákladov na Managed Kubernetes (2020)
managed-kubernetes-price-exploration.ipynb na mybinder.org

Dajte mi vedieť, ak sú výpočty alebo pôvodné cenovky nesprávne (to je možné urobiť pomocou issue alebo pull requestu na GitHub — tu je repozitár).

Zhrnutie

Bohužiaľ, nuáns je príliš veľa na to, aby som poskytol konkrétnejšie odporúčania, než tie, ktoré sú zahrnuté v odseku TL;DR na začiatku. Napriek tomu je možné urobiť niektoré závery:

  • Na rozdiel od GKE a EKS, AKS a Digital Ocean neúčtujú poplatky za zdroje správcovskej vrstvy. AKS a DO sú výhodnejšie, ak architektúra zahŕňa množstvo malých klastrov (napríklad jeden klaster na každého vývojára alebo každého klienta).
  • Menej nákladné výpočtové zdroje GKE robia tento systém výhodnejším s rastúcou veľkosťou klastrov*.
  • Použitie vytláčateľných uzlov alebo dlhodobá viazanosť na uzly umožňuje znížiť náklady viac než o 50%. Poznámka: Digital Ocean nemá takéto zľavy.
  • Poplatok za odchádzajúcu prevádzku v Google je vyšší, avšak rozhodujúcim faktorom pri výpočtoch je cena výpočtových zdrojov (pokým váš klaster nie je zdrojom významného objemu odchádzajúcich údajov).
  • Výber typov strojov so zohľadnením potrieb pracovných záťaží na CPU a pamäť umožní vyhnúť sa zbytočným nákladom za nevyužívané zdroje.
  • Digital Ocean si účtuje menej za vCPU a viac za pamäť v porovnaní s inými platformami — to môže byť rozhodujúcim faktorom pre niektoré typy výpočtových záťaží.

* Poznámka: v analýze sa používajú údaje pre výpočtové uzly obecného určenia (general-purpose). Ide o inštancie n1 GCP Compute Engine, m5 AWS ec2, virtuálne stroje D2v3 Azure a droplet'y DO so vyhradenými CPU. V konkrétnych prípadoch je možné vykonať aj výskumy medzi inými typmi virtuálnych strojov (burstable, entry-level). Na prvý pohľad cena virtuálnych strojov lineárne závisí od počtu vCPU a objemu pamäte, avšak nie som si istý, že toto predpokladanie zostane platné pre veľmi neštandardné pomery pamäť/CPU.

V článku Konečný sprievodca nákladmi na Kubernetes: AWS vs GCP vs Azure vs Digital Ocean, publikované v roku 2018, bol použitý referenčný klaster so 100 jadrami vCPU a 400 GB pamäte. Pre porovnanie, podľa mojich výpočtov by podobný klaster na každej z týchto platforiem (pre on-demand inštancie) stál nasledovnú sumu:

  • AKS: 51465 USD/rok
  • EKS: 43138 USD/rok
  • GKE: 30870 USD/rok
  • DO: 36131 USD/rok

Dúfam, že článok spolu s poznámkami vám pomôžu oceniť hlavné ponuky managed Kubernetes a/alebo ušetriť na cloudovej infraštruktúre využitím zliav a iných možností.

P.S. od prekladateľa

Prečítajte si tiež na našom blogu:

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster