Porovnání cen na Managed Kubernetes (2020)

Pozn. přek.: Americký DevOps inženýr Sid Palas, využívajíce nedávného oznámení Google Cloud , provedl srovnání nákladů na službu Managed Kubernetes (v různých konfiguracích) od předních globálních poskytovatelů cloudových služeb. Dalším plusem jeho práce byla publikace odpovídajícího Jupyter Notebooku, který umožňuje (při minimálních znalostech Pythonu) doladit prováděné výpočty podle vlastních potřeb.

TL;DR: Azure a Digital Ocean neúčtují poplatky za výpočetní prostředky používané pro řídicí vrstvu (control plane), což je činí vhodnou volbou pro nasazení mnoha malých clusterů. Pro spuštění menšího počtu velkých clusterů je nejlepší GKE. Dále lze výrazně snížit náklady, použitím spottových/předcházejících/nízko-prioritních uzlů nebo „podepsáním“ na dlouhodobé používání stejných uzlů (to platí pro všechny platformy).

Porovnání cen na Managed Kubernetes (2020)
Velikost clusteru (počet workerů)

Obecné informace

Nedávné oznámení Google Cloud o zahájení účtování 10 centů za hodinu provozu každého clusteru v GKE mě povzbudilo k analýze cen hlavních nabídek v oblasti spravovaného (managed) Kubernetes.

Porovnání cen na Managed Kubernetes (2020)
Toto oznámení velmi zklamalo některé...

Hlavními protagonisty článku jsou:

Rozpis nákladů

Celkové náklady na používání Kubernetes na každé z těchto platforem se skládají z následujících komponent:

  • Poplatek za správu clusteru;
  • Zátěžové vyvažování (pro Ingress);
  • Výpočetní prostředky (vCPU a paměť) workerů;
  • Egressový provoz;
  • Trvalé úložiště;
  • Zpracování dat vyvažovačem zátěže.

Dále cloudoví poskytovatelé nabízejí významné slevy, pokud chce/může klient používat předcházející (preemptible), spottové nebo nízko-prioritní uzly ČI se zaváže používat stejné uzly po dobu 1-3 let.

Je třeba zdůraznit, že ačkoli náklady jsou dobrým základem pro srovnání a hodnocení poskytovatelů služby, měly by se zohlednit i další faktory:

  • Uptime (SLA);
  • Okolní cloudová ekosystém;
  • Dostupné verze K8s;
  • Kvalita dokumentace/nástrojů.

Tyto faktory však přesahují rámec tohoto článku/výzkumu. V únorovém blogu StackRox Podrobně se zabýváme necenovými faktory pro EKS, AKS a GKE.

Jupyter Notebook

Abych usnadnil hledání nejvýhodnějšího řešení, vytvořil jsem Jupyter notebook, ve kterém jsem využil plotly + ipywidgets. Umožňuje porovnávat nabídky poskytovatelů pro různé velikosti clustera a soubory služeb.

Vyzkoušet živou verzi notebooku můžete v Binderu:

Porovnání cen na Managed Kubernetes (2020)
managed-kubernetes-price-exploration.ipynb na mybinder.org

Dejte mi vědět, pokud jsou výpočty nebo původní ceny nesprávné (to lze provést pomocí issue nebo pull requestu na GitHubu — tady je repozitář).

Závěry

Bohužel je příliš mnoho nuancí, abych mohl uvést konkrétnější doporučení, než jsou ta zahrnuta v úvodu TL;DR. Nicméně lze i tak učinit několik závěrů:

  • Na rozdíl od GKE a EKS, AKS a Digital Ocean neúčtují poplatky za zdroje řídicí vrstvy. AKS a DO jsou výhodnější, pokud architektura zahrnuje mnoho malých clusterů (například jeden cluster na každého vývojáře nebo každého klienta).
  • Mírně levnější výpočetní prostředky GKE činí tento systém výhodnější s rostoucí velikostí clusterů*.
  • Použití vyčerpávacích uzlů nebo dlouhodobá vazba na uzly mohou snížit náklady o více než 50%. Poznámka: Digital Ocean takové slevy nenabízí.
  • Poplatky za odchozí provoz v Googlu jsou vyšší, nicméně hlavním faktorem při výpočtu je cena výpočetních zdrojů (pokud váš cluster není zdrojem významného objemu odchozích dat).
  • Výběr typů strojů podle potřeb pracovních zátěží co do CPU a paměti pomůže vyhnout se nadměrným poplatkům za nevyužité zdroje.
  • Digital Ocean si účtuje méně za vCPU a více za paměť než jiné platformy — to může být rozhodující faktor pro některé typy výpočetních zátěží.

* Poznámka: V analýze se používají data pro výpočetní uzly obecného použití (general-purpose). Jsou to instance n1 GCP Compute Engine, m5 AWS ec2, virtuální stroje D2v3 Azure a droplet'y DO se vyhrazenými CPU. Na druhou stranu lze provést výzkumy mezi jinými typy virtuálních strojů (burstable, entry-level). Na první pohled se cena virtuálních strojů lineárně odvíjí od počtu vCPU a objemu paměti, avšak nejsem si jist, že tento předpoklad zůstane platný pro značně nestandardní poměry paměti/CPU.

V článku Nejlepší průvodce náklady na Kubernetes: AWS vs GCP vs Azure vs Digital Ocean, publikováno v roce 2018, byl použit referenční cluster se 100 jádry vCPU a 400 GB paměti. Pro srovnání, podle mých výpočtů, podobný cluster na každé z těchto platforem (pro on-demand instance) by stál následující částku:

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

Doufám, že vám článek spolu s bloknotem pomohou zhodnotit hlavní nabídky spravovaných Kubernetes a/nebo ušetřit na cloudové infrastruktuře využitím slev a dalších možností.

P.S. od překladatele

Přečtěte si také náš blog:

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster