Tags: Azure, Virtualisierung, Hardware, Load Balancing
Microsoft gewährleistet grundsätzlich eine bestimmte Verfügbarkeit für virtuelle Maschinen. Das Service Level Agreement (SLA) hängt bei Einzel-VMs vom Laufwerkstyp ab. Availability Sets verteilen VMs so, dass sie nicht gleichzeitig von Wartungen oder Host-Defekten betroffen sind. Die Anwendung muss dabei aber mitspielen.
Beim Bereitstellen von Azure-VMs über das Portal haben Sie im Assistenten unter Basics im Abschnitt Instance details bei Availability-Options die Möglichkeit, eine Verfügbarkeitsoption zu bestimmen.
Standard ist No infrastructure redundancy required. In diesem Fall erhalten Sie stets eine Einzel-VM, deren Verfügbarkeit durch jene der Datenträger bestimmt wird. Bei Premium-Disks liegt diese bei 99,9 Prozent.
SLAs für Einzel-VMs
Wenn Sie im übernächsten Schritt Disks des Bereitstellungsassistenten stattdessen Standard SSD oder Standard HDD wählen, dann weist Azure darauf hin, dass sich nur eine VM mit Premium Disks für das SLA von 99,9 Prozent qualifiziert.
Das gilt auch dann, wenn sämtliche Disks der VM (OS-Disk und alle Daten-Disks) Premium-SSDs sind. Bis vor wenigen Monaten war dies auch die einzige Möglichkeit, um in Azure einen SLA für die Verfügbarkeit einer Einzel-VM zu bekommen.
Inzwischen gibt es auch SLAs für Einzel-VMs mit Standard-SSDs (99,5 Prozent) und mit Standard-HDDs (99 Prozent). Auch hier zählt das Service-Level-Agreement nur, wenn die VM über durchgängig gleiche Disk-Typen verfügt.
VMs in Availability Sets
Die drei höherwertigen Verfügbarkeitsoptionen für Azure-VMs sind Availability Set, Availability Zone und Virtual Maschine Scale Set, wobei ein Scale Set eigentlich keine Verfügbarkeitsoption ist, sondern das Pendant zu einer Autoscaling-Gruppe in AWS. Die Verfügbarkeit ist hier die gleiche wie bei Availability Zones.
Platzieren Sie zwei oder mehr Azure-VMs in einem Availability Set, dann sorgt die Azure-Plattform dafür, dass diese VMs nicht in der gleichen Fault-Domain (im gleichen Rack) und nicht in der gleichen Update-Domain platziert werden. Sie können also bei der sequentiellen Host-Wartung nicht gleichzeitig betroffen sein.
Eine Fehlerdomäne definiert eine Gruppe von virtuellen Computern, die eine Stromquelle und einen Netzwerkswitch gemeinsam nutzen. Die innerhalb der Verfügbarkeitsgruppe eingerichteten virtuellen Computer werden per Default auf bis zu drei Fehlerdomänen verteilt.
Dazu müssen Sie das Availability Set mit genau diesen beiden Konfigurations-Optionen einrichten. Dies können Sie im Zuge der VM-Erstellung oder vorab tun.
Microsoft garantiert dann eine Verfügbarkeit von 99,95 Prozent für die VM. Das ist natürlich nur statistisch korrekt, da ja Verfügbarkeit keine Frage des Deployments, sondern des Anwendungs-Designs ist.
Anwendungen müssen für Cluster geeignet sein
In der Praxis bedeutet das, dass Sie eine Anwendung benötigen, die mit horizontalem Clustering umgehen kann, beispielsweise eine Webserver-Farm, und dass Sie Ihr Availability Set dann auch im Backend eines Azure Load Balancers platzieren müssen.
Da das Availability Set einen Standardanwendungsfall für den Azure Load Balancer darstellt, ist dieser in der Basic-Version kostenlos und akzeptiert dort auch nur Availabilty Sets oder Scale Sets im Backend-Pool.
Der Load Balancer lässt sich dann unmittelbar bei der VM-Bereitstellung mit der VM im Availablity Set verbinden.
Würden Sie eine Web-Server-Farm mit Hilfe eines Azure Load Balancers und Azure-VMs im Backend-Pool bereitstellen (ohne Availability Set), dann wüsste die Azure-Pattform nicht, dass die VMs in Bezug auf die Anwendung miteinander in Beziehung stehen.
Theoretisch könnte es dann durchaus passieren, dass alle VMs Ihrer Anwendung auf Servern im gleichen Rack (Fault Domain) oder auf Servern der gleichen Update-Domäne platziert würden, was die Wahrscheinlichkeit eines gleichzeitigen Ausfalls erhöhen würde.
Konstrukte wie das Availability Set gibt es etwa bei AWS nicht, weil jede AWS-Region über Verfügbarkeitszonen (Availability Zones) verfügt. Bei Azure ist das nicht so.
Verwenden Sie allerdings auch in Azure eine Region, die mit Verfügbarkeitszonen (geographisch voneinander getrennten, autarken Rechenzentren, die durch Glasfaserleitungen mit niedriger Latenz miteinander verbunden sind), dann können Sie die VMs im Backend-Pool des Load Balancers auch in drei verschiedenen Zonen platzieren.
Das erhöht die Verfügbarkeit ihrer Anwendung auf 99,99 Prozent, auch wenn Microsoft diesen Wert statisch für die VM nennt.
Zusammenfassung
Für Einzel-VMs bietet Microsoft eine SLA zwischen 99 und 99,5 Prozent an. Wie hoch sie ausfällt, hängt von der gewählten Hardware für das Laufwerk ab.
Nimmt man mehrere VMs in eine Availability Zone auf, dann verteilt Azure diese so, dass sie nie gleichzeitig von einem Host-Defekt oder einer Wartung betroffen sind. Für die Verfügbarkeit der Anwendung beim Ausfall eines Hosts sorgt der Azure Load Balancer.
Täglich Know-how für IT-Pros mit unserem Newsletter
Thomas Drilling arbeitet ist seit fast 30 Jahren selbständig in der IT-Welt sowohl als Consultant, als auch als Redakteur, Buchautor und Journalist für viele ehemalige und aktuelle IT-Magazine sowie Blogs.
Aktuell bestätigt sich Thomas schwerpunktmäßig als IT-Trainer für Cloud-Computing in den Bereichen Microsoft Azure, Amazon Web Services und VMware.
Thomas ist zertifizierter Microsoft-Trainer für nahe das gesamte Portfolio an Microsoft Azure Trainings. Thomas ist außerdem zertifizierter Microsoft Azure Solutions Architect Expert sowie VMware Certified Professional und wurde von VMware in den Jahren 2016 bis 2022 mit dem Blogger-Status vExpert ausgezeichnet.
Thomas führt aktuell jeden Monat zwei selbstkonziperte 4-tägigen Grundlagenkurse in Cloud Computing mit Azure durch, die sich inhaltlich bewusst von den Microsft-Kursen abheben und vorzuweise als Bootcamp in eine besonderen Lokation stattfinden. Optional kann aber aber auch remote via Microsoft Teams teilgenommen werden.
Das aktuelle Trainingsprogramm findet sich unter Azure-Trainings. Weitere Informationen und Anmeldung über sein Azure-Blog.
Verwandte Beiträge
Weitere Links