Transparentes Cloud-Kostenmanagement bei einer IDP auf Basis von Kubernetes: So geht’s!

Veröffentlicht 31.01.2025

Philip Maus Auszubildender IT-Betriebswirt VWA d.velop AG

Beitragsbild Blogartikel Cloud Kostenmanagement

In der heutigen Zeit, in der Unternehmen und Organisationen zunehmend auf Cloud-Dienste setzen, wird das Cloud-Kostenmanagement für Anwendungen immer komplexer und wichtiger. Mit der Verbreitung von Cloud Native Infrastructure steigt die Herausforderung, Cloud-Kosten transparent darzustellen und zu optimieren.

Eine zentrale Schwierigkeit ist dabei die Zuordnung der Kosten. Während in traditionellen IT-Infrastrukturen Kosten klar zu Hard- oder Software zugewiesen werden können, teilen sich in der Cloud mehrere Anwendungen dieselben Ressourcen. Dieser zentralisierte Ansatz bietet einerseits Vorteile wie geringere Komplexität, bessere Skaleneffekte und vereinfachte Compliance, erschwert jedoch auf der anderen Seite die präzise Kostenverteilung.

Die Multi-Cloud-Infrastruktur bei d.velop

Bei der Entwicklung und Bereitstellung unserer Produkte spielt die Cloud-Infrastruktur eine zentrale Rolle. Test- und Produktivumgebungen hosten wir nach einer Multi-Cloud-Strategie bei den beiden Cloud-Providern Amazon Web Services (AWS) und Open Telekom Cloud (OTC). Dieses Modell erhöht die Skalierbarkeit sowie die Resilienz der Cloud-Infrastruktur, und wir können unmittelbar auf neue Innovationen und Angebote der verschiedenen Provider eingehen. Außerdem können wir die Betriebskosten senken, wenn wir für die verschiedenen Aufgaben den jeweils günstigsten Cloud-Dienst auswählen. Die OTC ist für uns, insbesondere wegen Kunden mit besonderen Anforderungen an den Datenschutz, relevant. Die Cloud-Plattform der Telekom arbeitet mit europäischen Rechenzentren und erfüllt damit nicht nur die Anforderungen der Europäischen-Datenschutz-Grundverordnung, sondern auch branchenspezifische Bestimmungen wie etwa in der öffentlichen Verwaltung oder im Finanzsektor.

Interne Entwicklungsplattform d.velop developer platform (DDP)

Unsere interne Entwicklungsplattform „d.velop developer platform“ (DDP) wird über AWS und in der OTC betrieben und setzt dabei auf den Industriestandard zur Containerverwaltung, Kubernetes. Mit der DDP implementieren wir eine Internal Developer Platform. Ziel dieser Plattform ist es, von den Details der Cloudanbieter (z. Zt. AWS und OTC) zu abstrahieren und unseren Entwicklungsteams Zugang zu einer standardisierten Cloudumgebung zu verschaffen.

Für ein erfolgreiches Deployment müssen unsere Entwicklungsteams nur ein Containerimage sowie eine Workloadbeschreibung per YAML-Konfigurationsdatei bereitstellen. Um alles Weitere kümmert sich dann die DDP, die die Containerimages in Kubernetes-Clustern ausführt. Eine Workloadbeschreibung kann beispielsweise so aussehen:

Beispielhafte Workloadbeschreibung

Code Darstellung Workloadbeschreibung für die d.velop developer platform

Auf diese Weise schaffen wir es, dass ein Entwicklungsteam in weniger als 5 Minuten eine App bei jedem von der DDP unterstützten Cloudanbieter bereitstellen und betreiben kann.


Auf diese Weise schaffen wir es, dass ein Entwicklungsteam in weniger als 5 Minuten eine App bei jedem von der DDP unterstützten Cloudanbieter bereitstellen und betreiben kann.

Kostenmanagement mit OpenCost

Ohne eine detaillierte Aufschlüsselung der Kosten können die Vorteile einer solchen Multi-Cloud-Strategie allerdings kaum ihren Nutzen entfalten. Die Cloud-Provider liefern hier zwar bereits Daten, wie sich die Cloud-Kosten auf verschiedene Ressourcen wie Datenbanken, Netzwerknutzung und Speicherplatz verteilen. Damit können wir aber nicht die Frage beantworten, wie sich die Kosten auf die von d.velop betriebenen Cloud-Apps aufteilen, die diese Ressourcen in Anspruch nehmen. An dieser Stelle kommt bei uns das nützliche Werkzeug OpenCost zum Einsatz.

Definition OpenCost

OpenCost ist eine Open-Source-Weiterentwicklung des Monitoring-Tools Kubecost. Es ermöglicht, die Nutzung von Cloud-Ressourcen in einem Kubernetes-Cluster in Echtzeit zu überwachen und die daraus hervorgehenden Kosten zu berechnen und präzise zuzuordnen.

OpenCost arbeitet, indem es Metriken aus einem Kubernetes-Cluster sammelt und wird dabei selbst in einem Container im Cluster betrieben. In Kombination mit den Preisinformationen des Cloud-Providers, die per API bezogen werden, können die entstehenden Kosten berechnet und präzise einzelnen Containern zugeordnet werden. Bisher war OpenCost nur mit den gängigsten Cloud-Providern wie AWS kompatibel.

Erfolgreiche Implementierung und Integration der OTC-Unterstützung in OpenCost

Da nicht absehbar war, ob und wann eine Unterstützung für die OTC in OpenCost erfolgen würde, haben wir uns intensiv in das Open-Source-Projekt eingearbeitet und die erforderliche Unterstützung im Go-Quellcode des Projekts selbst implementiert. Unsere Ergänzungen zur Preisberechnung in der OTC haben wir dann per Pull Request als Contribution für das offizielle Projekt zur Verfügung gestellt, sodass auch andere User hiervon profitieren können. Die Änderungen wurden dankend durch die Maintainer angenommen und in die Hauptversion von OpenCost übernommen.

Kennzahlen und Dashboards sorgen für Transparenz im Cloud-Kostenmanagement

Die weiteren Open-Source-Anwendungen Prometheus und Grafana nutzen wir, um mit den von OpenCost berechneten Kostendaten spezifische Fragestellungen zu beantworten:

  • Welche Cloud-Kosten werden von einer bestimmten App verursacht?
  • Wie hoch sind die Kosten pro Endnutzer?
  • Und wie sieht die prognostizierte Kostenstruktur in einem Jahr aus?

Dank der Kostenermittlung auf Containerebene liefert OpenCost die hierfür notwendigen Daten. Um die Kosten der Cloud-Infrastruktur bei d.velop transparent zu machen, haben wir ein Grafana-Dashboard entwickelt. Damit können wir nun die Kosten des gesamten Clusters oder einzelner Namespaces und Container analysieren. Anhand dieser Aufschlüsselung lassen sich die in der Cloud betriebenen d.velop-Apps und -Microservices differenziert betrachten.

Dashboard zur Betrachtung des Cloud-Kostenmanagements

Dashbaord zum Monitoring des Cloud-Kostenmanagement bei d.velop

Fazit: Effektives Cloud-Kostenmanagement bei d.velop ist nun möglich

Mit unserer Open-Source-Contribution zu OpenCost ermöglichen wir es, ein effektives Cloud-Kostenmanagement bei d.velop aufzubauen, da nicht nur in AWS, sondern auch in der OTC die Kosten detailliert überwacht werden können. Damit helfen wir dabei, gemeinsam die wachsenden Herausforderungen, die komplexe, skalierbare Cloud-Umgebungen mit sich bringen, zu bewältigen. Mit diesem Werkzeug können wir die Vorteile einer Multi-Cloud-Strategie wie Kosteneffizienz, Skalierbarkeit und den Einsatz innovativer Technologien optimal für uns nutzen.

Dein Job in der Entwicklung bei d.velop
wartet auf Dich!

Entwickeln ist bei uns nicht einfach nur ein Job, sondern eine Leidenschaft. Wir stehen hinter unserem Code, den wir zusammen mit über 200 Personen in unseren agilen, crossfunktionalen Teams in der Entwicklung schaffen.