Opmerking vertaler.: Amerikaanse DevOps-engineer Sid Palas, gebruikmakend van als informatiebron, heeft een vergelijking gemaakt van de kosten van de Managed Kubernetes service (in verschillende configuraties) van de toonaangevende cloudproviders ter wereld. Een extra pluspunt van zijn werk was de publicatie van de bijbehorende Jupyter Notebook, waarmee (met minimale kennis van Python) de gemaakte berekeningen kunnen worden aangepast aan eigen behoeften.
TL;DR: Azure en Digital Ocean brengen geen kosten in rekening voor de compute-resources die worden gebruikt voor de besturingslaag (control plane), wat hen een geschikte keuze maakt voor het implementeren van meerdere kleine clusters. Voor het draaien van een klein aantal grote clusters is GKE het meest geschikt. Bovendien kunnen de kosten aanzienlijk worden verlaagd door gebruik te maken van spot/preemptible/lage-prioriteit nodes of door zich te 'abonneren' op langdurig gebruik van dezelfde nodes (dit geldt voor alle platforms).

Clustermaat (aantal workers)
Algemene Informatie
over het beginnen met het in rekening brengen van 10 cent per uur voor elke cluster in GKE heeft me ertoe aangezet om de prijzen van de belangrijkste aanbiedingen op het gebied van Managed Kubernetes te analyseren.

Deze aankondiging heeft sommige mensen ernstig verontrust...
De hoofdpersonen in het artikel zijn:
- Google Kubernetes Engine (GCP) ā ;
- Elastic Kubernetes Service (AWS) ā ;
- Azure Kubernetes Service (Azure) ā ;
- Kubernetes op Digital Ocean ā .
Kostenoverzicht
De totale kosten voor het gebruik van Kubernetes op elk van deze platforms bestaan uit de volgende componenten:
- Beheerfee voor het cluster;
- Load balancing (voor Ingress);
- Compute resources (vCPU en geheugen) van de workers;
- Egress verkeer;
- Persistente opslag;
- Data verwerking door de load balancer.
Bovendien bieden cloudproviders aanzienlijke kortingen als klanten preemptible, of lage-prioriteit nodes WILT gebruiken OF zich verbindt om gedurende 1-3 jaar dezelfde nodes te gebruiken.
Het is belangrijk op te merken dat hoewel de kosten een goede basis vormen voor het vergelijken en evalueren van serviceproviders, ook andere factoren in overweging moeten worden genomen:
- Uptime (Service Level Agreement);
- De omringende cloud-ecosysteem;
- Beschikbare versies van K8s;
- Kwaliteit van documentatie/tools.
Deze factoren vallen echter buiten het bereik van dit artikel/onderzoek. In bespreekt niet-prijsfactoren voor EKS, AKS en GKE.
Jupyter-notebook
Om het eenvoudig te maken om de meest voordelige oplossing te vinden, heb ik ontwikkeld , waarbij ik plotly + ipywidgets heb gebruikt. Hiermee kunnen de aanbiedingen van providers worden vergeleken voor verschillende clusterformaten en dienstenets.
Je kunt oefenen met de live versie van het notebook in Binder:
Laat het me weten als de berekeningen of de oorspronkelijke prijzen onjuist zijn (dit kan gedaan worden met een issue of pull request op GitHub ā ).
Conclusies
Helaas zijn er te veel nuances om meer specifieke aanbevelingen te geven dan die in de TL;DR-paragraaf aan het begin zijn opgenomen. Desondanks kunnen er enkele conclusies worden getrokken:
- In tegenstelling tot GKE en EKS, brengen AKS en Digital Ocean geen kosten in rekening voor de resources van de beheerlaag. AKS en DO zijn voordeliger als de architectuur veel kleine clusters omvat (bijvoorbeeld ƩƩn cluster per ontwikkelaar of klant).
- De iets goedkopere rekenkracht van GKE maakt het voordeliger naarmate de clusterformaten toenemen*.
- Het gebruik van uitputbare knooppunten of langdurige binding aan knooppunten kan de kosten met meer dan 50% verlagen. Opmerking: Digital Ocean biedt dergelijke kortingen niet.
- De kosten voor uitgaande gegevensverkeer in Google zijn hoger, maar de bepalende factor bij de berekening is de prijs van de rekenkracht (tenzij je cluster een bron van aanzienlijke hoeveelheden uitgaand verkeer is).
- De keuze van machine types op basis van de behoeften aan CPU en geheugen van de workloads voorkomt dat je te veel betaalt voor onverbruikte resources.
- Digital Ocean vraagt minder voor vCPU en meer voor geheugen in vergelijking met andere platforms ā dit kan een doorslaggevende factor zijn voor bepaalde soorten rekenlast.
* Opmerking: in de analyse worden gegevens gebruikt voor standaard rekenknooppunten (general-purpose). Dit zijn n1 GCP Compute Engine-instanties, m5 AWS ec2, D2v3 Azure virtuele machines en DO-droplets met toegewijde CPU. Aan de andere kant kan ook onderzoek worden gedaan naar andere soorten virtuele machines (burstable, entry-level). Op het eerste gezicht lijkt de prijs van virtuele machines lineair afhankelijk van het aantal vCPU en de hoeveelheid geheugen, maar ik ben er niet zeker van dat deze veronderstelling geldig blijft voor sterk afwijkende geheugen/CPU-verhoudingen.
In dit artikel , gepubliceerd in 2018, werd een referentiecluster gebruikt met 100 vCPU-kernen en 400 GB geheugen. Ter vergelijking, volgens mijn berekeningen zou een vergelijkbaar cluster op elk van deze platforms (voor on-demand instanties) de volgende kosten met zich meebrengen:
- AKS: 51465 USD/jaar
- EKS: 43138 USD/jaar
- GKE: 30870 USD/jaar
- DO: 36131 USD/jaar
Ik hoop dat dit artikel samen met de notities u helpt om de belangrijkste aanbiedingen voor managed Kubernetes te evalueren en/of te besparen op cloudinfrastructuur door gebruik te maken van kortingen en andere mogelijkheden.
P.S. van de vertaler
Lees ook op onze blog:
- «»;
- «»;
- «»;
- «».
Bron: habr.com
