Omkostningssammenligning på Managed Kubernetes (2020)

Bemærk. overs.: Den amerikanske DevOps-ingeniør Sid Palas, bruger seneste annoncering af Google Cloud Som en informativ vejledning sammenlignede jeg prisen på Managed Kubernetes-tjenesten (i forskellige konfigurationer) fra verdens førende cloud-udbydere. En yderligere fordel ved hans arbejde var udgivelsen af ​​den tilsvarende Jupyter Notebook, som gør det muligt (med minimal viden om Python) at justere de udførte beregninger, så de passer til dine behov.

TL; DR: Azure og Digital Ocean opkræver ikke betaling for computerressourcer, der bruges til kontrolplanet, hvilket gør dem til et godt valg til at implementere mange små klynger. Til at køre et lille antal store klynger er GKE bedst egnet. Derudover kan du reducere omkostningerne markant ved at bruge spot-/forebyggende/lavprioriterede noder eller ved at "abonnere" på langvarig brug af de samme noder (dette gælder alle platforme).

Omkostningssammenligning på Managed Kubernetes (2020)
Klyngestørrelse (antal arbejdere)

Oversigt

Seneste Google Cloud-meddelelse GKE's meddelelse om at begynde at opkræve 10 cents pr. klyngetime for hver klyngetime, fik mig til at begynde at analysere priserne på større administrerede Kubernetes-tilbud.

Omkostningssammenligning på Managed Kubernetes (2020)
Denne meddelelse har oprørt nogle...

Hovedpersonerne i artiklen er:

Omkostningsfordeling

De samlede omkostninger ved at bruge Kubernetes på hver af disse platforme består af følgende komponenter:

  • Klyngeadministrationsgebyr;
  • Lastbalancering (til Ingress);
  • Computerressourcer (vCPU og hukommelse) for arbejdere;
  • Udgående trafik;
  • Permanent opbevaring;
  • Databehandling af load balancer.

Derudover tilbyder cloud-udbydere betydelige rabatter, hvis klienten ønsker/kan bruge præempible få øje på eller lavprioriterede noder OR forpligter sig til at bruge de samme noder i 1-3 år.

Det er værd at understrege, at selvom omkostninger er et godt grundlag for at sammenligne og vurdere tjenesteudbydere, bør andre faktorer tages i betragtning:

  • Oppetid (Service Level Agreement);
  • Det omgivende sky-økosystem;
  • Tilgængelige versioner af K8s;
  • Kvalitet af dokumentation/værktøjskasse.

Disse faktorer er dog uden for rammerne af denne artikel/undersøgelse. I februar-indlæg på StackRox-bloggen Ikke-prisfaktorer for EKS, AKS og GKE diskuteres i detaljer.

Jupyter notesbog

For at gøre det nemmere at finde den mest rentable løsning, har jeg udviklet Jupyter notesbog, ved hjælp af plotly + ipywidgets i det. Det giver dig mulighed for at sammenligne udbydertilbud for forskellige klyngestørrelser og servicesæt.

Du kan øve dig med en live-version af notesblokken i Binder:

Omkostningssammenligning på Managed Kubernetes (2020)
managed-kubernetes-price-exploration.ipynb på mybinder.org

Fortæl mig, hvis beregningerne eller den oprindelige prissætning er forkert (dette kan gøres via en problem- eller pull-anmodning på GitHub - her er depotet).

Fund

Ak, der er for mange nuancer til at give mere specifikke anbefalinger end dem, der er inkluderet i TL;DR-afsnittet helt i begyndelsen. Der kan dog stadig drages nogle konklusioner:

  • I modsætning til GKE og EKS opkræver AKS og Digital Ocean ikke for kontrollagsressourcer. AKS og DO er mere rentable, hvis arkitekturen omfatter mange små klynger (f.eks. én klynge pr. hver udvikler eller hver klient).
  • GKE's lidt billigere computerressourcer gør det mere rentabelt, efterhånden som klyngestørrelserne øges*.
  • Brug af udtrækkelige noder eller langsigtet nodeaffinitet kan reducere omkostningerne med mere end 50 %. Bemærk: Digital Ocean tilbyder ikke disse rabatter.
  • Googles udgående gebyrer er højere, men omkostningerne ved computerressourcer er en afgørende faktor i beregningen (medmindre din klynge genererer en betydelig mængde udgående data).
  • Valg af maskintyper baseret på CPU- og hukommelsesbehov for dine arbejdsbelastninger vil hjælpe dig med at undgå at betale ekstra for ubrugte ressourcer.
  • Digital Ocean opkræver mindre for vCPU og mere for hukommelse sammenlignet med andre platforme - dette kan være en afgørende faktor for nogle typer computerarbejdsbelastninger.

*Bemærk: Analyse bruger data til generelle beregningsknuder (generelle formål). Disse er n1 GCP Compute Engine-instanser, m5 AWS ec2-instanser, D2v3 Azure virtuelle maskiner og DO-dråber med dedikerede CPU'er. Til gengæld er det muligt at udføre forskning blandt andre typer virtuelle maskiner (burstable, entry-level). Ved første øjekast afhænger prisen på virtuelle maskiner lineært af antallet af vCPU'er og mængden af ​​hukommelse, men jeg er ikke sikker på, at denne antagelse vil holde stik for meget ikke-standardiserede hukommelse/CPU-forhold.

I artiklen Den ultimative Kubernetes-omkostningsvejledning: AWS vs GCP vs Azure vs Digital Ocean, udgivet i 2018, brugte en referenceklynge med 100 vCPU-kerner og 400 GB hukommelse. Til sammenligning, ifølge mine beregninger, vil en lignende klynge på hver af disse platforme (for on-demand tilfælde) koste følgende beløb:

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

Jeg håber, at denne artikel sammen med notesbogen vil hjælpe dig med at evaluere de vigtigste administrerede Kubernetes-tilbud og/eller spare penge på cloud-infrastruktur ved at drage fordel af rabatter og andre muligheder.

PS fra oversætteren

Læs også på vores blog:

Kilde: www.habr.com

Tilføj en kommentar