Azure Lizenzkosten: Preise für Azure-VMs richtig kalkulieren 1/2
Bei vielen Unternehmen gibt es bzgl. der Frage zu den Kosten zum Betrieb von virtuellen Maschine in Azure immer noch viele Missverständnisse, denn auch wenn die einschlägigen Cloud-Anbieter primär für ihre verwalteten Plattformdienste trommeln, steht die virtuelle Maschine beim Kunden immer noch hoch im Kurs. Zeit also, mit weit verbreiteten Halbwissen grundsätzlich aufzuräumen.
Du benötigst mehr Know-how rund um MS Azure? Dann empfehlen wir dir unsere Microsoft Azure Schulungen!
Zweifelsohne ist der Baukasten an Azure-Diensten mit derzeit knapp 220 Services gut gefüllt mit hippen Dingen von Devops, Kubernetes, über KI/ML und Analaytics-Diensten bis zu IoT und verwalteten NoSQL-Datenbanken. In der Realität befassen sich aber insbesondere KMUs/Small Business noch häufig mit Lift&Shift-Migrationen, z. B. von Hyper-VMs zu Azure-VMs. Klar sollten Unternehmen nach erfolgreichem Meistern dieses ersten Schrittes nicht verharren und über effizientere Möglichkeiten nachdenken, Anwendungen in Azure zu hosten. Bei den meisten geht es aber erstmal um die klassische VM und damit primär um die Frage: „Was kostet das“.
Letztendlich verfügt jeder der 220 Azure-Services über eine individuelle Preisstruktur, primäre Kostentreiber sind aber in allen Fällen Compute (welche Rechenleistung beansprucht der Service bei Microsoft), Storage (wie viel Speicherkapazität wird in der Cloud in Anspruch genommen) und Datenübertragung. Die Krux dabei ist, dass es einen fixen und eine variablen Kostenanteil gibt, wobei die Schwierigkeit darin besteht, den variablen Anteil (Verbrauch) im Voraus abzuschätzen. Dazu ist es erforderlich, dass du die Charakteristika deiner Workloads kennst und über ausreichend Grundlagenwissen darüber verfügst, wie eine VM in Azure funktioniert, aus welchen Komponenten sie besteht und an welchen Stellen Kosten entstehen. Dazu gehört es auch die verschiedenen Lizenzmodelle und Einsparmöglichkeiten zu kennen. Der Artikel separiert allerdings die verschiedenen Spar-Modelle konzeptionell von der reinen Kostenfrage. Informationen zu Nachlässen/Rabatten, die sich entweder aus der Art des Azure-Abonnements, dem Kaufmodell für die VM oder dem verwendeten Lizenz-Modell ergeben, findest du in einem meiner anderen Artikel.
Einen ersten Einstieg zu den Kosten von Azure-VMs bietet die zugehörige https://azure.microsoft.com/de-de/pricing/details/virtual-machines/windows/#pricing Webseite mit den Preisinformationen zu sämtlichen rund 700 VM-Größen. Dabei kannst du unter anderem verschiedene Vergleichsoptionen konfigurieren, wie z. B. 1-Jahres-Sparplan, 1-Jahres-Reservierung und Spot. Wie oben erwähnt, werden Nachlässe und Rabatte-Modelle in einen separaten Artikel thematisiert. Im Allgemein ist das Dimensionieren einer Azure-VM direkt bei der Bereitstellung keine gute Idee. Vielmehr sollte eine sorgfältige Planung vorausgehen. Begibst du dich dazu wieder zurück zur Azure-VM-Preisübersicht, kannst du deine Hardware-Auswahl mit einem Klick ganz rechts auf das Plus-Symbol „Hinzufügen zu Schätzung“ und landest mit einem weiteren Klick auf „Im Rechner anzeigen“ im Azure Kostenrechner.
Selbstverständlich kannst du den https://azure.microsoft.com/de-de/pricing/calculator/ Kostenrechner auch direkt aufrufen. Meldest du dich dort an, hast du die Möglichkeit, deine Kalkulationen zu speichern, wiederaufzurufen oder zu teilen. Für eine grobe Planung, mit der du dir dann z. B. das benötigte Budget von deinem Chef besorgen kannst, ist der Kostenrechner gut geeignet, sofern du seine Grenzen kennst.
Virtuelle Maschinen in Azure: Kostenrechner
Du kannst mit dem Azure Kostenrechner Beispielrechnungen für zahlreiche unterstütze Azure-Services durchführen. Nur selten wird eine in Azure gehostete Applikation nur aus einem einzigen Service bestehen.
Doch selbst wenn du dich bewusst auf virtuelle Maschinen beschränkst und dich z. B. von der Azure-Preisübersicht hierher verlinken lässt, zeigt dir der Preisrechner zwar oben rechts einen Preis an, der auf deiner getroffenen Hardwareauswahl basiert, du musst dir aber darüber im Klaren sein, dass das nicht der monatliche Endpreis ist, mit dem du deine VM effizient betreiben kannst. Im oben abgebildeten Beispiel mit der Größe „D2s v4“ verfügt deine VM zum angezeigten Preis von 151,11 $ jetzt zwar über einem Prozessor vom Typ Intel Xeon Platinum 8272CL mit 2 Kernen und 8 GB RAM, der sogar die Lizenz-Kosten für ein Windows Betriebssystem inkludiert, du kannst sie aber so nicht nutzen, weil du z. B. noch nicht über eine Disk verfügt.
Die Größe der Disks für Betriebssystem und/oder Daten hängt von den Performanceanforderungen deines Workloads ab (Durchsatz/IO). So kann eine Betriebssystem-Disk mit 128 GB für das Hosten eines Windows-Betriebssystems hinsichtlich der Kapazität ausreichend sein, möglicherwiese ist die Leistung, die ein so kleiner Datenträger maximal bereitstellt, für deinen Workload aber nicht ausreichend. Deshalb musst du dich „vorher“ mit den Anforderungen deiner Workloads und mit der Funktionsweise von Azure-VMs befassen, weil der Preisrechner über keinerlei Plausibilitätsprüfung verfügt. Wenn du ihn mit unsinnigen Daten fütterst oder ihm wichtige Daten vorenthältst, wird er im Ergebnis auch nur „Blödsinn“ liefern. Hier wäre sicher noch Nachbesserungsbedarf.
Azure Preisrechner: Die Basis-Parameter
Bevor du dich aber den Datenträgern zuwendest, experimentiere zunächst mit den offensichtlichen Preis-beeinflussenden Parametern, wie z. B. der Region. Da allerdings für die meisten Nutzer Data-Residency und Compliance höchste Priorität hat, wirst du hier vermutlich in Deutschland bleiben wollen; ohnehin ist beim gegenwärtigen Dollar-Kurs der Unterschied zwischen $ und € marginal. Beim Betriebssystem kannst du zwischen Windows und Linux wählen, was aber auch bei Linux nicht notwendigerweise heißt, dass keine Lizenzkosten anfallen. Man denke da z. B. an Enterprise-Distributionen wie Red Hat die in Verbindung mit einer entsprechenden Lizenz Zugriff auf Support und Enterprise-Update-Repositories bieten.
Für spezielle Konstellationen wie z. B. einen MS SQL-Server hast du über die inkludierte Windows-Server-Lienz im Feld „Typ“ statt der Standard-Auswahl „Nur Betriebssystem“ mit Auswahl von „SQl Server“ die Möglichkeit, die benötigte SQL-Lizenz mit zu „mieten“. Schließlich kannst du bei „Tarif“ noch die „Klasse“ der VM wählen, allerdings taugen „Basic“-VMs in der Praxis nur für „Spielereien“ und sind z. B. in Deutschland gar nicht erhältlich.
Wechsel zur ursprünglich gewählten Instanz-Größe zurück. Dazu filtere am einfachsten bei Kategorie nach „Allgemein“ (es gibt analog zur Preisliste auch „Computeoptimiert“, „GPU“, „Arbeitsspeicheroptimiert“ und „Speicheroptimiert“), wähle dann bei „Instanzreihe“ erneut die „Dsv4“-Serie (für D-Serie-VMs der vierten Generation) und dann wieder die „Instanz“ „D2s v4“ mit 2 vCPUs, 8 GB RAM und 0 GB temporären Speicher. Schließlich musst du noch wählen für wie viele VMs du den Preis berechnen möchtest, „1“ ist Default. Selbstverständlich muss der Typ optimal zum Workload passen, aber es würde auch hier den Rahmen sprengen, die Vor- und Nachteile der einzelnen Kategorien und Instanzreihen durchzudeklinieren.
Einzelheiten hierzu findest du in der Dokumentation. Als Anhaltspunkt haben VMs der Kategorie https://learn.microsoft.com/de-de/azure/virtual-machines/sizes-general allgemein ein ausgewogenes Verhältnis zwischen CPU und Arbeitsspeicher, während bei für https://learn.microsoft.com/de-de/azure/virtual-machines/sizes-compute Compute optimierte VM-Größen in Bezug auf das Verhältnis zwischen von CPU und Arbeitsspeicher die CPU das dominierende Attribut ist. Arbeitsspeicheroptimierte https://learn.microsoft.com/de-de/azure/virtual-machines/sizes-memory VM-Größen hingegen bieten als „Kehrwert“ der CPU-optimierten Typen ein hohes Arbeitsspeicher-zu-CPU-Verhältnis von bis zu 672 GB RAM und eignen sich hervorragend für Datenbanksysteme, vor allem wenn es um InMemory-Systeme wie SAP HANA geht. Dafür trumpfen https://learn.microsoft.com/de-de/azure/virtual-machines/sizes-storage Storage-optimierte Systeme mit Support für besonders viele, schnelle und großen Speichertypen auf von bis zu 10×1,02 TB NVMe mit über 3.800.000 IOPS, die sich für große und anspruchsvolle relationale Datenbanken und Datawarehouses eigenen. Darüber hinaus gibt es Typen mit https://learn.microsoft.com/de-de/azure/virtual-machines/sizes-gpu GPU-Support für ML-Workloads, https://learn.microsoft.com/de-de/azure/virtual-machines/sizes-field-programmable-gate-arrays FPGA-optimierte VM-Größen etwa zur Videotranscodierung oder Typen für https://learn.microsoft.com/de-de/azure/virtual-machines/sizes-hpc HighPerformance-Computing. Die generelle Kostenbandbreite reicht dabei von wenigen Euro (z. B. 3,1609 pro Monat für eine A1 v2) bis zu mehreren tausend Euro im Monat.
Azure Lizenzen: Weitere Einsparmöglichkeiten
Bevor du dich weiteren Einstellungen zuwendest, solltest du über Einsparmöglichkeiten, z. B. im Zusammenhang mit der Nutzungszeit nachdenken. Wir rechnen zwar, der besseren Vergleichbarkeit wegen, für das folgende Beispiel mit einer 24/7-Nutzung, was bei Azure 730 Stunden entspricht, erklären dir aber Einsparpotenzial, das sich durch die eingeschränkte Nutzung ergibt im o. e. Artikel. Das betrifft auch die Lizenzkosten.
Datenträger
Kommen wir nun zu den Datenträgern. Selbstverständlich benötigt deine VM einen Betriebssystemdatenträger. Hier hast du inzwischen die Wahl zwischen „HDD Standard“, „SSD Standard“, „SSD Premium“, „SSD Premium v2“ und „Ultra Disk“. Auch hierzu muss ich bezgl. der konzeptionellen Einzelheiten auf die https://learn.microsoft.com/de-de/azure/virtual-machines/disks-types Dokumentation verweisen. Sicher kann man aber konstatieren, dass eine HDD-Standard sicher keine vernünftige Wahl für ein modernes Server-Betriebssystem wie Windows ist.
Auch wenn du inzwischen sogar eine HDD für das Betriebssystem nutzen kannst („früher“ konnte man von einer HDD gar nicht booten) sind die 500 IOPS z. B. einer S10 (128 GB) zwar wahrscheinlich nicht das Problem, wenn es sich um einer reine Betriebssystem-Disk handelt, möglicherweise aber der maximale Durchsatz von 60 MB/s. Hier kommt es darauf an, ob wir von Random-Access-Szenarien reden, was bei einer OS-Disk sicher der Fall ist, oder ob du Daten kontinuierlich liest/schreibst, etwa beim Video-Streaming oder beim Lesen/Schreiben von Protokoll-Dateien. In solchen Fällen kannst du mit einer HDD durchaus Geld sparen.
Du siehst also, dass es nicht nur wegen der Ausfallsicherheit eine gute Idee ist, die Festplatten für Betriebssystem, Anwendungen und ggf. Daten auf separate Laufwerke zu legen. In diesem Fall kannst du es bei der OS-Disk auch bei der Größe von 128 GB belassen, denn die Größe ist ja immer eine Folge aus der benötigten Performance und nicht umgekehrt. Du solltest aber auf jeden Fall eine SSD wählen. Da zudem der von Microsoft zugesicherte SLA bei Einzel-VMs vom Datenträger abhängt, erhältst du z. B. 99,9 % nur bei einer Premium SSD. Ein weiterer Vorteil von Premium-SSDs ist das Premium-Bursting, welches eine bessere Toleranz gegenüber unvorhersehbaren Änderungen der I/O-Muster erlaubt, was vor allem beim Booten des Betriebssystems und bei Anwendungen mit starkem Datenverkehr von Nutzen ist. Wir entscheiden uns also im Abschnitt „Managed Disks“ für den Tarif „SSD-Premium“ und die Größe „P10“ mit 128 GB und 100 MB/s Durchsatz. Bei der „Redundanz“ sollte „LRS“ mit 3 Kopien in einem einzelnen Datacenter ausreichen; mit ZRS würde deine Disk auch immun gegen Zonen-Ausfällen.
In unserem Beispiel kommen jetzt noch einmal 21,68 $ hinzu. Sämtliche Speichertransaktionen sind übrigens bei der Premium-SSD inkludiert, nicht so bei der Standard-SSD oder HDD, wie du beim Experimentieren im Kostenrechner leicht feststellen kannst. Bei einer Standard-SSD werden Transaktionen in Päckchen von je 10000 Transaktionen zu je 0,0020 $ pro Einheit berechnet. Zwar lassen sich Transaktionen nur sehr schwer abschätzen, aber der Kostenrechner ist ja zum Ausprobieren gedacht. Trägst du hier z. B. bei einer 9,60 $ teuren Standard-SSD gleicher Größe (128 GB) z. B. 1000 x 10000 Transaktionen ein, sind sie bei 2 $. Im Vergleich zur gleichgroßen Premium-SSD hättest du noch weitere 18 $ Luft für Transaktionen. Mit etwas Puffer solltest du auf jeden Fall planen, weil es ja auch darum geht, das benötigte Budget vom Chef loszueisen.
Im Übrigen dürfte das Transaktionsmuster eine OS-Disk homogener sein, als bei einer Workload-Disk. Denkst du hier beispielsweise an einen I/O-intensiven SQL-Server fährst du mit Premium-SSDs deutlich besser. Sollten IOPS und Bandbreite nicht ausreichen, musst du zur höheren Kapazität greifen. Eine P80 mit 32TB bietet beispielsweise 20000 IOPS und 900 MB/s als einzelnes Laufwerk.
Theoretisch kannst du sogar mehrere Laufwerke an die VM anschließen (die maximale Anzahl von „Daten“-Datenträgern hängt von der jeweiligen Instanz-Größe ab) und im Gastsystem der ein Stripe-Set oder Software-RAID wie Storage Spaces oder LVM einrichten. Allerdings ist der gesamte IO einer einzelnen VM auf einen Maximalwert begrenzt, sodass du dein Wunsch-I/O auf diese Weise nicht beliebig steigern kannst.
In der Praxis musst du für Applikationen und Daten weitere Datenträger einplanen, wobei für diese hinsichtlich IOPS, Durchsatz, Latenz usw. das gleiche gilt, wie für die OS-Disk erläutert. Theoretisch kannst/solltest du sogar darüber nachdenken, die Datenspeicherung überhaupt nicht auf der VM selbst durchzuführen, sondern z. B. auf einem Azure Storage Account (Blob oder Dateifreigaben) oder einen Azure-SQL-Datenbank. Dann benötigst du nur noch eine weitere Disk für deine Applikationen.
Um das Beispiel in dieser Hinsicht mit einem praxisrelevanten Szenario zu füttern, musst du eine weitere Disk in deine Berechnung aufnehmen. Dann dürftest du im Abschnitt „Manage Disk“ bei deiner bisherigen SSD nicht einfach eine 2 eintragen, weil dies gar nicht unserem Szenario entspräche. Du hättest dann 2 Betriebssystem-Disks. Was du stattdessen tun musst, ist im Kostenrechner eine weitere Kategorie „Speicherkonten“ und darin bei „Typ“ den Eintrag „Managed Disks“ auszuwählen. Hier wählen wir exemplarisch eine P20 mit 512 GB, 2300 IOPS und 150 MB/s Durchsatz für unsere Applikationen …
Nun fügen wir auf die gleiche Weise eine Data-Disk vom Typ P30 mit 1TB, 5000 IOPS und 200 MB/s Durchsatz hinzu.
Bei der Gelegenheit solltest du aus Sicherheitsgründen zumindest für die Data-Disc auch gleich einen Snapshot einplanen. Gerade bei IO-intensiven Workloads verlierst du nämlich bei einer Einzel-VM ausstehende Transaktionen, wenn Microsoft deine VM zu Wartungszwecken neu startet (siehe Artikel Azure-Wartung). Zwar gibt es Azure Backup, aber ein Snapshot ist im Ernstfall viel schneller wiederhergestellt, als die Wartezeit, die du bei Azure Backup für eine Recovery-Auftrag einplanen musst. Je nach „Füllstand“ deiner Disk muss der Snapshot indes nicht die volle Größe der Disk haben. Auch hier musst du ggf. wieder schätzen. Wir planen im Beispiel mit 500 GB. Der Preis für unsere VM wächst damit auf 454,43 $. / Monat.
Datenübertragung
Wenden wir uns schließlich dem Thema Datenübertragung zu, ein gelegentlich unterschätzer Bestandteil des VM-Preises, dessen Veranschlagung ebenfalls ein intensives Auseinandersetzen mit der Charakteristik deines Workloads erfordert. Hier erweist sich Azure Migrate als große Hilfe, da Azure Migrate auch ein Assessment-Werkzeug mitbringt. Generell gilt, dass eingehende Datenübertragung kostenlos ist, während ausgehende Datenübertragung berechnet wird, wobei im Einzelfall noch zu definieren ist, was „ausgehend“ im jeweiligen Szenario bedeutet (Internet, vNet-Peering ?). Um das Bespiel mit belastbaren Daten zu füttern, wählen wir im Kostenrechner weiter oben bei der VM im Abschnitt „Bandbreite“ beim Feld „Datenübertagungstyp“ (statt dem Default-Eintrage „Regionsübergreifend“) „Ausgehender Internetdatenverkehr“. Der Standardeintrag wechselt bei „Weitergeleitet über“ zu „Globales Microsoft-Netzwerk“. Da bei ausgehendem Datenverkehr bei vielen Azure-Diensten – so auch bei der Azure-VM – eine bestimmte Mindestmenge inkludiert ist (hier 100 GB/Monat), gehen wir in unserer Schätzung großzügig von 500 GB/Monat aus, womit sich unser Gesamtpreis auf 499,23 $ erhöht.
Netzwerkkosten
Trotzdem kannst du die VM bis zu diesem Zeitpunkt immer noch nicht wirklich nutzen, denn sie verfügt ja per Default nur über eine interne (private) IP-Adresse.
Möchtest du dich mit einer solchen VM zu Wartungszwecken verbinden, bräuchtest du entweder eine öffentliche IP-Adresse, einen Azure Bastion-Host, einen Azure Load-Balancer oder die Azure Firewall. Aus Sicherheitsgründen wäre es zudem wünschenswert (insbesondere im Zusammenhang mit einer öffentlichen IP-Adresse), z. B. RDP-Zugriff nicht dauerhaft zur erlauben. Hier bietet sich z. B. der Just-In-Time-VM-Access (JIT) des Microsoft Defender for Cloud an. Die Netzwerkhärtung ist nur eine der vielen Funktionen des Defender for Cloud, der bei einem „Plan-2“ mit 15 Euro pro Server zu Buche schlägt.
Ähnliches gilt, wenn du auf der VM einen öffentlich zugänglichen Service hosten möchtest, etwa einen Webserver. Auch dann bräuchtest du mindestens eine öffentliche IP-Adresse. Aus Sicherheitsgründen solltest du eher einen Loadbalancer verwenden. Du siehst schon, dass wir jetzt ins Ungefähre abdriften. So kostet z. B. der Defender für Cloud 15 Euro pro Server, allerdings musst du die 15 Euro für ausnahmslos alle Server in deiner Subscription bezahlen, denn ein Defender-Plan kann nur auf Subscription-Ebene abgeschlossen werden.
Genau anders herum ist es bei Services wie Azure Bastion, VPN-Gateway oder Azure Firewall. Diese können sich im Rahmen einer https://learn.microsoft.com/de-de/azure/architecture/reference-architectures/hybrid-networking/hub-spoke?tabs=cli Hub-and-Spoke-Architektur durchaus mehrere Services teilen.
Der Bastion-Service kostet z. B. in der kleinsten Größe 138,70 $/Monat zzgl. ausgehender Datenübertragung, die Azure Firewall 912,50 $ zzgl. verarbeitete GB/Monat und die Web Application Firewall zum Schutz deiner Web-Anwendung 102,93 $.
Beschränken wir uns daher der einfachheit halber zunächst auf eine öffentliche IP-Adresse. Wähle dazu im Kostenrechner die Rubrik „Netzwerk / IP-Adressen“ und füge deiner Kalkulation eine öffentliche IP-Adresse vom Typ „Standard (ARM)“ hinzu. Hast du den VM-Betrieb oben mit 730 Stunden berechnet, musst du das selbstverständlich auch für die IP-Adresse tun. Die 3,65 $ halten sich aber im Rahmen.
Virtuelle Maschinen in Azure: Das Fazit
Du hast mit Hilfe der gleichnamigen Schaltflächen die Möglichkeit, deine Konfiguration zu speichern und/oder zu exportieren. Aus unserem Anfangspreis von rund 150 $ sind nun 502,88 $ geworden, die du realistisch ansetzen musst, Support-Pläne, Backups und Sicherheits-AddOns und Puffer für den Chef nicht eingerechnet.
Kontakt
„*“ zeigt erforderliche Felder an