Wie wir Azure-Infrastrukturkosten halbierten und gleichzeitig Stabilität und Skalierbarkeit verbesserten. Ein Praxisbericht zur Cloud-Optimierung
Freelance Consultant, CISSP, CTO @ Shortcats
10 min read · 19.04.2025
In der Cloud kann man unendlich skalieren. Man kann aber auch unendlich Geld viel verbrennen und sich eine tickende Zeitbombe bauen. Alles begann bei einem Kunden mit einer absurd hohen Azure-Rechnung: fast eine Million Euro Jahreskosten für eine Kubernetes-Plattform (AKS) mit vier Apps in früher Entwicklung – ohne einen Endkunden. Ein irrsinniger Preis, geboren aus der Devise „Bauen, optimieren später“, typisch wenn Time-to-Market über Kostenkontrolle siegt.
Kein Einzelfall: Studien zeigen: Explodierende Cloud-Kosten sind Alltag. Viele Unternehmen zahlen ca. 35 % zu viel (Quelle: CloudComputing-Insider), oft wegen Fehlplanung, mangelnder Optimierung oder fehlendem Know-how. Bis zu 80 % kämpfen mit unerwartet hohen Kosten (Quellen: Gartner, AP-Verlag). Das Problem unseres Kunden war also symptomatisch.
Doch die Kosten waren nur die Spitze des Eisbergs. Das wahre Drama lauerte tiefer: Eine massiv überdimensionierte, komplexe Infrastruktur barg erhebliche Risiken für Stabilität und Verfügbarkeit. Fehleranfällige Deployments konnten alles lahmlegen. Diese Kosten waren ein Alarmsignal für tiefgreifende technische und organisatorische Schieflagen.
Wie also diesen Berg an Technik-Schulden und Kosten abtragen, ohne das Wachstum zu gefährden?
Dieser Beitrag zeigt unseren Weg – von Quick Wins zu tiefgreifenden Analysen und etablierten FinOps-Praktiken. Eine Reise, die zeigt: Gezielte Kostenoptimierung führt oft direkt zu höherer technischer Qualität und Stabilität.
Das Ergebnis: Cloud-Kosten halbiert, während Apps und Teams wuchsen (von 4 auf 10+), und eine Infrastruktur, die man nicht mehr in die Knie zwingen konnte.
Vor der Optimierung glich die Infrastruktur einem digitalen Dschungel, gewachsen unter der Maxime "Wachstum um jeden Preis". Eine zentrale Kubernetes-Plattform (AKS) auf Azure, verteilt über vier Umgebungen, beherbergte vier Produktteams mit internen Apps. Die Basis: rund 100 VMs für AKS-Cluster – eine beeindruckende Zahl für wenige, teils kaum genutzte Anwendungen.
Wie kam es dazu? Die Plattform entstand mit Fokus auf schnelle Entwicklung, Skalierbarkeit und Features, während Kosten ignoriert wurden. Das Motto "Großer Spielplatz, Details später" führte zu grundlegenden Problemen:
Diese Mischung aus massiver Überprovisionierung, fragwürdigen Architekturen, riskanten Shared Resources und Ignoranz gegenüber Sparpotenzialen zeigte: Hier musste grundlegend aufgeräumt werden.
Nach der Bestandsaufnahme war klar: Zeit für die Machete und die "Low-Hanging Fruits". Wir konzentrierten uns darauf, die offensichtlichste Verschwendung zu beseitigen und schnell erste Erfolge zu erzielen, um Vertrauen zu gewinnen.
Kubernetes Right-Sizing Veranschaulichung.
Das Hauptproblem war die massive Überprovisionierung der Pods (GBs an RAM, Dutzende CPU-Kerne reserviert, kaum genutzt). Statt Bauchgefühl brauchten wir Daten.
requests
und limits
. (Auch manuell via Monitoring möglich, Goldilocks bot aber schnellen Überblick).requests
/limits
) schrittweise (erst Dev/Staging), in Absprache mit den Teams, und beobachteten die Anwendungen genau auf Stabilität und Performance.Ergebnis: AKS-Nodes waren besser ausgelastet, die Gesamtzahl der Nodes sank deutlich.
Parallel nahmen wir uns die Azure-VMs vor. Die verbleibende, nun besser genutzte Grundlast der AKS-Nodes lief noch zu teuren On-Demand-Preisen.
Zwischenergebnis: Die ersten 30% sind geschafft!
Allein durch Kubernetes Right-Sizing und RIs sanken die monatlichen Azure-Kosten um rund 30%. Dieser Erfolg war wichtig: Er bewies Machbarkeit, schaffte Akzeptanz und gab Energie für die komplexeren, restlichen 70% der Kosten. Das war erst der Anfang.
Dreißig Prozent Einsparung waren ein großartiger erster Erfolg, aber die Reise war noch lange nicht zu Ende. Die verbleibenden Kosten von fast einer halben Million Euro jährlich fühlten sich für eine wachsende Plattform mit internen Anwendungen immer noch exorbitant an. Es musste also weitere, weniger offensichtliche Kostentreiber geben. Die Frage war: Wo versteckten sie sich?
Bei der Analyse der Azure-Kosten stießen wir auf eine Auffälligkeit: Die Ausgaben für Cloud-Speicher waren signifikant und erschienen unerwartet hoch. Speicherplatz selbst ist meist günstiger, also suchten wir die Ursache für das hohe Volumen.
Eine tiefere Analyse zeigte: Haupttreiber war die schiere Menge an Log- und Tracing-Daten unserer Elasticsearch/Kibana-Lösung, besonders in den Development- und Staging-Umgebungen. Ungefilterte Terabytes an Daten, oft aus Entwicklungsexperimenten, verursachten Speicher- und Transferkosten im mittleren fünfstelligen Eurobereich jährlich und belasteten das Logging-System.
Gegenmaßnahmen & Ergebnis: Wir überarbeiteten die Log-Strategien: Klare Vorgaben für Log-Level je Umgebung, angepasste Aufbewahrungsfristen und eine von Entwicklern getriebene „Community of Practice“ für bewussteres Logging waren zentral. Das reduzierte Log-Volumen senkte direkt die Kosten und entlastete das Elasticsearch-Cluster.
Parallel gingen wir die mangelnde Kostenzuordnung an. Für echtes FinOps mussten wir die Frage beantworten: "Welches Team/Produkt verursacht welche Kosten?". Nur so entstehen Verantwortlichkeit und Optimierungsanreize.
Herausforderung & Umsetzung:
Die Zuordnung war nicht trivial (Shared Resources). Wir setzten auf:
Team
, Produkt
, Umgebung
etc.), durchgesetzt via Azure Policies.Die gesammelten Daten aus Azure Cost Management, Kubecost etc. mussten nutzbar gemacht werden.
Diese zweite Phase der Detektivarbeit und radikalen Transparenz war entscheidend. Sie deckte versteckte Kostentreiber wie Logging auf und etablierte Werkzeuge für nachhaltiges Kostenmanagement. Die Grundlage für die angestrebte Kostenhalbierung war gelegt, und die Teams wurden befähigt, Verantwortung für ihre Cloud-Ausgaben zu übernehmen.
Grafana Dashboard für Kostentransparenz.
Klang nach einem glatten Plan? Weit gefehlt! Trotz guter Ergebnisse war der Weg zur Effizienz kein Sonntagsspaziergang durch die Cloud. Jede Optimierung forderte Diskussionen, Überzeugungsarbeit und das Überwinden technischer wie kultureller Blockaden.
Diese Hürden zu meistern war ebenso wichtig wie die Technik selbst. Nur im Zusammenspiel von Technik, Teams und Kultur erntet man die Früchte der Optimierung nachhaltig. Und die Ergebnisse zeigten: Der Aufwand hat sich gelohnt.
Nach intensiver Analyse und Optimierung lagen die Ergebnisse vor – beeindruckend auf dem Papier und in der Praxis.
Harte Fakten: Mission Kostenhalbierung erfüllt!
Das Ziel, die Azure-Kosten im hohen 6-stelligen Bereich zu halbieren, wurde übertroffen. Durch Right-Sizing, Reserved Instances, Log-Optimierung und Transparenz sanken die Ausgaben um mehr als die Hälfte – trotz Wachstums von vier auf über zehn Applikationen!
Unerwartete Gewinne: Mehr als nur Sparen
Der Clou: Die Optimierung entpuppte sich als kostenloses Qualitätssteigerungsprogramm.
Am Ende stand eine günstigere, bessere, stabilere und zukunftsfähigere Plattform. Kostenoptimierung war somit eine Investition in technische Exzellenz und Resilienz.
Kosten halbiert, Plattform stabil – Mission erfüllt? Nicht ganz. Erfolgreiche Optimierung ist wie ein Fitnessprogramm: Ohne Training landet man schnell wieder auf dem Sofa. FinOps ist keine einmalige Aktion, sondern eine kontinuierliche Aufgabe für den Alltag.
Wie also bleiben Erfolge von Dauer und das Kostenbewusstsein wach?
FinOps dauerhaft zu etablieren bedeutet, eine Kultur zu schaffen, in der Kosten so selbstverständlich wie Performance oder Sicherheit sind. Es braucht die richtigen Werkzeuge, klare Verantwortlichkeiten und das Thema muss präsent bleiben. Nur so wird aus einem Projekt eine nachhaltige Verbesserung, die das Unternehmen langfristig stärkt – finanziell und technisch.
Unsere Reise begann mit einem Schock: Fast 1 Mio. € Cloud-Kosten für wenige interne Apps und eine riskante Infrastruktur. Das Ergebnis: Halbierte Ausgaben, stabile Plattform, >10 zufriedene Teams. Unser Learning: Cloud-Kostenoptimierung ist oft verdeckte Qualitätssteigerung. Dem Geld folgend, deckten wir technische Schulden und ineffiziente Prozesse auf – von Memory Leaks bis Log-Tsunamis. Der Kostendruck erzwang Disziplin, bessere Architektur und smarte Lösungen.
Das Ergebnis war mehr als eine schönere Azure-Rechnung: eine robustere, effizientere Plattform für produktivere Teams. Die „unerwarteten“ Gewinne an Stabilität und Know-how waren Gold wert.
Und wie sieht es bei euch aus? Verstehen Sie Ihre Cloud-Rechnung wirklich? Finden Sie Ihre Kostentreiber – und die technischen Leichen im Keller? Hinterfragen Sie den Status Quo, schaffen Sie Transparenz! Es lohnt sich doppelt: fürs Budget und die Technik. Denn Kosten im Griff heisst meist auch: Infrastruktur im Griff.