Was sind Burst-Maschinen/VMs in Azure?
In Azure gibt es eine Vielzahl an VM-Sizes. Hier kann man schnell mal den Überblick verlieren. In diesem Beitrag gehe ich etwas genauer auf die VM-Sizes des Typen „Burst“ ein. Dieser ist im Vergleich zu vielen anderen Sizes recht günstig zu nutzen und warum das so ist, versuche ich im Folgenden etwas zu erklären. Auch gehe ich darauf ein, wie diese Size noch kostenfreundlicher genutzt werden kann und auch, was Microsoft sich meiner Meinung nach bei diesem VM-Size-Typ gedacht hat und wofür man ihn super nutzen kann.
Was sind Burst Maschinen in Azure?
Burst VMs in Azure sind nichts weiter als normale VMs, die allerdings eine Limitierung bei Ihrer CPU-Leistung haben. Burst Maschinen können nämlich nicht dauerhaft 100% ihrer verfügbaren CPU Leistung abrufen und nutzen. Um 100% nutzen zu können müssen sie nämlich so genannte „CPU-Credits“ ansammeln. Dies tun sie automatisch, während sie ihre definierte idle-Last unterschreiten. Also sozusagen im Leerlauf bzw. wenn sie nicht unbedingt CPU-Intensive Operationen ausführen. Diese „idle-Last“ variiert von Burst-Maschine zu Burst-Maschine. Bei den meisten liegt sie zwischen 20-30%. Sobald die VM mehr als diese CPU-Last abrufen muss (Beispielsweise bei OS- oder Software Updates) dann können die im „leerlauf“ angesammelten CPU-Credits eingesetzt werden um die maximalen 100% der CPU nutzen zu können. Sobald die CPU-Credits allerdings aufgebraucht sind fällt die maximale CPU-Last nochmal unter die 20-30%.
Sowohl die CPU-Basis Performance – also die Last, die die CPU nutzen kann, ohne CPU-Credits einzusetzen – als auch die maximale Anzahl an Credits die gesammelt werden können variieren von Burst-VM-Size zu Burst-VM-Size. Hier ein Beispiel:
Als Beispiel habe ich die Size „B2s“ und „B4ms“ zum Vergleichen ausgewählt. Abgesehen von den anderen Besonderheiten bei der B4ms kann man erkennen, dass sowohl die maximale Anzahl an CPU-Credits, die gesammelt werden können, als auch die Basis-CPU-Leistung bei der VM-Size höher ist. Das bedeutet praktisch, dass die B4ms mehr Leistung abrufen kann, ohne CPU-Credits einzusetzen und außerdem auch mehr als doppelt so viele Credits ansammeln kann und somit auch länger die 100% CPU-Last mit Einsatz der CPU-Credits abrufen kann, da schlicht mehr auf dem Konto der VM ist.
In der Praxis sieht das dann wie folgt aus:
In den Metriken einer Burst VM unter „CPU-Credits Remaining“ kann man gut nachverfolgen, was mit den Credits passiert. In dem Screenshot habe ich die VM zunächst durch einfaches „laufen lassen“ der VM Credits ansammeln lassen. Dadurch stieg der Graph an. Im Anschluss war die VM über Nacht aus. Somit konnte sie keine Credits sammeln und der CPU-Credits Kontostand hat an Credits abgebaut. Infolgedessen hat der Graph über die Nacht abgebaut. Nachdem die VM dann im Anschluss nochmal aktiv war und Credits sammeln konnte stieg der Graph auch wieder an. Dann habe ich ein Stück Software installiert, mit dem ich die CPU der VM auf rund ~90% Dauerlast gebracht habe. Die VM hat automatisch die angesammelten Credits eingesetzt um der Auslastung gerecht zu werden und auch 100% der CPU nutzen zu können. Im Graph sieht man auch gut den Zeitpunkt, an dem die Credits nochmal aufgebraucht waren. Das ist der Zeitpunkt, in der ich in der VM nur noch 40% meiner CPU nutzen konnte, da es sich hierbei um eine B2s Size handelt. Ich habe danach den CPU-Stresstest gestoppt und am Graph kann man ganz am Ende nochmal erkennen, dass er ein klein wenig ansteigt.
Gehts noch günstiger?
Die Antwort ist Ja. In Azure gibt es auch bei den Burst Maschinen den Sparplan sowie die Möglichkeit auf Reservierungen der Ressourcen auf ein oder drei Jahr/e. So können hier schonmal bis zu ~60% gespart werden.
Was bei einer Burst Maschine allerdings entgegen anderen VM-Sizes nie sinn macht, ist der Hybridvorteil. Möchte ich also meine Burst Maschine mit einer bestehenden Windows Server Lizenz ausstatten und so den Hybridvorteil nutzen, der mir bei anderen VM-Sizes ebenfalls Vergünstigungen einbringt, nutzen, wird man nach ein bisschen rumrechnen feststellen, dass man beim Mitmieten der Lizenzen günstiger ist als mit eigener Kauf-Lizenz.
Rechenbeispiel
Eine B2ms auf 1 Jahr reserviert als Beispiel kostet monatlich in Germany West Central mit einem 32GB Premium SSD LRS Datenträger ~47€. Dabei ist die Lizenz für das Windows Server OS bereits mit inkludiert und eingepreist.
Wähle ich nun im Azure-Calculator für diese VM den Hybridvorteil (Position 2 im Screenshot) erhalte ich einen monatlichen Preis für dieselbe VM, von ~42€.
Ich spare durch den Hybridvorteil also etwa 5€ im Monat und 60€ im Jahr.
Für keine Windows Server 2022 Lizenz zahle ich weniger als 60€ im Jahr. Ich denke hier sollte klar sein, dass der Hybridvorteil bei Burst-Maschinen keinen Sinn macht. Die Burst Maschinen sind somit die einzigen VM-Sizes, bei denen der Hybridvorteil monetär keinen Sinn macht, wenn es um die Windows Server Lizenzierung geht.
Der Spar Tipp meinerseits ist also: Reservierung oder Sparplan = JA, Hybridvorteil = NEIN.
Warum Burst Maschinen bzw. VMs?
Man mag sich jetzt vielleicht fragen, wo Burst Maschinen überhaupt sinn machen. Die Antwort ist eigentlich recht einfach. Überall da, wo keine regelmäßig hohe Rechenleistung erforderlich ist. Also beispielsweise Domain Controller, Azure-AD-Connect/Entra-ID-Connect Server, etc. Überall da können Burst Maschinen einwandfrei eingesetzt werden, um so kostengünstig eine VM zu betreiben.
Meiner Meinung nach ist die Intention aus Sicht von Microsoft Azure ganz klar. Mit Burst Maschinen kann Microsoft mehr verkaufen, als sie eigentlich physisch an Ressourcen vorhalten. Stichwort Überprovisionierung.