Kostenvergleich für verwaltete Kubernetes (2020)

Notiz. übersetzen: Der amerikanische DevOps-Ingenieur Sid Palas verwendet aktuelle Ankündigung von Google Cloud Zur Information habe ich die Kosten des Managed Kubernetes-Dienstes (in verschiedenen Konfigurationen) der weltweit führenden Cloud-Anbieter verglichen. Ein zusätzlicher Vorteil seiner Arbeit war die Veröffentlichung des entsprechenden Jupyter-Notebooks, das es (mit minimalen Python-Kenntnissen) ermöglicht, die durchgeführten Berechnungen an Ihre Bedürfnisse anzupassen.

TL; DR: Azure und Digital Ocean erheben keine Gebühren für die für die Steuerungsebene verwendeten Rechenressourcen, was sie zu einer guten Wahl für die Bereitstellung vieler kleiner Cluster macht. Für den Betrieb einer kleinen Anzahl großer Cluster ist GKE am besten geeignet. Darüber hinaus können Sie die Kosten erheblich senken, indem Sie Spot-/Preemptive-/Niedrigprioritätsknoten verwenden oder die langfristige Nutzung derselben Knoten „abonnieren“ (dies gilt für alle Plattformen).

Kostenvergleich für verwaltete Kubernetes (2020)
Clustergröße (Anzahl der Arbeiter)

Übersicht

Aktuelle Google Cloud-Ankündigung Die Ankündigung von GKE, für jede Cluster-Stunde 10 Cent pro Cluster-Stunde zu berechnen, veranlasste mich, mit der Preisanalyse der wichtigsten verwalteten Kubernetes-Angebote zu beginnen.

Kostenvergleich für verwaltete Kubernetes (2020)
Diese Ankündigung hat einige sehr verärgert...

Die Hauptfiguren des Artikels sind:

Kostenaufschlüsselung

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

  • Cluster-Management-Gebühr;
  • Lastausgleich (für Ingress);
  • Rechenressourcen (vCPU und Speicher) der Arbeiter;
  • Ausgehender Datenverkehr;
  • Permanente Speicherung;
  • Datenverarbeitung durch Load Balancer.

Darüber hinaus bieten Cloud-Anbieter erhebliche Rabatte an, wenn der Kunde Preemptible nutzen möchte/kann Stelle oder Knoten mit niedriger Priorität ODER verpflichtet sich, die gleichen Knoten 1-3 Jahre lang zu nutzen.

Es ist hervorzuheben, dass die Kosten zwar eine gute Grundlage für den Vergleich und die Bewertung von Dienstleistern sind, jedoch auch andere Faktoren berücksichtigt werden sollten:

  • Betriebszeit (Service Level Agreement);
  • Das umgebende Cloud-Ökosystem;
  • Verfügbare Versionen von K8s;
  • Qualität der Dokumentation/des Toolkits.

Diese Faktoren gehen jedoch über den Rahmen dieses Artikels/dieser Studie hinaus. IN Februar-Beitrag im StackRox-Blog Nichtpreisfaktoren für EKS, AKS und GKE werden ausführlich besprochen.

Jupyter-Notizbuch

Um es einfacher zu machen, die profitabelste Lösung zu finden, habe ich entwickelt Jupyter-Notizbuch, mit plotly + ipywidgets darin. Es ermöglicht Ihnen, Anbieterangebote für verschiedene Clustergrößen und Service-Sets zu vergleichen.

Sie können mit einer Live-Version des Notizblocks in Binder üben:

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

Lassen Sie mich wissen, wenn die Berechnungen oder die ursprünglichen Preise falsch sind (dies kann über einen Issue- oder Pull-Request auf GitHub erfolgen – Hier ist das Repository).

Befund

Leider gibt es zu viele Nuancen, um spezifischere Empfehlungen zu geben als die, die im TL;DR-Absatz ganz am Anfang enthalten sind. Dennoch lassen sich einige Schlussfolgerungen ziehen:

  • Im Gegensatz zu GKE und EKS erheben AKS und Digital Ocean keine Gebühren für Ressourcen der Kontrollschicht. AKS und DO sind profitabler, wenn die Architektur viele kleine Cluster umfasst (z. B. einen Cluster pro jeder Entwickler oder jeder Kunde).
  • Die etwas günstigeren Rechenressourcen von GKE machen es mit zunehmender Clustergröße* profitabler.
  • Durch den Einsatz präemptiver Knoten oder einer langfristigen Knotenaffinität können die Kosten um mehr als 50 % gesenkt werden. Hinweis: Digital Ocean bietet diese Rabatte nicht an.
  • Die ausgehenden Gebühren von Google sind höher, aber die Kosten für Rechenressourcen sind ein entscheidender Faktor bei der Berechnung (es sei denn, Ihr Cluster generiert eine erhebliche Menge an ausgehenden Daten).
  • Durch die Auswahl von Maschinentypen basierend auf den CPU- und Speicheranforderungen Ihrer Workloads können Sie zusätzliche Kosten für ungenutzte Ressourcen vermeiden.
  • Im Vergleich zu anderen Plattformen berechnet Digital Ocean weniger für vCPU und mehr für Arbeitsspeicher – dies kann für einige Arten von Rechenlasten ein entscheidender Faktor sein.

*Hinweis: Analysis verwendet Daten für allgemeine Rechenknoten (allgemeiner Zweck). Dabei handelt es sich um n1 GCP Compute Engine-Instanzen, m5 AWS ec2-Instanzen, D2v3 Azure Virtual Machines und DO-Droplets mit dedizierten CPUs. Im Gegenzug ist es möglich, Untersuchungen unter anderen Arten virtueller Maschinen (Burst-Maschine, Einsteiger-Maschine) durchzuführen. Auf den ersten Blick hängen die Kosten virtueller Maschinen linear von der Anzahl der vCPUs und der Speichermenge ab. Ich bin mir jedoch nicht sicher, ob diese Annahme für stark vom Standard abweichende Speicher-/CPU-Verhältnisse zutrifft.

Artikel Der ultimative Kubernetes-Kostenleitfaden: AWS vs. GCP vs. Azure vs. Digital Ocean, veröffentlicht im Jahr 2018, verwendete einen Referenzcluster mit 100 vCPU-Kernen und 400 GB Arbeitsspeicher. Zum Vergleich: Nach meinen Berechnungen kostet ein ähnlicher Cluster auf jeder dieser Plattformen (für On-Demand-Instanzen) den folgenden Betrag:

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

Ich hoffe, dass dieser Artikel zusammen mit dem Notebook Ihnen dabei hilft, die wichtigsten verwalteten Kubernetes-Angebote zu bewerten und/oder Geld bei der Cloud-Infrastruktur zu sparen, indem Sie Rabatte und andere Möglichkeiten nutzen.

PS vom Übersetzer

Lesen Sie auch auf unserem Blog:

Source: habr.com

Kommentar hinzufügen