Pozn. přek.: Americký DevOps inženýr Sid Palas, využívajíce , 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).

Velikost clusteru (počet workerů)
Obecné informace
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.

Toto oznámení velmi zklamalo některé...
Hlavními protagonisty článku jsou:
- Google Kubernetes Engine (GCP) – ;
- Elastic Kubernetes Service (AWS) – ;
- Azure Kubernetes Service (Azure) – ;
- Kubernetes na Digital Ocean – .
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), 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 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 , 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:
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 — ).
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 , 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
