26.02.2025
Cloud-Kosten senken ohne Kompromisse bei der Performance
Kostenoptimierung eines Azure Kubernetes Clusters
Cloud-Ressourcen sind mächtig und praktisch, aber teuer – besonders Kubernetes-Cluster. In diesem Blogpost zeigen wir, wie wir in einem Bestandsprojekt die Azure Kubernetes Service Kostenoptimierung erfolgreich umgesetzt haben. Dabei stellen wir Strategien, Tools und Best Practices vor, die geholfen haben, AKS Kosten zu reduzieren, ohne die Performance zu beeinträchtigen.
Inhaltsverzeichnis
Ausgangslage
Das Projekt wird vollständig in der Azure Cloud betrieben und nutzt zwei AKS Kubernetes Cluster: ein Staging- und ein Produktiv-System. Diese generieren Cloud-Ressourcen wie virtuelle Maschinen, Festplatten, Load Balancer und IP-Adressen.
Zusätzlich kommen diverse Azure-Services zum Einsatz, darunter eine Managed Database, Storage für Media-Daten und eine Redis-Instanz. Vor der Optimierung lagen die Kosten bei ca. 100 € pro Tag.
Analyse mit Azure Cost Management
Der erste Schritt zur Kubernetes Cluster Kostenmanagement war eine Analyse mit Azure Cost Management für Kubernetes. Das Tool bietet detaillierte Einblicke, welche Services wie viel kosten - ein sehr guten Anhaltspunkt, bei welchen Services es lohnend sein kann genauer hinzuschauen.
Direkt fiel uns eine abgeschaltete, aber noch existierende VM auf. Diese hat zwar wenig Kosten verursacht, war aber dennoch unnötig und konnte entfernt werden.
Die größten Kostentreiber waren jedoch die virtuellen Maschinen – insbesondere die Node Pools der beiden AKS Cluster. Ein detaillierter Blick auf die Kubernetes Ressourcenoptimierung zeigte, dass die Anzahl der Nodes nicht optimal auf den tatsächlichen Bedarf abgestimmt war. Auch hier unterstützt Azure – nämlich mit einem Monitoring der CPU- und der Memory-Auslastung.
Auch Azure Log Analytics erwies sich als unerwartet hoher Kostenpunkt. Dieser war für den Production Cluster konfiguriert. Sämtliche Logs der Kubernetes-Ressourcen wurden langfristig gespeichert, ohne aktiv genutzt zu werden.
Getroffene Maßnahmen
Node Pools optimieren
Basierend auf diesen Erkenntnissen haben wir eine Reihe gezielter Optimierungsmaßnahmen umgesetzt.
- Der Staging-Cluster wurde von 3 auf 1-3 Nodes umgestellt – mit Auto-Scaling. Damit laufen in der Regel nur noch 2 Nodes.
- Der Production-Cluster nutzt zwei Nodepools: System-Mode (fix auf 2 Nodes) und User-Mode (Auto-Scaling auf 1-6 Nodes). Das spart Ressourcen und passt sich dynamisch der Last an.
Virtuelle Maschinen anpassen
Eine zu groß dimensionierte VM für die Managed Database wurde verkleinert. Dank Azure Cost Management für Kubernetes war klar, dass die vorhandene Rechenleistung überdimensioniert war. Die Umstellung erfolgte reibungslos und kann jederzeit rückgängig gemacht werden, falls der Bedarf steigt.
Log Analytics deaktivieren
Die hohen Kosten von Azure Log Analytics standen in keinem Verhältnis zur tatsächlichen Nutzung. Die Deaktivierung führte zu einer erheblichen Einsparung, die sich erst nach einigen Wochen vollständig bemerkbar machte, da Logs bis zu 90 Tage gespeichert wurden.
Unnötige Ressourcen entfernen
Eine ungenutzte VM eines alten GitLab Runners wurde gelöscht. Zwar verursachte sie nur ca. 10 € pro Monat, aber solche "vergessenen" Ressourcen summieren sich über die Zeit.
Betriebszeiten mit KEDA optimieren
Beide AKS Cluster werden nur werktags während der Arbeitszeiten benötigt. Mittels KEDA Auto-Scaling wurden Betriebszeiten definiert, sodass Anwendungen außerhalb dieser Zeiten automatisch herunterskaliert werden. Dies senkt die AKS Kosten zusätzlich, da weniger Nodes aktiv sind.
Ergebnis: Über 50% Kostenreduktion
Es hat eine gewisse Zeit gedauert, bis das volle Ausmaß der Kostenersparnis ersichtlich war. Aber die Optimierungsmaßnahmen haben sich gelohnt. Die Betriebskosten sanken von ca. 100 € auf 45 € pro Tag – eine Einsparung von mehr als 50%!
Einige Maßnahmen, wie der Node-Autoscaler, hätten früher umgesetzt werden können. Andere, wie das Kubernetes Cluster Kostenmanagement durch Betriebszeiten-Optimierung, erforderten mehr Planung, zahlen sich aber langfristig aus.
Lessons Learned
✔ Regelmäßige Kostenanalyse lohnt sich – ohne sie hätten wir unnötige Ressourcen nicht entdeckt.
✔ Auto-Scaling konsequent nutzen – feste Node-Größen ist oft ineffizient.
✔ Logging hinterfragen – nicht jeder Log-Service ist notwendig oder wirtschaftlich.
Mehr über Kubernetes & Kostenoptimierung erfahren?
Erfahre mehr über unsere Kubernetes-EntwicklungsdiensteHäufige Fragen
1. Wie kann ich die Kosten meines Azure Kubernetes Clusters senken?
Du kannst die AKS Kosten reduzieren, indem du Auto-Scaling aktivierst, ungenutzte Ressourcen entfernst, Log-Services optimierst und Betriebszeiten mit KEDA anpasst.
2. Welche Tools helfen bei der Azure Kubernetes Kostenoptimierung?
Das Azure Cost Management für Kubernetes bietet detaillierte Analysen. Zusätzlich helfen der Kubernetes Autoscaler und KEDA beim dynamischen Skalieren der Nodes.
3. Warum ist Auto-Scaling wichtig für die Kostenoptimierung in AKS?
Auto-Scaling passt die Anzahl der Nodes an den tatsächlichen Bedarf an und verhindert Überprovisionierung – eine effektive Maßnahme zur Kubernetes Ressourcenoptimierung.
4. Wie wirkt sich die Deaktivierung von Azure Log Analytics auf die Kosten aus?
Log Analytics kann hohe laufende Kosten verursachen. Falls du die Logs nicht aktiv nutzt, kann die Deaktivierung zu einer deutlichen Einsparung führen.
5. Gibt es eine Möglichkeit, Kubernetes Cluster außerhalb der Arbeitszeiten zu reduzieren?
Ja! Mit KEDA Auto-Scaling kannst du deine Cluster außerhalb der Geschäftszeiten automatisch herunterskalieren und so Kosten sparen.
6. Wie oft sollte ich mein Azure Kubernetes Kostenmanagement überprüfen?
Eine monatliche Analyse mit Azure Cost Management hilft, ineffiziente Ressourcen frühzeitig zu erkennen und Kosten langfristig zu senken.
7. Welche Node-Pool-Strategie ist am kosteneffizientesten für AKS?
Eine Kombination aus System-Mode- und User-Mode-Pools mit Auto-Scaling ist ideal. System-Mode sollte stabil bleiben, während User-Mode dynamisch skaliert.
8. Wann lohnt sich die Nutzung von Spot-Instances in AKS?
Spot-Instances sind günstiger, aber nicht immer verfügbar. Sie eignen sich für nicht-kritische Workloads mit flexiblem Ausführungszeitpunkt.
9. Kann ich Kosten sparen, indem ich auf einen anderen Cloud-Anbieter wechsle?
Ja, Azure ist nicht immer die günstigste Option. Es lohnt sich, Alternativen wie Linode oder Hetzner zu prüfen, falls deine Anforderungen es erlauben.
Hast du noch Fragen oder eine Meinung? Mit deinem GitHub Account kannst Du es uns wissen lassen...
Hier sind ein paar Artikel, die du auch interessant finden könntest:
Was unsere Kunden über uns sagen
- Ofa Bamberg GmbHB2B Online-Shop | B2C Website | Hosting | Betreuung | Security© Ofa Bamberg GmbH
- Ludwig-Maximilians-Universität MünchenPlattformentwicklung | Hosting | Betreuung | APIs | Website
Blueshoe hat unsere Forschungsdatenplattform Munich Media Monitoring (M3) entwickelt und uns hervorragend dabei beraten. Das Team hat unsere Anforderungen genau verstanden und sich aktiv in die Ausgestaltung der Software und der Betriebsumgebung eingebracht. Wir sind froh, dass auch Wartung und weiterführender Support in Blueshoes Händen liegen.
- Deutsches MuseumDigitalisierung | Beratung | Datenbank-Optimierung | GraphQL | CMSFoto: Anne Göttlicher
Im Rahmen eines komplexen Digitalisierungsprojekts für unsere Exponate-Datenbank war Blueshoe ein äußerst verlässlicher Partner. Sie haben uns nicht nur während des gesamten Projekts hervorragend beraten, sondern unsere Anforderungen perfekt umgesetzt. Dank ihrer Arbeit ist unsere Datenbank nun ein bedeutender Mehrwert für die weltweite wissenschaftliche Forschung.
- Fonds Finanz Maklerservice GmbHPlattformentwicklung | Prozess-Systeme | Hosting | Betreuung | Zertifikate | Website© Fonds Finanz Maklerservice GmbH
Blueshoe ist unsere verlängerte Werkbank für Entwicklung, Wartung und Support unserer Weiterbildungs- und Zertifizierungsplattformen. Das Team hat sich gründlich in unsere Abläufe eingearbeitet, und wir freuen uns, Blueshoe als zuverlässigen Partner an unserer Seite zu haben.
- Technische Universität HamburgPlattformentwicklung | Beratung | Prozess-Systeme | Hosting | Website
Seit 2019 unterstützt uns die Blueshoe GmbH tatkräftig bei der Entwicklung und Weiterentwicklung des "Digital Learning Lab" und der "Digital Learning Tools". Dank ihrer Beratung konnten wir von Anfang an auf eine zukunftssichere, moderne technische Struktur setzen. Die Zusammenarbeit ist reibungslos, und wir fühlen uns rundum gut betreut. Und davon profitieren dann auch die Lehrkräfte in Hamburg.