JÀmförelse av kostnader för Managed Kubernetes (2020)

Obs. övers.: Amerikansk DevOps-ingenjör Sid Palas, med hjÀlp av den senaste tillkÀnnagivandet frÄn Google Cloud , 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).

JÀmförelse av kostnader för Managed Kubernetes (2020)
Klusterstorlek (antal workerar)

AllmÀn information

Det senaste tillkÀnnagivandet frÄn Google Cloud 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.

JÀmförelse av kostnader för Managed Kubernetes (2020)
Detta tillkÀnnagivande störde mÄnga...

Huvudaktörerna i artikeln Àr:

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, spot- 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 februari-notisen pÄ StackRox-bloggen 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 Jupyter anteckningsbok, 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:

JÀmförelse av kostnader för Managed Kubernetes (2020)
managed-kubernetes-price-exploration.ipynb pÄ mybinder.org

LĂ„t mig veta om berĂ€kningarna eller de ursprungliga priserna Ă€r felaktiga (detta kan göras via issue eller pull request pĂ„ GitHub — hĂ€r Ă€r repot).

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 Den Ultimata Kubernetes Kostnads Guiden: AWS vs GCP vs Azure vs Digital Ocean, 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

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster