Wie wir die Azure-Rechnung eines Kunden um 40% gesenkt haben: Eine praxisnahe Fallstudie zur Kostenoptimierung
Eine detaillierte Darstellung, wie CC Conceptualise die Azure-Ausgaben eines Enterprise-Kunden durch systematische Analyse, Quick Wins und Architekturoptimierung um 40% reduziert hat.
Jede Enterprise-Azure-Umgebung hat Verschwendung. Die Frage ist, wie viel und wo. In dieser Fallstudie beschreiben wir ein reales Engagement, bei dem wir die Azure-Ausgaben eines Kunden von ungefähr 82.000 EUR/Monat auf 49.000 EUR/Monat reduziert haben — eine Reduktion von 40% — ohne Leistung oder Zuverlässigkeit zu beeinträchtigen.
Die Kundendetails sind anonymisiert, aber die Zahlen, der Ansatz und der Zeitplan sind authentisch. So funktioniert systematische Kostenoptimierung in der Praxis.
Das Kundenprofil
Branche: Mittelständisches Fertigungsunternehmen mit digitalen Betriebsprozessen Azure-Footprint: ~300 Ressourcen über 8 Subscriptions Monatliche Azure-Ausgaben: ~82.000 EUR (mit einem Aufwärtstrend von ~5% pro Monat) Team: 12-köpfige IT-Abteilung, 4 davon mit Azure-Verantwortung Schmerzpunkt: Azure-Kosten hatten sich in 18 Monaten nahezu verdoppelt, ohne dass das Workload-Volumen entsprechend gestiegen wäre
Der Kunde hatte Azure organisch eingeführt. Verschiedene Teams provisionierten Ressourcen nach Bedarf, es gab keine zentralisierte Governance, und niemand hatte ein klares Bild davon, was lief und warum.
Optimierungsphasen
Phase 1: Discovery (Woche 1-2)
Wir begannen mit einem umfassenden Inventar und einer Kostenanalyse. Das Ziel war zu verstehen, wohin jeder Euro fließt, bevor wir Änderungen empfehlen.
Eingesetzte Tools
- Azure Cost Management: 12-monatige Kostentrendanalyse nach Subscription, Resource Group, Ressourcentyp und Meter
- Azure Advisor: Alle Kostenempfehlungen über alle Subscriptions
- Azure Resource Graph: Custom Queries für Ressourceninventar, Konfiguration und Auslastung
- Custom Scripts: PowerShell-basierte Auslastungsanalyse, die 30-Tage-Metriken für alle VMs und Datenbanken abruft
Was wir festgestellt haben
Die initiale Kostenaufschlüsselung nach Kategorie:
| Kategorie | Monatliche Kosten | % vom Gesamtbetrag |
|---|---|---|
| Virtual Machines (IaaS) | 38.500 EUR | 47% |
| Azure SQL / Datenbanken | 14.800 EUR | 18% |
| Storage (Blob, Disk, Files) | 8.200 EUR | 10% |
| Networking (VPN, ExpressRoute, LB) | 6.600 EUR | 8% |
| App Services / Functions | 5.400 EUR | 7% |
| Kubernetes (AKS) | 4.100 EUR | 5% |
| Sonstiges (Monitoring, Key Vault, etc.) | 4.400 EUR | 5% |
| Gesamt | 82.000 EUR | 100% |
Wesentliche Feststellungen:
- 68% der VMs waren erheblich überprovisioniert. Die durchschnittliche CPU-Auslastung lag bei 12%. Die durchschnittliche Speicherauslastung bei 23%. Viele VMs waren für Spitzenlasten provisioniert, die einmal pro Quartal auftraten.
- 31 verwaiste Ressourcen wurden identifiziert: 14 nicht angehängte Managed Disks, 8 ungenutzte Public IPs, 5 leere Resource Groups mit zugehörigen Ressourcen und 4 gestoppte VMs, die weiterhin Disk- und IP-Kosten verursachten.
- Keinerlei Commitment-Rabatte. Alles lief auf Pay-as-You-Go-Preisen. Keine Reserved Instances, keine Savings Plans.
- Dev/Test-Umgebungen liefen rund um die Uhr. Drei vollständige Entwicklungs- und zwei Staging-Umgebungen liefen durchgehend, einschließlich Wochenenden und Feiertagen.
- Premium-Storage-Tiers für nicht leistungssensible Workloads. Mehrere Archiv- und Logging-Storage-Accounts nutzten Premium SSD, obwohl Standard HDD ausreichend wäre.
- SQL-Datenbanken um das 3-4-fache überprovisioniert. Mehrere Azure-SQL-Datenbanken liefen auf S3/P1-Tiers, obwohl S1/S2 die tatsächliche Last bewältigen würden.
- Kein Azure Hybrid Benefit aktiviert. Der Kunde hatte bestehende Windows-Server- und SQL-Server-Lizenzen über sein Enterprise Agreement, hatte aber AHUB auf keiner Azure-Ressource aktiviert.
Phase 2: Quick Wins (Woche 2-4)
Quick Wins sind Änderungen, die sofortige Einsparungen mit minimalem Risiko und ohne Änderung der Anwendungsarchitektur liefern.
Quick Win 1: Bereinigung verwaister Ressourcen
Maßnahme: 14 nicht angehängte Managed Disks gelöscht, 8 ungenutzte Public IPs freigegeben, 4 gestoppte VMs mit zugehörigen Disks entfernt.
Monatliche Einsparung: 1.850 EUR
Dies war reine Verschwendung — Ressourcen, die Geld kosteten und keinen Zweck erfüllten. Wir validierten jede Löschung mit dem verantwortlichen Team, um sicherzustellen, dass nichts absichtlich aufbewahrt wurde.
Quick Win 2: Dev/Test Auto-Shutdown
Maßnahme: Azure Automation Schedules implementiert, um alle Dev/Test-VMs um 19:00 Uhr herunterzufahren und um 07:00 Uhr an Werktagen neu zu starten. Komplettes Herunterfahren an Wochenenden.
Berechnung: Dev/Test-VMs machten ~11.200 EUR/Monat aus. Der Betrieb von 12 Stunden/Tag nur an Werktagen entspricht ~36% der 24/7-Laufzeit.
Monatliche Einsparung: 7.200 EUR
Einige Teams widersetzten sich zunächst, besorgt über die Verfügbarkeit für Spätarbeit. Wir fügten einen Self-Service-Neustart-Mechanismus über einen Teams-Bot hinzu, den jeder Entwickler nutzen konnte, um seine Umgebung bei Bedarf zu starten.
Quick Win 3: Aktivierung des Azure Hybrid Benefit
Maßnahme: Azure Hybrid Benefit auf alle berechtigten Windows-Server-VMs (28 VMs) und SQL-Server-Datenbanken (6 Instanzen) angewendet.
Monatliche Einsparung: 4.600 EUR
Dies war praktisch geschenktes Geld. Der Kunde zahlte bereits für diese Lizenzen über sein EA. AHUB wendet die Lizenz einfach auf Azure-Ressourcen an und eliminiert den Windows-Server- oder SQL-Server-Lizenzanteil von der Azure-Rechnung.
Quick Win 4: Storage-Tier-Optimierung
Maßnahme: 4 Storage Accounts von Premium SSD auf Standard SSD migriert und 2 Archiv-Storage-Accounts auf Cool Tier. 18 Monate Log-Daten in Archive Tier verschoben.
Monatliche Einsparung: 2.100 EUR
Wir führten vor jeder Migration Leistungstests durch, um zu bestätigen, dass keine messbare Auswirkung auf die Anwendungsleistung bestand.
Quick Win 5: Snapshot-Bereinigung
Maßnahme: 47 VM-Snapshots älter als 90 Tage gelöscht, insgesamt 4,2 TB. Automatisierte Richtlinie implementiert, die Snapshots älter als 30 Tage künftig automatisch löscht.
Monatliche Einsparung: 380 EUR
Einzeln betrachtet gering, aber diese summieren sich über die Zeit stillschweigend.
Gesamte Quick Wins: 16.130 EUR/Monat (19,7% Reduktion)
Phase 3: Mittelfristige Optimierungen (Woche 5-8)
Mittelfristige Optimierungen erfordern mehr Analyse, Tests und Abstimmung mit den Anwendungsteams.
Optimierung 1: VM Right-Sizing
Dies war die größte Einzeloptimierung. Wir analysierten 30 Tage CPU-, Memory-, Netzwerk- und Disk-Metriken für jede Produktions-VM.
Methodik:
- P95-Auslastungsmetriken für CPU und Memory über 30 Tage abrufen
- VMs identifizieren, bei denen P95 CPU unter 40% UND P95 Memory unter 60% liegt
- Eine Größe kleiner empfehlen (oder zwei Größen kleiner bei stark überprovisionierten VMs)
- Mit Anwendungsverantwortlichen validieren
- Während Wartungsfenstern mit Rollback-Möglichkeit implementieren
Ergebnisse:
| VM-Kategorie | Anzahl | Vorher (monatlich) | Nachher (monatlich) | Einsparung |
|---|---|---|---|---|
| Produktions-App-Server | 14 | 12.400 EUR | 7.800 EUR | 4.600 EUR |
| Datenbankserver | 6 | 8.200 EUR | 5.100 EUR | 3.100 EUR |
| Utility/Infra-VMs | 8 | 3.600 EUR | 1.900 EUR | 1.700 EUR |
| Gesamt | 28 | 24.200 EUR | 14.800 EUR | 9.400 EUR |
Drei Anwendungsverantwortliche lehnten das Right-Sizing zunächst ab, besorgt über Peak-Performance. Wir implementierten die Änderungen mit einer 2-wöchigen Beobachtungsphase und automatischer Alarmierung bei Auslastung über 80%. Keiner wurde ausgelöst.
Optimierung 2: SQL-Datenbank-Right-Sizing
Analog zu VMs analysierten wir die DTU/vCore-Auslastung aller Azure-SQL-Datenbanken über 30 Tage.
Ergebnisse:
| Datenbank | Vorher | Nachher | Monatliche Einsparung |
|---|---|---|---|
| ERP Primary | P1 (125 DTU) | S3 (100 DTU) | 520 EUR |
| CRM-Datenbank | S3 (100 DTU) | S2 (50 DTU) | 230 EUR |
| Reporting-DB | P1 (125 DTU) | S3 (100 DTU) | 520 EUR |
| Integration-DB | S2 (50 DTU) | S1 (20 DTU) | 140 EUR |
| Logging-DB | S3 (100 DTU) | S1 (20 DTU) | 340 EUR |
| Analytics-DB | S3 (100 DTU) | S2 (50 DTU) | 230 EUR |
| Gesamt | 1.980 EUR |
Optimierung 3: Reserved-Instance-Käufe
Mit korrekt dimensionierten Ressourcen konnten wir nun fundierte Commitment-Käufe tätigen.
Getätigte Käufe:
- 3-Jahres-RIs für 18 Produktions-VMs (stabile Workloads): ~55% Rabatt
- 1-Jahres-RIs für 6 Datenbank-VMs (stabil, aber möglicherweise Größenänderung): ~33% Rabatt
- 3-Jahres-Reserved-Capacity für 4 Azure-SQL-Datenbanken: ~50% Rabatt
Monatliche Einsparung durch Reservierungen: 5.400 EUR
Wir ließen Dev/Test und variable Workloads bewusst auf Pay-as-You-Go und empfahlen, in 6 Monaten Savings Plans zu prüfen, sobald sich die neue Baseline stabilisiert hat.
Gesamte mittelfristige Optimierungen: 16.780 EUR/Monat
Phase 4: Strukturelle Änderungen (Woche 9-16)
Strukturelle Änderungen liefern die tiefsten langfristigen Einsparungen, erfordern aber mehr Aufwand und tragen mehr Risiko.
Strukturelle Änderung 1: PaaS-Migration für zwei Workloads
Zwei interne Webanwendungen liefen auf IaaS — dedizierte VMs mit Windows Server, IIS und SQL Server. Wir migrierten sie auf Azure App Service und Azure SQL.
Vorher: 2 VMs (D4s_v5) + 2 SQL-Server-VMs = ~3.200 EUR/Monat Nachher: 2 App-Service-Plans (P1v3) + 2 Azure SQL (S2) = ~1.100 EUR/Monat
Monatliche Einsparung: 2.100 EUR
Die PaaS-Migration reduzierte zudem den operativen Aufwand — kein OS-Patching, keine IIS-Konfiguration und keine SQL-Server-Wartung mehr für diese Workloads.
Strukturelle Änderung 2: AKS Node Pool Optimierung
Das AKS-Cluster lief mit 6 Nodes vom Typ D4s_v5 permanent. Die tatsächlichen Pod-Resource-Requests nutzten ungefähr 40% der verfügbaren Kapazität.
Änderungen:
- Standard-Node-Pool von 6 auf 3 Nodes reduziert
- Cluster Autoscaler aktiviert (Min 3, Max 8)
- Spot-VM-Node-Pool für nicht-kritische Workloads hinzugefügt
- Pod-Resource-Limits implementiert, um Over-Requesting zu verhindern
Vorher: 6x D4s_v5 = ~1.740 EUR/Monat Nachher: 3x D4s_v5 (Baseline) + Spot-Skalierung = ~750 EUR/Monat im Durchschnitt
Monatliche Einsparung: ~990 EUR
Gesamte strukturelle Änderungen: 3.090 EUR/Monat
Das Gesamtbild
Vorher-Nachher-Zusammenfassung
| Kategorie | Vorher (monatlich) | Nachher (monatlich) | Einsparung |
|---|---|---|---|
| Quick Wins (Verwaiste, Zeitpläne, AHUB, Storage) | 82.000 EUR Baseline | -16.130 EUR | 16.130 EUR |
| VM Right-Sizing | — | -9.400 EUR | 9.400 EUR |
| SQL Right-Sizing | — | -1.980 EUR | 1.980 EUR |
| Reserved Instances | — | -5.400 EUR | 5.400 EUR |
| PaaS-Migration | — | -2.100 EUR | 2.100 EUR |
| AKS-Optimierung | — | -990 EUR | 990 EUR |
| Neues monatliches Total | 82.000 EUR | ~49.000 EUR | ~33.000 EUR (40%) |
Annualisierte Auswirkung
- Jährliche Einsparungen: ~396.000 EUR
- Engagement-Kosten: Ungefähr 6 Wochen Beratungsaufwand
- Amortisationszeit: Weniger als 1 Monat
- 3-Jahres-RI-Einsparungen enthalten: Die RI-Käufe sichern zusätzliche Einsparungen, die wertvoller werden, wenn Pay-as-You-Go-Preise steigen
Zeitplan und Aufwand
| Phase | Zeitplan | Erforderlicher Aufwand | Risikoniveau |
|---|---|---|---|
| Discovery | Woche 1-2 | Beratergeführt, minimaler Kundenaufwand | Keines |
| Quick Wins | Woche 2-4 | Niedrig — überwiegend Bereinigung und Konfiguration | Niedrig |
| Mittelfristig | Woche 5-8 | Mittel — erfordert Abstimmung mit Anwendungsteams | Mittel |
| Strukturell | Woche 9-16 | Hoch — Architekturänderungen und Migration | Mittel-Hoch |
Was dieses Engagement erfolgreich machte
1. Datengetriebene Entscheidungen
Jede Empfehlung war durch 30+ Tage Auslastungsdaten gestützt. Wir empfahlen nie Änderungen basierend auf Annahmen oder Vendor-Sizing-Guides allein.
2. Buy-In der Anwendungsteams
Wir bezogen Anwendungsverantwortliche in jede Right-Sizing-Entscheidung ein. Das kostete mehr Zeit, eliminierte aber Widerstand und stellte sicher, dass wir keine leistungskritischen Anforderungen übersahen.
3. Inkrementelle Implementierung
Wir versuchten nicht, alles auf einmal zu ändern. Quick Wins bauten Glaubwürdigkeit und Momentum auf. Mittelfristige Optimierungen wurden mit Rollback-Plänen implementiert. Strukturelle Änderungen hatten vollständige Migrations-Runbooks.
4. Governance für Nachhaltigkeit
Kostenoptimierung ohne Governance ist eine einmalige Bereinigung. Wir etablierten:
- Monatlichen Kostenreview-Rhythmus
- Tagging-Policy-Durchsetzung
- Budget-Alerts auf Subscription- und Resource-Group-Ebene
- Azure-Advisor-Empfehlungs-Review-Prozess
- Dev/Test-Auto-Shutdown-Automatisierung
5. Ehrliches Scope-Management
Wir rieten von mehreren potenziellen Optimierungen ab, die Komplexität ohne ausreichenden ROI hinzugefügt hätten:
- Migration einer Legacy-Anwendung in Container (hohes Risiko, moderate Einsparungen)
- Implementierung von Spot VMs für Produktions-Batch-Verarbeitung (unzureichende Fehlertoleranz in der Anwendung)
- Wechsel der Azure-Region für marginale Preisunterschiede (Latenzauswirkung nicht die 3% Ersparnis wert)
Erkenntnisse
Verwaiste Ressourcen sind universell. Jede Azure-Umgebung, die wir bewerten, hat sie. Je länger die Umgebung läuft, desto mehr Verschwendung hat sich angesammelt.
Right-Sizing hat den höchsten ROI. VM- und Datenbank-Right-Sizing liefert konsistent die größten Einsparungen bei geringstem Risiko. Die meisten Enterprise-Ressourcen sind für Worst-Case-Szenarien provisioniert, die selten eintreten.
Commitment-Rabatte sollten nach dem Right-Sizing kommen. Reserved Instances für überprovisionierte VMs zu kaufen, zementiert Verschwendung. Immer zuerst korrekt dimensionieren, dann committen.
Dev/Test-Kosten sind eine Überraschung. Organisationen unterschätzen konsistent, wie viel sie für Non-Production-Umgebungen ausgeben. Automatisierte Zeitpläne und korrekte Lizenzierung (Visual Studio Subscription Dev/Test Pricing) können Non-Production-Kosten um 60-80% senken.
Azure Hybrid Benefit wird häufig übersehen. Kunden mit Enterprise Agreements vergessen oft, AHUB zu aktivieren, und lassen erhebliche Einsparungen bei null Aufwand liegen.
Ihre Azure-Umgebung
Wenn Ihre Azure-Kosten schneller gewachsen sind als Ihre Workloads, trifft das in dieser Fallstudie beschriebene Muster wahrscheinlich auf Ihre Umgebung zu. Die konkreten Zahlen werden sich unterscheiden, aber die Kategorien der Verschwendung — Überprovisionierung, verwaiste Ressourcen, fehlende Commitment-Rabatte und Non-Production-Umgebungen im 24/7-Betrieb — sind über Unternehmen hinweg bemerkenswert konsistent.
Bei CC Conceptualise führen wir Azure-Kostenoptimierungsprojekte nach dieser bewährten Methodik durch. Wir bringen das Tooling, das analytische Framework und die Erfahrung mit, um Einsparungen schnell zu identifizieren und zu realisieren. Die meisten Kunden sehen die Amortisation innerhalb des ersten Monats.
Möchten Sie wissen, wie 40% Ihrer Azure-Rechnung aussehen? Kontaktieren Sie uns unter mbrahim@conceptualise.de für eine erste Bewertung.
Themen