Obs. övers.: Amerikansk DevOps-ingenjör Sid Palas, med hjÀlp av , gjorde en jÀmförelse av kostnaden för Managed Kubernetes (i olika konfigurationer) frÄn ledande globala molnleverantörer. Ett ytterligare plus med hans arbete var publiceringen av en motsvarande Jupyter Notebook, som gör det möjligt att (med grundlÀggande kunskaper i Python) anpassa de utförda berÀkningarna efter egna behov.
TL;DR: Azure och Digital Ocean tar inte ut avgifter för de berÀkningsresurser som anvÀnds för styrskiktet (control plane), vilket gör dem till ett lÀmpligt val för att implementera mÄnga smÄ kluster. För att köra ett litet antal stora kluster Àr GKE det bÀsta valet. Dessutom kan kostnaderna minskas avsevÀrt genom att anvÀnda spill-/preemptible/lÄgt prioriterade noder eller "prenumerera" pÄ lÄngvarig anvÀndning av samma noder (gÀller för alla plattformar).

Klusterstorlek (antal workerar)
AllmÀn information
om att börja ta ut 10 cent per timme för varje kluster i GKE fick mig att analysera priserna pÄ erbjudanden för hanterad Kubernetes.

Detta tillkÀnnagivande störde mÄnga...
Huvudaktörerna i artikeln Àr:
- Google Kubernetes Engine (GCP) â ;
- Elastic Kubernetes Service (AWS) â ;
- Azure Kubernetes Service (Azure) â ;
- Kubernetes pĂ„ Digital Ocean â .
Kostnadsuppdelning
De totala kostnaderna för att anvÀnda Kubernetes pÄ var och en av dessa plattformar bestÄr av följande komponenter:
- Avgift för klusterhantering;
- Lastbalansering (för Ingress);
- BerÀkningsresurser (vCPU och minne) för arbetare;
- Egress-trafik;
- Permanent lagring;
- Datahantering av lastbalanseraren.
Dessutom erbjuder molnleverantörer betydande rabatter om kunder vill/kan anvÀnda preemptible, eller lÄgt prioriterade noder ELLER förbinder sig att anvÀnda samma noder i 1-3 Är.
Det Àr vÀrt att notera att Àven om kostnad Àr en bra grund för att jÀmföra och bedöma tjÀnsteleverantörer, bör Àven andra faktorer beaktas:
- Uppetid (Service Level Agreement);
- Den omgivande molnekosystemet;
- TillgÀngliga versioner av K8s;
- Kvaliteten pÄ dokumentationen/verktygen.
Men dessa faktorer gÄr bortom vad denna artikel/undersökning omfattar. I I detaljeras icke-prisfaktorer för EKS, AKS och GKE.
Jupyter Anteckningsbok
För att förenkla sökningen efter den mest fördelaktiga lösningen har jag utvecklat , som anvÀnder plotly + ipywidgets. Den gör det möjligt att jÀmföra erbjudanden frÄn leverantörer för olika klusterstorlekar och tjÀnstepaket.
Du kan öva med den levande versionen av anteckningsboken i Binder:
LĂ„t mig veta om berĂ€kningarna eller de ursprungliga priserna Ă€r felaktiga (detta kan göras via issue eller pull request pĂ„ GitHub â ).
Slutsatser
TyvÀrr finns det för mÄnga nyanser för att ge mer specifika rekommendationer Àn de som ingÄr i TL;DR-avsnittet i början. Men vissa slutsatser kan ÀndÄ dras:
- Till skillnad frÄn GKE och EKS, tar AKS och Digital Ocean inte betalt för resurserna i kontrollskiktet. AKS och DO Àr mer kostnadseffektiva om arkitekturen innehÄller mÄnga smÄ kluster (t.ex. ett kluster per utvecklare eller kund).
- De nÄgot billigare berÀkningsresurserna i GKE gör det mer kostnadseffektivt med större klusterstorlekar*.
- Att anvÀnda utspridda noder eller lÄngtidsbindningar till noder kan sÀnka kostnaderna med mer Àn 50%. Observera: Digital Ocean har inga sÄdana rabatter.
- Avgiften för utgÄende trafik i Google Àr högre, men den avgörande faktorn vid berÀkningen Àr kostnaden för berÀkningsresurser (sÄvida inte ditt kluster Àr en kÀlla till betydande mÀngder utgÄende data).
- Att vÀlja maskintyper utifrÄn behoven för arbetsbelastningar avseende CPU och minne gör det möjligt att undvika onödiga kostnader för ouppvaktade resurser.
- Digital Ocean tar mindre betalt för vCPU och mer för minne jĂ€mfört med andra plattformar â detta kan bli en avgörande faktor för vissa typer av arbetsbelastningar.
* Observera: analysen anvÀnder data för allmÀnna berÀkningsnoder (general-purpose). Det handlar om instanser av n1 GCP Compute Engine, m5 AWS EC2, virtuella maskiner D2v3 Azure och droppar DO med dedikerad CPU. Samtidigt kan studier ocksÄ göras bland andra typer av virtuella maskiner (burstable, entry-level). Vid första anblick, kostnaden för virtuella maskiner beror linjÀrt pÄ antalet vCPU och mÀngden minne, men jag Àr inte sÀker pÄ att denna antagande kommer att förbli giltigt för mycket ostandardiserade förhÄllanden mellan minne och CPU.
I artikeln , publicerad 2018, anvÀndes en referenskluster med 100 vCPU-kÀrnor och 400 GB minne. För jÀmförelse berÀknar jag att ett liknande kluster pÄ var och en av dessa plattformar (för on-demand instanser) kommer att kosta följande belopp:
- AKS: 51465 USD/Är
- EKS: 43138 USD/Är
- GKE: 30870 USD/Är
- DO: 36131 USD/Är
Jag hoppas att artikeln tillsammans med anteckningsblocket hjÀlper dig att utvÀrdera de grundlÀggande erbjudandena för hanterad Kubernetes och/eller spara pÄ molninfrastruktur genom att utnyttja rabatter och andra möjligheter.
P.S. frÄn översÀttaren
LÀs Àven i vÄr blogg:
- «»;
- «»;
- «»;
- «».
KĂ€lla: habr.com
