Bem. overs.: Den amerikanske DevOps-ingeniør Sid Palas, ved hjælp af , gennemførte en sammenligning af omkostningerne ved Managed Kubernetes-tjenester (i forskellige konfigurationer) fra førende globale cloud-udbydere. En yderligere fordel ved hans arbejde var udgivelsen af en tilsvarende Jupyter Notebook, der gør det muligt at (med minimalt kendskab til Python) justere de genererede beregninger til egne behov.
TL;DR: Azure og Digital Ocean opkræver ikke gebyrer for de beregningsressourcer, der bruges til kontrolplanet, hvilket gør dem til et passende valg for udrulning af mange små klynger. Til at køre et lille antal store klynger er GKE bedst egnet. Derudover er det muligt at reducere omkostningerne betydeligt ved at bruge preemptible/spottede/low-priority noder eller ved at 'abonnere' på langvarig brug af de samme noder (dette gælder for alle platforme).

Klynge størrelse (antal worker’-noder)
Generel information
om at begynde at opkræve 10 cent pr. time for hver klynge i GKE fik mig til at analysere priserne på de vigtigste tilbud inden for Managed Kubernetes.

Denne meddelelse har stærkt forstyrret nogle…
Hovedpersonerne i artiklen er:
- Google Kubernetes Engine (GCP) – ;
- Elastic Kubernetes Service (AWS) – ;
- Azure Kubernetes Service (Azure) – ;
- Kubernetes på Digital Ocean – .
Omkostningsopdeling
De samlede omkostninger ved at bruge Kubernetes på hver af disse platforme består af følgende komponenter:
- Gebyr for klyngeadministration;
- Lastbalancering (til Ingress);
- Beregningressourcer (vCPU og hukommelse) til worker’ne;
- Egress-trafik;
- Vedholdende lagring;
- Datantering ved hjælp af load balancer.
Derudover tilbyder cloud-udbydere betydelige rabatter, hvis en kunde ønsker/kan bruge preemptible, eller low-priority noder ELLER forpligter sig til at bruge de samme noder i 1-3 år.
Det skal understreges, at selvom omkostningerne er et godt grundlag for sammenligning og evaluering af tjenesteudbydere, skal der tages højde for andre faktorer:
- Oppetid (Service Level Agreement);
- Den omkringliggende cloud-økosystem;
- Tilgængelige versioner af K8s;
- Kvaliteten af dokumentationen/værktøjerne.
Disse faktorer går dog ud over omfanget af denne artikel/undersøgelse. I Ikke-priskriterier for EKS, AKS og GKE gennemgås i detaljer.
Jupyter Notebook
For at gøre det lettere at finde den mest rentable løsning har jeg udviklet , der bruger plotly + ipywidgets. Det giver mulighed for at sammenligne udbyderes tilbud for forskellige størrelser på klynger og servicemuligheder.
Du kan øve dig med den live version af notebooken i Binder:
Lad mig vide, hvis beregningerne eller de oprindelige priser er forkerte (dette kan gøres ved hjælp af et issue eller pull-request på GitHub — ).
Konklusioner
Desværre er der for mange nuancer til at give mere konkrete anbefalinger end dem, der er inkluderet i TL;DR-afsnittet i begyndelsen. Nogle konklusioner kan dog stadig drages:
- I modsætning til GKE og EKS opkræver AKS og Digital Ocean ikke for ressourcerne i kontrolplanen. AKS og DO er mere fordelagtige, hvis arkitekturen inkluderer mange små klynger (f.eks. én klynge per udvikler eller kunde).
- De lidt billigere beregningsressourcer i GKE gør det mere rentabelt, jo større klyngerne bliver*.
- Brug af udskiftelige noder eller langsigtet binding til noder kan reducere omkostningerne med mere end 50%. Bemærk: Digital Ocean har ikke sådanne rabatter.
- Omkostningerne ved udgående trafik i Google er højere, men den afgørende faktor i beregningen er omkostningerne til beregningsressourcer (medmindre din klynge ikke genererer betydelige mængder udgående data).
- Valg af maskintyper baseret på arbejdsbyrdernes behov for CPU og hukommelse kan hjælpe med at undgå unødvendige omkostninger for ubenyttede 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 belastninger.
* Bemærk: data for generelle beregningsnoder (general-purpose) bruges i analysen. (general-purpose). Det er n1 GCP Compute Engine, m5 AWS ec2, virtuelle maskiner D2v3 Azure og DO-dropletter med dedikerede CPU'er. På den anden side kan der også foretages undersøgelser blandt andre typer virtuelle maskiner (burstable, entry-level). Ved første øjekast ser det ud til, at omkostningerne ved virtuelle maskiner er lineært afhængige af antallet af vCPU'er og mængden af hukommelse, men jeg er ikke sikker på, at denne antagelse vil være gyldig for stærkt ukonventionelle forhold mellem hukommelse/CPU.
I artiklen , offentliggjort i 2018, blev der brugt en referencekluster med 100 vCPU-kerner og 400 GB hukommelse. Til sammenligning, ifølge mine beregninger, vil et lignende kluster på hver af disse platforme (for on-demand-forekomster) 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 artiklen sammen med noten vil hjælpe dig med at vurdere de primære tilbud på managed Kubernetes og/eller spare penge på cloud-infrastruktur ved at udnytte rabatter og andre muligheder.
P.S. fra oversætteren
Læs også på vores blog:
- «»;
- «»;
- «»;
- «».
Kilde: habr.com
