Kostenvergelijking op beheerde Kubernetes (2020)

Opmerking. vert.: Amerikaanse DevOps-ingenieur Sid Palas, met behulp van recente aankondiging van Google Cloud Als informatiegids heb ik de kosten van de Managed Kubernetes-service (in verschillende configuraties) van 's werelds toonaangevende cloudproviders vergeleken. Een bijkomend voordeel van zijn werk was de publicatie van het bijbehorende Jupyter Notebook, waarmee u (met minimale kennis van Python) de uitgevoerde berekeningen kunt aanpassen aan uw behoeften.

TL; DR: Azure en Digital Ocean brengen geen kosten in rekening voor rekenbronnen die worden gebruikt voor het besturingsvlak, waardoor ze een goede keuze zijn voor de implementatie van veel kleine clusters. Voor het uitvoeren van een klein aantal grote clusters is GKE het meest geschikt. Bovendien kunt u de kosten aanzienlijk verlagen door gebruik te maken van spot-/preventieve/lage-prioriteitsknooppunten of door u te ‘abonneren’ op langdurig gebruik van dezelfde knooppunten (dit geldt voor alle platforms).

Kostenvergelijking op beheerde Kubernetes (2020)
Clustergrootte (aantal werknemers)

Overzicht

Recente Google Cloud-aankondiging De aankondiging van GKE om voor elk clusteruur 10 cent per clusteruur in rekening te brengen, was voor mij de aanleiding om de prijzen van grote beheerde Kubernetes-aanbiedingen te gaan analyseren.

Kostenvergelijking op beheerde Kubernetes (2020)
Deze aankondiging heeft sommigen enorm van streek gemaakt...

De hoofdpersonen van het artikel zijn:

Kostenverdeling

De totale kosten voor het gebruik van Kubernetes op elk van deze platforms bestaan ​​uit de volgende componenten:

  • Clusterbeheervergoeding;
  • Taakverdeling (voor Ingress);
  • Computerbronnen (vCPU en geheugen) van werknemers;
  • Uitgaand verkeer;
  • Permanente opslag;
  • Gegevensverwerking door load balancer.

Bovendien bieden cloudproviders aanzienlijke kortingen als de klant verwijderbaar wil/kan gebruiken plek of knooppunten met lage prioriteit OF verbindt zich ertoe dezelfde knooppunten gedurende 1-3 jaar te gebruiken.

Het is de moeite waard te benadrukken dat hoewel de kosten een goede basis vormen voor het vergelijken en evalueren van dienstverleners, er ook andere factoren in aanmerking moeten worden genomen:

  • Uptime (Service Level Agreement);
  • Het omringende cloud-ecosysteem;
  • Beschikbare versies van K8's;
  • Kwaliteit van documentatie/toolkit.

Deze factoren vallen echter buiten het bestek van dit artikel/onderzoek. IN Februaripost op de StackRox-blog Niet-prijsfactoren voor EKS, AKS en GKE worden in detail besproken.

Jupyter-notitieboekje

Om het makkelijker te maken om de meest winstgevende oplossing te vinden, heb ik ontwikkeld Jupyter-notitieboekje, met daarin plotly + ipywidgets. Hiermee kunt u aanbiedersaanbiedingen vergelijken voor verschillende clustergroottes en servicesets.

Je kunt oefenen met een live versie van het notitieblok in Binder:

Kostenvergelijking op beheerde Kubernetes (2020)
managed-kubernetes-price-exploration.ipynb op mybinder.org

Laat het me weten als de berekeningen of oorspronkelijke prijzen onjuist zijn (dit kan gedaan worden via een issue of pull request op GitHub - hier is de opslagplaats).

Bevindingen

Helaas zijn er te veel nuances om specifiekere aanbevelingen te doen dan die in de TL;DR-paragraaf helemaal aan het begin. Er kunnen echter nog steeds enkele conclusies worden getrokken:

  • In tegenstelling tot GKE en EKS brengen AKS en Digital Ocean geen kosten in rekening voor controlelaagbronnen. AKS en DO zijn winstgevender als de architectuur veel kleine clusters bevat (bijvoorbeeld één cluster per cluster). elke ontwikkelaar of elke klant).
  • De iets goedkopere rekenbronnen van GKE maken het winstgevender naarmate de clustergrootte groter wordt*.
  • Het gebruik van verwijderbare knooppunten of knooppuntaffiniteit op lange termijn kan de kosten met meer dan 50% verlagen. Let op: Digital Ocean biedt deze kortingen niet aan.
  • De uitgaande kosten van Google zijn hoger, maar de kosten van computerbronnen zijn een bepalende factor in de berekening (tenzij uw cluster een aanzienlijke hoeveelheid uitgaande gegevens genereert).
  • Door machinetypen te selecteren op basis van de CPU- en geheugenbehoeften van uw workloads voorkomt u dat u extra moet betalen voor ongebruikte bronnen.
  • Digital Ocean brengt minder kosten in rekening voor vCPU en meer voor geheugen in vergelijking met andere platforms. Dit kan een doorslaggevende factor zijn voor sommige soorten computerwerklasten.

*Opmerking: Analyse gebruikt gegevens voor rekenknooppunten voor algemene doeleinden (algemeen gebruik). Dit zijn n1 GCP Compute Engine-instanties, m5 AWS ec2-instanties, D2v3 Azure virtuele machines en DO-droplets met speciale CPU's. Het is op zijn beurt mogelijk om onderzoek te doen naar andere soorten virtuele machines (burstable, instapniveau). Op het eerste gezicht hangen de kosten van virtuele machines lineair af van het aantal vCPU's en de hoeveelheid geheugen, maar ik ben er niet zeker van dat deze veronderstelling opgaat voor zeer afwijkende geheugen/CPU-verhoudingen.

In het artikel De ultieme kostengids voor Kubernetes: AWS versus GCP versus Azure versus Digital Ocean, gepubliceerd in 2018, gebruikte een referentiecluster met 100 vCPU-kernen en 400 GB geheugen. Ter vergelijking: volgens mijn berekeningen kost een vergelijkbaar cluster op elk van deze platforms (voor on-demand-instanties) het volgende bedrag:

  • AKS: 51465 USD/jaar
  • EKS: 43138 USD/jaar
  • GKE: 30870 USD/jaar
  • DOEN: 36131 USD/jaar

Ik hoop dat dit artikel, samen met de notebook, u zal helpen de belangrijkste beheerde Kubernetes-aanbiedingen te evalueren en/of geld te besparen op de cloudinfrastructuur door te profiteren van kortingen en andere mogelijkheden.

PS van vertaler

Lees ook op onze blog:

Bron: www.habr.com

Voeg een reactie