Kostnadssammenligning på administrerte Kubernetes (2020)

Merk. overs.: Den amerikanske DevOps-ingeniøren Sid Palas, bruker nylig kunngjøring av Google Cloud Som en informasjonsveiledning sammenlignet jeg kostnadene for Managed Kubernetes-tjenesten (i forskjellige konfigurasjoner) fra verdens ledende skyleverandører. En ekstra fordel med arbeidet hans var utgivelsen av den tilsvarende Jupyter Notebook, som gjør det mulig (med minimal kunnskap om Python) å justere beregningene som er utført for å passe dine behov.

TL; DR: Azure og Digital Ocean tar ikke betalt for dataressurser som brukes for kontrollplanet, noe som gjør dem til et godt valg for å distribuere mange små klynger. For å kjøre et lite antall store klynger er GKE best egnet. I tillegg kan du redusere kostnadene betydelig ved å bruke spot-/forebyggende/lavprioriterte noder eller ved å «abonnere» på langtidsbruk av de samme nodene (dette gjelder alle plattformer).

Kostnadssammenligning på administrerte Kubernetes (2020)
Klyngestørrelse (antall arbeidere)

Oversikt

Nylig Google Cloud-kunngjøring GKEs kunngjøring om å begynne å belaste 10 cent per klyngetime for hver klyngetime, fikk meg til å begynne å analysere prisene på store administrerte Kubernetes-tilbud.

Kostnadssammenligning på administrerte Kubernetes (2020)
Denne kunngjøringen har opprørt noen...

Hovedpersonene i artikkelen er:

Kostnadsoversikt

De totale kostnadene ved å bruke Kubernetes på hver av disse plattformene består av følgende komponenter:

  • Klyngeadministrasjonsgebyr;
  • Lastbalansering (for Ingress);
  • Dataressurser (vCPU og minne) til arbeidere;
  • Utgående trafikk;
  • Permanent lagring;
  • Databehandling av lastbalanser.

I tillegg tilbyr skyleverandører betydelige rabatter hvis klienten ønsker/kan bruke preempible få øye på eller lavprioriterte noder OR forplikter seg til å bruke de samme nodene i 1-3 år.

Det er verdt å understreke at selv om kostnad er et godt grunnlag for å sammenligne og vurdere tjenesteleverandører, bør andre faktorer tas i betraktning:

  • Oppetid (Service Level Agreement);
  • Det omkringliggende skyøkosystemet;
  • Tilgjengelige versjoner av K8s;
  • Kvalitet på dokumentasjon/verktøykasse.

Disse faktorene er imidlertid utenfor rammen av denne artikkelen/studien. I Februar-innlegg på StackRox-bloggen Ikke-prisfaktorer for EKS, AKS og GKE omtales i detalj.

Jupyter notatbok

For å gjøre det lettere å finne den mest lønnsomme løsningen har jeg utviklet Jupyter notatbok, ved å bruke plotly + ipywidgets i den. Den lar deg sammenligne leverandørtilbud for forskjellige klyngestørrelser og tjenestesett.

Du kan øve med en live-versjon av notisblokken i Binder:

Kostnadssammenligning på administrerte Kubernetes (2020)
managed-kubernetes-price-exploration.ipynb på mybinder.org

Gi meg beskjed hvis beregningene eller den opprinnelige prisen er feil (dette kan gjøres via en problem- eller pull-forespørsel på GitHub - her er depotet).

Funn

Akk, det er for mange nyanser til å gi mer spesifikke anbefalinger enn de som er inkludert i TL;DR-paragrafen helt i begynnelsen. Noen konklusjoner kan likevel trekkes:

  • I motsetning til GKE og EKS tar AKS og Digital Ocean ikke betalt for kontrolllagsressurser. AKS og DO er mer lønnsomme dersom arkitekturen inkluderer mange små klynger (for eksempel en klynge pr. hver utvikler eller hver klient).
  • GKEs litt rimeligere dataressurser gjør det mer lønnsomt ettersom klyngestørrelsene øker*.
  • Bruk av uttakbare noder eller langsiktig nodeaffinitet kan redusere kostnadene med mer enn 50 %. Merk: Digital Ocean tilbyr ikke disse rabattene.
  • Googles utgående avgifter er høyere, men kostnadene for dataressurser er en avgjørende faktor i beregningen (med mindre klyngen din genererer en betydelig mengde utgående data).
  • Å velge maskintyper basert på CPU- og minnebehovet til arbeidsbelastningene dine vil hjelpe deg å unngå å betale ekstra for ubrukte ressurser.
  • Digital Ocean tar mindre for vCPU og mer for minne sammenlignet med andre plattformer - dette kan være en avgjørende faktor for enkelte typer dataarbeidsbelastninger.

*Merk: Analyse bruker data for generelle beregningsnoder (generelt bruk). Dette er n1 GCP Compute Engine-forekomster, m5 AWS ec2-forekomster, D2v3 Azure virtuelle maskiner og DO-dråper med dedikerte CPUer. På sin side er det mulig å forske blant andre typer virtuelle maskiner (burstable, entry-level). Ved første øyekast avhenger kostnadene for virtuelle maskiner lineært av antall vCPUer og mengden minne, men jeg er ikke sikker på at denne antagelsen vil gjelde for svært ikke-standard minne/CPU-forhold.

Artikkelen Den ultimate Kubernetes-kostnadsguiden: AWS vs GCP vs Azure vs Digital Ocean, publisert i 2018, brukte en referanseklynge med 100 vCPU-kjerner og 400 GB minne. Til sammenligning, ifølge mine beregninger, vil en lignende klynge på hver av disse plattformene (for on-demand-forekomster) koste følgende beløp:

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

Jeg håper denne artikkelen sammen med notatboken vil hjelpe deg med å evaluere de viktigste administrerte Kubernetes-tilbudene og/eller spare penger på skyinfrastruktur ved å dra nytte av rabatter og andre muligheter.

PS fra oversetter

Les også på bloggen vår:

Kilde: www.habr.com

Legg til en kommentar