Preisvergleich für Managed Kubernetes (2020)

Hinweis.: Der amerikanische DevOps-Ingenieur Sid Palas hat den kürzlichen Ankündigung von Google Cloud genutzt, um die Kosten für Managed Kubernetes-Dienste (in verschiedenen Konfigurationen) führender globaler Cloud-Anbieter zu vergleichen. Zusätzlich zu seiner Analyse veröffentlichte er ein entsprechendes Jupyter Notebook, mit dem die Berechnungen bei Grundkenntnissen in Python leicht angepasst werden können. : Azure und Digital Ocean berechnen keine Kosten für die Rechenressourcen, die für die Steuerungsebene (control plane) verwendet werden, was sie zu einer geeigneten Wahl für das Bereitstellen vieler kleiner Cluster macht. Für den Betrieb einer kleinen Anzahl von großen Clustern eignet sich GKE am besten. Darüber hinaus können Kosten erheblich gesenkt werden, indem Spot-/Preemptible-/Low-Priority-Knoten verwendet oder sich für eine langfristige Nutzung derselben Knoten angemeldet wird (dies gilt für alle Plattformen).

TL;DRClustergröße (Anzahl der Worker)

Preisvergleich für Managed Kubernetes (2020)
Die jüngste Ankündigung von Google Cloud

Allgemeine Informationen

über die Einführung von 10 Cent pro Stunde für den Betrieb jedes Clusters in GKE motivierte mich, eine Preisanalyse der Hauptangebote im Bereich Managed Kubernetes durchzuführen. Der Beginn der Erhebung von 10 Cent pro Stunde für jeden Cluster in GKE hat mich dazu veranlasst, die Preise der Hauptangebote im Bereich von verwaltetem Kubernetes zu analysieren.

Preisvergleich für Managed Kubernetes (2020)
Diese Ankündigung hat einige sehr enttäuscht…

Die Hauptakteure des Artikels sind:

Kostenaufstellung

Die Gesamtkosten für die Nutzung von Kubernetes auf jeder dieser Plattformen setzen sich aus folgenden Komponenten zusammen:

  • Gebühr für das Cluster-Management;
  • Lastenausgleich (für Ingress);
  • Rechenressourcen (vCPU und RAM) der Worker;
  • Egress-Traffic;
  • Persistenter Speicher;
  • Datenverarbeitung durch den Lastenverteiler.

Darüber hinaus bieten Cloud-Anbieter erhebliche Rabatte, wenn der Kunde bereit ist, vorübergehende oder niedrigpriorisierte (low-priority) Knoten zu nutzen ODER verpflichtet ist, dieselben Knoten über einen Zeitraum von 1-3 Jahren zu verwenden.

Es ist zu betonen, dass, obwohl die Kosten eine gute Grundlage für den Vergleich und die Bewertung von Dienstanbietern darstellen, auch andere Faktoren berücksichtigt werden sollten:

  • Uptime (Service Level Agreement);
  • Die umgebende Cloud-Ökosystem;
  • Verfügbare K8s-Versionen;
  • Qualität der Dokumentation/Tools.

Diese Faktoren gehen jedoch über den Rahmen dieses Artikels/dieser Untersuchung hinaus. In einem Blogbeitrag von StackRox im Februar Es werden nicht-preisliche Faktoren für EKS, AKS und GKE detailliert betrachtet.

Jupyter-Notizbuch

Um die beste Lösung zu finden, habe ich ein Jupyter-Notizbuch, das plotly + ipywidgets integriert, entwickelt. Es ermöglicht, die Angebote von Anbietern für verschiedene Clustergrößen und Dienstleistungssets zu vergleichen.

Sie können mit der Live-Version des Notizbuchs in Binder experimentieren:

Preisvergleich für Managed Kubernetes (2020)
managed-kubernetes-price-exploration.ipynb auf mybinder.org

Bitte lassen Sie mich wissen, wenn die Berechnungen oder die Ausgangspreise falsch sind (dies kann über ein Issue oder einen Pull Request auf GitHub erfolgen — hier ist das Repository).

Fazit

Leider gibt es zu viele Nuancen, um spezifischere Empfehlungen als die im TL;DR-Absatz zu geben, der ganz zu Beginn enthalten ist. Einige Schlussfolgerungen können jedoch dennoch gezogen werden:

  • Im Gegensatz zu GKE und EKS erhebt AKS und Digital Ocean keine Gebühren für die Ressourcen der Verwaltungsschicht. AKS und DO sind günstiger, wenn die Architektur viele kleine Cluster umfasst (z.B. einen Cluster pro Entwickler oder Kunde).
  • Etwas weniger teure Rechenressourcen von GKE machen es vorteilhafter, je größer die Cluster werden*.
  • Die Verwendung von verdrängbaren Knoten oder die langfristige Bindung an Knoten kann die Kosten um mehr als 50 % senken. Hinweis: Digital Ocean bietet solche Rabatte nicht an.
  • Die Gebühren für ausgehenden Traffic sind bei Google höher, aber entscheidend für die Berechnung ist die Kostenstruktur der Rechenressourcen (es sei denn, Ihr Cluster erzeugt einen signifikanten Datenverkehr).
  • Die Auswahl der Maschinenarten unter Berücksichtigung der Anforderungen an CPU und Speicher verhindert zusätzliche Gebühren für ungenutzte Ressourcen.
  • Digital Ocean verlangt weniger für vCPU und mehr für Speicher im Vergleich zu anderen Plattformen – dies kann für bestimmte Arten von Rechenlasten entscheidend sein.

* Hinweis: In der Analyse werden Daten für allgemeine Rechenknoten verwendet (general-purpose). Dies sind Exemplare von n1 GCP Compute Engine, m5 AWS EC2, virtuellen Maschinen D2v3 Azure und Droplets von DO mit dediziertem CPU. Gleichzeitig können auch Untersuchungen zu anderen Typen virtueller Maschinen (burstable, entry-level) durchgeführt werden. Auf den ersten Blick scheint die Kostenstruktur virtueller Maschinen linear vom Anzahl der vCPUs und dem Speichervolumen abzuhängen, jedoch bin ich mir nicht sicher, ob diese Annahme bei stark abweichenden Verhältnissen von Speicher und CPU weiterhin gilt.

In dem Artikel Der Ultimative Kubernetes Kostenleitfaden: AWS vs GCP vs Azure vs Digital Ocean, veröffentlicht im Jahr 2018, verwendete ein Referenz-Cluster mit 100 vCPU-Kernen und 400 GB Speicher. Zum Vergleich: Nach meinen Berechnungen würde ein ähnliches Cluster auf jeder dieser Plattformen (für On-Demand-Instanzen) folgende Kosten verursachen:

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

Ich hoffe, dass der Artikel zusammen mit dem Notizbuch Ihnen hilft, die Hauptangebote für Managed Kubernetes zu bewerten und/oder bei der Cloud-Infrastruktur mit Rabatten und anderen Möglichkeiten zu sparen.

P.S. vom Übersetzer

Lesen Sie auch in unserem Blog:

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster