Bei vielen Unternehmen gibt es bzgl. der Frage zu den Kosten zum Betrieb von Azure-VMs 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 Mal grundsätzliche aufzuräumen.

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-Service ü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 Sie die Charakteristika Ihrer Workloads kennen und über ausreichend Grundlagenwissen darüber verfügen, wie eine VM in Azure funktioniert, aus welchen Komponenten sie besteht und an welchen Stellen Kosten entstehen. Dazu gehört 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 finden Sie in diesem Artikel (Link).

Preisinformationen von Azure

Einen ersten Einstieg zu den Kosten von Azure-VMs bietet die zugehörige Webseite mit den Preisinformationen zu sämtlichen rund 700 VM-Größen. Dabei könnten Sie 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 (Link). Im Allgemein ist aber das Dimensionieren einer Azure-VM direkt bei der Bereitstellung keine gute Idee. Vielmehr sollte eine sorgfältige Planung vorausgehen. Begeben Sie sich dazu wieder zurück zur Azure-VM-Preisübersicht, können Sie Ihre Hardware-Auswahl mit einem Klick ganz rechts auf das Plus-Symbol „Hinzufügen zu Schätzung“ und landen dann mit einem weiteren Klick auf „Im Rechner anzeigen“ im Azure Kostenrechner.

 

Von der Produktseite direkt zum Kostenrechner.

Selbstverständlich können Sie den Kostenrechner auch direkt aufrufen. Melden Sie sich dort an, haben Sie die Möglichkeit, Ihre Kalkulationen zu speichern, wiederaufzurufen oder zu teilen. Für eine grobe Planung, mit der Sie sich dann z. B. das benötigte Budget von Ihrem Chef besorgen können, ist der Kostenrechner gut geeignet, sofern Sie seine Grenzen kennen.

Azure Kostenrechner

Sie können 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 Sie sich bewusst auf virtuelle Maschinen beschränken und sich z. B. von der Azure-Preisübersicht hierher verlinken lassen, zeigt Ihnen der Preisrechner zwar oben rechts einen Preis an, der auf ihrer getroffenen Hardwareauswahl basiert, Sie müssen sich aber darüber im Klaren sein, das das nicht der monatliche Endpreis ist, mit dem Sie Ihre VM effizient betreiben können.

Im oben abgebildeten Beispiel mit der Größe „D2s v4“ verfügt Ihre 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, Sie können sie aber so nicht nutzen, weil sie z. B. noch nicht über eine Disk verfügt.

 

Ein VM, die rund um die Uhr berechnet (730 Stunden) würde, mangeln Disk aber nicht nutzbar ist.

Die Größe der Disks für Betriebssystem und/oder Daten hängt von den Performanceanforderungen ihres 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 Ihren Workload aber nicht ausreichend. Deshalb müssen Sie sich „vorher“ mit den Anforderungen Ihrer Workloads und mit der Funktionsweise von Azure-VMs befassen, weil der Preisrechner über keinerlei Plausibilitätsprüfung verfügt. Wenn Sie Ihn mit unsinnigen Daten füttern oder ihm wichtige Daten vorenthalten, wird er im Ergebnis auch nur „Blödsinn“ liefern. Hier wäre sicher noch Nachbesserungsbedarf.

Preisrechner Basis-Parameter

Bevor Sie sich aber den Datenträgern zuwenden, experimentieren Sie 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, werden Sie hier vermutlich in Deutschland bleiben wollen; ohnehin ist beim gegenwärtigen Dollar-Kurs der Unterschied zwischen $ und € marginal.  Beim Betriebssystem können Sie 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 eine entsprechenden Lizenz Zugriff auf Support und Enterprise-Update-Repositories bieten.

Für spezielle Konstellationen wie z. B. einen MS SQL-Server haben Sie ü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 können Sie 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.

Basics-VMs für kleine Test-Szenarien gibt es z. B. nicht in Deutschland, daher ist hier die Region „eastus“.

Wechseln Sie zur ursprünglich gewählten Instanz-Größe zurück. Dazu filtern Sie am einfachsten bei Kategorie nach „Allgemein“ (es gibt analog zur Preisliste auch „Computeoptimiert“, „GPU“, „Arbeitsspeicheroptimiert“ und „Speicheroptimiert“), wählen 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 müssen Sie noch wählen für wie viele VMs Sie den Preis berechnen möchte, „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.

Azure VM-Serien

Einzelheiten hierzu finden Sie in der Dokumentation. Als Anhaltspunkt haben VMs der Kategorie Allgemein ein ausgewogenes Verhältnis zwischen CPU und Arbeitsspeicher, während bei für Compute optimierte VM-Größen in Bezug auf  das Verhältnis zwischen von CPU und Arbeitsspeicher die CPU das dominierende Attribut ist. Arbeitsspeicheroptimierte 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 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 GPU-Support für ML-Workloads, FPGA-optimierte VM-Größen etwa zur Videotranscodierung oder Typen für HighPerformance-Computing. Die generelle Kostenbandbreite reicht dabei von wenigen Euro pro Monat (z. B. 3,1609 pro Monat für eine A1 v2) bis zu mehreren tausend Euro im Monat.

Weitere Einsparmöglichkeiten

Bevor Sie sich weiteren Einstellungen zuwenden, sollten Sie ü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 Ihnen 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 Ihre VM einen Betriebssystemdatenträger. Hier haben Sie 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 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 Sie inzwischen sogar eine HDD für das Betriebssystem nutzen können („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 Sie Daten kontinuierlich lesen/schreiben, etwa beim Video-Streaming oder beim Lesen/Schreiben von Protokoll-Dateien. In solchen Fällen kann man mit einer HDD durchaus Geld sparen.

Sie sehen also, dass es nicht nur aus Gründen den Ausfallsicherheit eine gute Idee ist, die Festplatten für Betriebssystem, Anwendungen und ggf. Daten auf separate Laufwerke zu legen. In diesem Fall können Sie 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. Sie sollten aber auf jeden Fall eine SSD wählen. Da zudem der von Microsoft zugesicherte SLA bei Einzel-VMs vom Datenträger abhängt (Link zum Artikel), erhalten Sie 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 vom 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 Ihre Disk allerdings auch immun gegen Zonen-Ausfällen.

Eine Premium-SSD ist meist die beste Wahl, trotz des höheren Preises.

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 Sie beim Experimentieren im Kostenrechner leicht festzustellen können. 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 auch zum Ausprobieren gedacht. Tragen Sie 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ätte Sie also noch weitere 18 $ Luft für Transaktionen. Mit etwas Puffer sollten Sie also auf jeden Fall planen, vor allem weil es ja auch darum geht, das benötigte Budget vom Chef loszueisen.

Standard-SSDs haben keine Speichertransaktionen inkludiert.

Im Übrigen dürfte das Transaktionsmuster eine OS-Disk homogener sein, als bei einer Workload-Disk. Denken Sie hier beispielsweise an einen I/O-intensiven SQL-Server fahren Sie mit Premium-SSDs deutlich besser. Sollten IOPS und Bandbreite nicht ausreichen, müssen Sie zur höheren Kapazität greifen. Eine P80 mit 32TB bietet beispielsweise 20000 IOPS und 900 MB/s als einzelnes Laufwerk.

Theoretisch könnten Sie 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 dann im Gastsystem der ein Stripe-Set oder Software-RAID wie Storage Spaces oder LVM einrichten, Allerdings ist der gesamte IO einer einzelnen VM ebenfalls auf einen Maximalwert begrenzt, sodass Sie Ihr Wunsch-I/O auf diese Weise nicht beliebig steigern können.  

In der Praxis müssen Sie nun für Applikationen und Daten weitere Datenträger einplanen, wobei für Diese hinsichtlich IOPS, Durchsatz, Latenz usw. das Gleicher gilt, wie für die OS-Disk erläutert. Theoretisch könnten /sollten Sie 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ötigen Sie nur noch eine weitere Disk für Ihren Applikationen.

Um das Beispiel in dieser Hinsicht mit einem praxisrelevanten Szenario zu füttern, müssten Sie nun eigentlich eine weitere Disk in Ihre Berechnung aufnehmen. Dann dürften Sie im Abschnitt „Manage Disk“ bei Ihrer bisherigen SSD nicht einfach eine 2 eintragen, weil dies ja gar nicht unserem Szenario entspräche. Sie hätten dann 2 Betriebssystem-Disks. Was Sie stattdessen tun müssen 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 ….

Die Workload-Disk sollte deutlicher größer und performanter sein, als die OS-Disk.

Nun fügen wir auf die gleiche Weise eine Data-Disk vom Typ P30 mit 1TB, 5000 IOPS und 200 MB/s Durchsatz hinzu.

Unsere Data-Disc soll über hohe Kapazität und Performance verfügen.

Bei der Gelegenheit sollten Sie aus Sicherheitsgründen zumindest für die Data-Disc auch gleich einen Snapshot einplanen. Gerade bei IO-intensiven Workloads verlieren Sie nämlich bei einer Einzel-VM ausstehende Transaktionen, wenn Microsoft Ihre 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 Sie bei Azure Backup für eine Recovery-Auftrag einplanen müssen. Je nach „Füllstand“ Ihrer Disk muss der Snapshot indes nicht die volle Größe der Disk haben. Auch hier müssen Sie ggf. wieder schätzen. Wir planen im Beispiel mit 500 GB. Der Preis für unsere VM wächst damit auf 454,43 $. / Monat.

Ein Snapshot der Data-Disk hilft bei der schnellen Widerherstellung von Daten.

Datenübertragung

Wenden wir uns schließlich dem Thema Datenübertragung zu, ein gelegentlich unterschätzet Bestandteil des VM-Preises, dessen Veranschlagung ebenfalls ein intensives Auseinandersetzen mit der Charakteristik ihres Workloads erfordert. Hier erweist sich übrigens Azure Migrate (Link auf meinen Artikel) 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“ nun „Ausgehender Internetdatenverkehr“, wodurch der Standardeintrag bei „Weitergeleitet über“ zu „Globales Microsoft-Netzwerk“ wechselt. Da auch 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 Sie unser Gesamtpreis nun auf 499,23 $ erhöht.

Auch die ausgehende Datenübertragung muss berücksichtigt werden.

Netzwerkkosten

Trotzdem können Sie 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öchten Sie sich mit einer solchen VM zu Wartungszwecken verbinden, bräuchten Sie 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 Sie auf der VM einen öffentlich zugänglichen Service hosten möchten, etwa einen Webserver. Auch dann bräuchten Sie mindestens eine öffentliche IP-Adresse. Aus Sicherheitsgründen sollten Sie aber eher einen Loadbalancer verwenden. Sie sehen schon, dass wir jetzt ins Ungefähre abdriften. So kostet z. B. der Defender für Cloud 15 Euro pro Server, allerdings müssen Sie die 15 Euro dann für ausnahmslos alle Server in Ihrer Subscription bezahlen, da ein Defender-Plan nur auf Subscription-Ebene abgeschlossen werden kann.

Genau anders herum ist es bei Services wie Azure Bastion, VPN-Gateway oder Azure Firewall. Diese können sich im Rahmen einer Hub-and-Spoke-Architektur durchaus mehrere Services teilen.

Eine Hub-and-Spoke-Architktur zur Bereitstellung produktiver Workloads. (Quelle: Microsoft)

So kostet z. B. der Bastion-Service in der kleinsten Größe 138,70 $/Monat zzgl. ausgehender Datenübertragung, die Azure Firewall 912,50 $ zzgl. verarbeitete GB/Monat oder die Web Application Firewall zum Schutz Ihrer Web-Anwendung 102,93 $.

Beschränken wir uns daher der Einfachheit halber zunächst auf eine öffentliche IP-Adresse. Wählen Sie dazu im Kostenrechner die Rubrik „Netzwerk / IP-Adressen“ und fügen Ihrer Kalkulation eine öffentliche IP-Adresse vom Typ „Standard (ARM)“ hinzu. Auf die Unterschiede zwischen Basic und Standard habe ich in diesem Artikel (Link) hingewiesen. Haben Sie den VM-Betrieb oben mit 730 Stunden gerechnet, müssen Sie das selbstverständlich auch für die IP-Adresse tun. Die 3,65 $ halten sich aber im Rahmen.

Vergessen Sie die öffentliche IP-Adresse nicht.

Fazit

Schließlich haben Sie mit Hilfe der gleichnamigen Schaltflächen die Möglichkeit, Ihre Konfiguration zu speichern und/oder zu exportieren. Aus unseren Anfangspreis von rund 150 $ sind nun 502,88 $ geworden, die Sie realistisch ansetzen müssen, Support-Pläne, Backups und Sicherheits-AddOns und Puffer für den Chef nicht eingerechnet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.