Wie man die Kosten seiner Azure-VMs im Griff behält
Virtuelle Maschinen (VMs) in Azure können teurer als erwartet sein, besonders ohne Optimierungen. In diesem Artikel erfährst du, wie du Kosten senken kannst, indem du die richtige VM-SKU wählst, Laufzeiten optimierst und bestehende Lizenzen clever nutzt. Mit den richtigen Strategien kannst du deine Cloud-Kosten langfristig effizienter gestalten.
“Warum kosten meine virtuellen Maschinen (VMs) in Azure so viel? Ich dachte, in der Cloud wird alles günstiger!”
Solche Aussagen hören wir häufig von Kunden – insbesondere von denen, die ihre IT-Infrastruktur per “Lift & Shift” ohne Anpassungen in die Cloud verlagert haben. Ohne entsprechende Optimierungen kann die Cloud tatsächlich teurer werden, als man denkt.
Braucht man überhaupt eine VM?
Das ist die erste Frage, die man sich stellen sollte: Wird für die Aufgabe wirklich eine VM benötigt oder könnte ein Cloud-nativer Service wie Azure Functions oder ein Kubernetes-Cluster die bessere Alternative sein?
Es gibt jedoch auch gute Gründe, warum man an einer VM festhalten sollte:
- Anforderungen von Softwareherstellern
- Fehlendes Know-how im Unternehmen zur Umstellung der Anwendung
- Personalmangel
- Weitere spezifische Anforderungen
Wie kann man also Kosten optimieren, wenn eine VM unvermeidbar ist? Hier sind einige effektive Ansätze.
Die größten Kostentreiber bei VMs
Die Kosten für VMs in Azure werden maßgeblich durch folgende Faktoren beeinflusst:
- Laufzeit
- Die zugeordnete SKU (Virtual Machine Size)
- Betriebssystemlizenzen
Die Kosten setzen sich primär aus den genutzten Ressourcen während der Laufzeit zusammen. Solange eine VM aktiv ist und CPU- und RAM-Ressourcen beansprucht, fallen Kosten an – unabhängig davon, ob sie ausgelastet ist oder im Leerlauf arbeitet. Ist die VM ausgeschaltet, reduzieren sich die Kosten auf die Beträge für den genutzten Storage.
Jede VM in Azure ist einer spezifischen SKU zugeordnet, die die Ausstattung hinsichtlich CPU und RAM beschreibt. Verschiedene SKUs sind auf unterschiedliche Anwendungsszenarien optimiert, z. B. ein hohes Verhältnis von CPU-Kernen zu RAM für rechenintensive Aufgaben.
Die Bezeichnung einer SKU gibt in der Regel Auskunft über die Konfiguration. Ein Beispiel: Eine VM aus der D-Serie ist auf ein ausgeglichenes Verhältnis zwischen CPU und RAM ausgerichtet, wobei die typische Ratio bei 4 GB RAM pro CPU-Kern liegt. Standard_D4s_v5 steht etwa für 4 CPU-Kerne und 16 GB RAM. Der Zusatz „s“ signalisiert, dass diese SKU den Zugriff auf Premium-SSD-Speicher ermöglicht.
Microsoft stellt eine umfassende Übersicht über alle verfügbaren SKUs inklusive detaillierter Leistungsdaten bereit.
Wie sich die Kosten bei VMs optimieren lassen
Zur Reduzierung der VM-Kosten sollten die folgenden Aspekte genau analysiert werden:
Ressourcenzuordnung
Ein erster wichtiger Schritt ist die Frage: Ist die aktuelle VM der optimalen SKU zugeordnet?
Zur Beantwortung dieser Frage lohnt sich ein Blick auf die Metriken der VM im Azure-Portal. Dabei kann sich herausstellen, dass die gewählte VM-Größe überdimensioniert ist oder die Ressourcen nur zu bestimmten Zeiten voll genutzt werden, während sie den Rest des Monats im Leerlauf sind. Möglicherweise ist die VM auch einer falschen SKU-Serie zugeordnet, und eine Variante mit mehr RAM pro CPU-Kern wäre geeigneter.
Beispiel “Intervallnutzung”:
Ein typisches Szenario: monatliche Abrechnungsläufe im ERP-System. Die VM wird einmal pro Monat stark ausgelastet, um Aufträge abzurechnen, steht aber die restliche Zeit nur für sporadische, weniger intensive Datenabfragen bereit.
Lösung: Eine Anpassung der VM-Größe über den größten Teil des Monats auf eine kleinere SKU und das temporäre Hochskalieren zu den Abrechnungsläufen. Azure bietet hier die Möglichkeit, mit minimaler Downtime flexibel innerhalb derselben Serie die VM-Größe anzupassen.
Beispiel „Falsche SKU“
Ein anderes Beispiel: Eine Anwendung benötigt 64 GB RAM, aber nur vier CPU-Kerne. Wurde die VM fälschlicherweise als Standard_D16s_v5 konfiguriert, sind damit auch 16 CPU-Kerne enthalten – weit über den Bedarf hinaus.
Lösung: Der Wechsel auf eine SKU wie Standard_E8-4s_v5 würde dieselben 64 GB RAM bereitstellen, aber nur mit vier CPU-Kernen ausgestattet sein.
Ein Blick auf die Kosten im Azure-Preisrechner zeigt hier schnell Einsparpotenziale: Der monatliche Unterschied kann bei über 450 Euro liegen.
Optimierung der VM-Laufzeit
In der Cloud werden virtuelle Maschinen (VMs) basierend auf der genutzten CPU- und RAM-Leistung abgerechnet, solange sie aktiv sind. On-Premises waren VMs oft rund um die Uhr im Einsatz, da dies die Kosten kaum beeinflusste. In der Cloud hingegen stellt sich die Frage: Muss eine VM wirklich 24/7 laufen?
Beispiel: Nutzung 12/5
Nehmen wir eine VM, deren Applikation nachts und an Wochenenden nicht genutzt wird. Eine durchgehende Verfügbarkeit ist hier nicht notwendig.
Lösung: Ein simples, aber wirkungsvolles Mittel ist das planmäßige Abschalten der VM in Zeiten ohne Nutzung. Wichtig dabei: das Updatemanagement berücksichtigen, um Sicherheitsrisiken zu vermeiden. Mit Azure Automation Accounts lässt sich eine Automatisierung einrichten, die VMs zu festgelegten Zeiten startet und stoppt.
Beispiel: Nutzung 24/7
Einige Systeme, wie etwa Domain-Controller, müssen rund um die Uhr verfügbar sein, um Benutzern, Clients und Servern jederzeit zu antworten.
Lösung: Für solche Fälle bieten sich Azure Reserved Instances an. Hierbei reservieren Unternehmen für 1 bis 3 Jahre ein festes Kontingent an Rechenressourcen zu einem reduzierten Preis. Die Abrechnung kann monatlich oder als Vorauszahlung erfolgen. Ein Vorteil: Bei richtiger Konfiguration können Reserved Instances auch auf andere VMs der gleichen SKU angewendet werden, wenn diese verfügbar sind.
Beispiel: Modernisierung in Aussicht
Es gibt Situationen, in denen VMs noch benötigt werden, obwohl eine Modernisierung hin zu cloud-nativen Diensten wie Azure Functions oder Azure Kubernetes Clustern geplant ist. Wenn dieser Umstieg beispielsweise innerhalb von drei Monaten erfolgen soll, lohnt sich der Einsatz von Reserved Instances meist nicht.
Lösung: Der Azure Savings Plan ist hier eine flexible Alternative. Ähnlich wie bei Reserved Instances wählt man eine Laufzeit von 1 bis 3 Jahren, allerdings deckt der Savings Plan eine größere Bandbreite an Azure Services ab. Unternehmen verpflichten sich zur stündlichen Abnahme eines bestimmten Betrags, und alle berechtigten Services bis zu dieser Grenze profitieren von rabattierten Preisen. Kosten, die darüber hinausgehen, werden zu den regulären Tarifen abgerechnet.
Lizenzen
Ein oft unterschätzter Faktor bei der Kostenoptimierung sind Betriebssystemlizenzen. Wird eine VM in Azure erstellt, stellt Microsoft standardmäßig eine Mietlizenz für das Betriebssystem bereit. Viele Organisationen verfügen jedoch bereits über bestehende Lizenzen.
Lösung: Azure Hybrid Benefit
Mit Azure Hybrid Benefit können bestehende Lizenzen, wie etwa für Windows Server, auch in Azure verwendet werden.
Diese Option gibt es nicht nur für Windows-Betriebssysteme, sondern auch für lizenzpflichtige Systeme anderer Anbieter wie Red Hat oder SUSE Enterprise sowie für Microsoft SQL Server.
Die Nutzung vorhandener Lizenzen in Azure unterliegt bestimmten Bedingungen. Sind diese erfüllt, reicht ein einfacher Klick in den VM-Einstellungen, um den Hybrid Benefit zu aktivieren. Der Vorteil zeigt sich schnell: Ein Vergleich zwischen VMs mit und ohne aktivierten Hybrid Benefit verdeutlicht das Einsparpotenzial.
Es lohnt sich also zu prüfen, ob bestehende Lizenzen für den Azure Hybrid Benefit genutzt werden können.
Fazit
Eine eingehende Analyse der Ressourcenzuordnung, gezielte Optimierungen der VM-Laufzeit sowie die Nutzung bestehender Lizenzen sind entscheidende Schritte zur Kostensenkung. Dabei lohnt es sich auch, Alternativen zu VMs zu prüfen und cloud-native Dienste zu erwägen. Tools wie der Azure-Preisrechner, Azure Automation und Optionen wie der Azure Hybrid Benefit helfen dabei, den Überblick zu behalten und Einsparpotenziale auszuschöpfen.
Wer in der Cloud langfristig erfolgreich sein möchte, sollte Kosten und Nutzen stets abwägen – und bereit sein, die Infrastruktur kontinuierlich zu hinterfragen und zu optimieren.