Features und Vorteile von Virtual Machine Scale Sets
Microsoft Azure Virtual Machine Scale Sets bietet eine skalierbare Möglichkeit zum Ausführen von Anwendungen auf mehreren VMs. Die VMs in einer Skalierungsgruppe können über dieselbe Konfiguration verfügen und dieselben Anwendungen ausführen oder unterschiedliche Konfigurationen verwenden und unterschiedliche Anwendungen ausführen. Wenn die Nachfrage zunimmt, steigt die Anzahl der in der Skalierungsgruppe ausgeführten virtuellen Computer. Wenn die Nachfrage sinkt, können überschüssige VMs entfernt werden. VM-Skalierungsgruppen eignen sich ideal in Szenarien, die Compute-, Big Data- und Containerworkloads enthalten.
In unserem Beispielszenario verwenden Ihre Kunden eine der Websites des Unternehmens, um den Status ihrer Lieferungen zu verwalten und zu überprüfen. Da der Zugriff auf die Website global erfolgt, ist die Vorhersage der Auslastung zu einer bestimmten Tageszeit manchmal schwierig. Außerdem kann das Laden saisonbedingt variieren. So ist die Auslastung im Dezember aufgrund der Feiertage am Ende des Jahres besonders hoch. Sie verwenden eine VM-Skalierungsgruppe zur Verarbeitung der wechselnden Auslastung und Gewährleistung einer niedrigen Reaktionszeit für Kundenanforderungen.
In dieser Lerneinheit erfahren Sie mehr über die Funktionen von Virtual Machine Scale Sets. Am Ende dieser Lerneinheit sind Sie in der Lage, die Funktionsweise einer Skalierungsgruppe zu beschreiben. Sie erfahren, wie eine Skalierungsgruppe Szenarien mit horizontaler Skalierung und Hochskalieren unterstützt, und lernen, wie Sie die für eine Skalierungsgruppe verfügbaren Ressourcen mithilfe der automatischen Skalierung und der zeitplanbasierten Skalierung anpassen.
Was ist eine VM-Skalierungsgruppe?
VM-Skalierungsgruppen in Azure sind so konzipiert, dass Sie viele VMs mit Lastenausgleich bereitstellen und verwalten können. VM-Skalierungsgruppen sind intelligent genug, um die Anzahl der VM-Instanzen automatisch zentral hoch- oder herunterzuskalieren.
Die für das Aktivieren der Herauf- oder Herunterskalierung verwendeten Kriterien können von einem benutzerdefinierten Zeitplan oder von der tatsächlichen Nachfrage und Nutzung abhängen. In Skalierungsgruppen kann dieselbe Konfiguration gleichzeitig auf eine Gruppe von VMs angewendet werden. So müssen Sie nicht jede einzelne Instanz manuell konfigurieren, wenn Sie das nicht möchten.
Eine Skalierungsgruppe verwendet einen Lastenausgleich, um die Anforderungen auf die VM-Instanzen zu verteilen. Sie verwendet einen Integritätstest oder die Erweiterung für Anwendungsintegrität, um die Verfügbarkeit der einzelnen Instanzen zu ermitteln. Der Integritätstest oder die Erweiterung für Anwendungsintegrität pingt die Instanz. Wenn die Instanz antwortet, weiß die Skalierungsgruppe, dass die Instanz weiterhin verfügbar ist. Wenn der Ping fehlschlägt oder ein Timeout auftritt, weiß die Skalierungsgruppe, dass die Instanz nicht verfügbar ist, und sendet keine Anforderungen.
Virtual Machine Scale Sets unterstützt sowohl Linux- als auch Windows-VMs in Azure und kann bis zu 1.000 VMs in einer einzelnen Skalierungsgruppe ausführen.
Für die Arbeit mit großen Workloads mit unterschiedlichen und unvorhersehbaren Anforderungen eignen sich Skalierungsgruppen besonders gut. Virtual Machine Scale Sets bieten virtuelle Computer, die als Reaktion auf die Nachfrage skaliert werden können und über einen Lastenausgleich verfügen. Sie stellen automatisch eine hochverfügbare Umgebung bereit.
Skalierungsoptionen für Skalierungsgruppen
Skalierungsgruppen sind für Kosteneffizienz konzipiert. Neue VM-Instanzen werden nur bei Bedarf erstellt.
Manchmal müssen Sie je nach Bedarf Computer in einer Skalierungsgruppe hinzufügen oder entfernen. Es kann beispielsweise vorkommen, dass Sie einige Computer in ruhigeren Phasen der Woche oder des Tages aufgrund weniger Anforderungen nicht ausführen müssen. Dann können Sie die Anzahl der VMs in einer Skalierungsgruppe manuell anpassen, indem Sie die Instanzenanzahl erhöhen oder verringern. In vielen Fällen empfiehlt es sich jedoch, VMs mithilfe von Regeln automatisch hinzuzufügen oder zu entfernen. Dabei basieren die Regeln auf Metriken. Sie stellen sicher, dass abhängig von der Nachfrage oder vom Zeitplan die richtige Anzahl von VMs hinzugefügt wird.
Skalieren einer Skalierungsgruppe
Virtual Machine Scale Sets bietet Unterstützung beim schnellen Erstellen und Verwalten der VMs bei schwankenden Workloads. Sie können die Skalierung für eine Skalierungsgruppe auf zwei Arten konfigurieren:
Geplante Skalierung: Sie können die Skalierungsgruppe proaktiv planen, sodass zur Abdeckung einer Datenverkehrsspitze eine oder mehrere Instanzen bereitgestellt werden und die Skalierungsgruppe nach der Datenverkehrsspitze wieder herunterskaliert wird.
Automatische Skalierung: Wenn die Arbeitsauslastung variabel ist und nicht immer geplant werden kann, können Sie die metrikbasierte Schwellenwertskalierung verwenden. Die automatische Skalierung skaliert auf der Grundlage der Knotenauslastung auf. Sobald die Ressourcen wieder zu einer Baseline zurückkehren, findet ein horizontales Herunterskalieren statt.
Beide Optionen erfüllen die Skalierungsanforderungen für die Verwaltung der damit verbundenen Kosten. Im Folgenden werden Szenarios beschrieben, in denen Sie möglicherweise verschiedene Skalierungsarten verwenden.
Geplante Skalierung
Angenommen, Sie sind Teil des DevOps-Teams, das für einen großen Lebensmittelzulieferer zuständig ist. Freitagnacht ist in der Regel eine besonders hektische Zeit. Im Gegensatz dazu ist es mittwochs um 7:00 Uhr normalerweise am ruhigsten.
Azure berechnet die Gebühren basierend auf der Nutzung von Ressourcen. Sie sollten daher keine Dienste ausführen, die Sie nicht benötigen. Wenn Sie 100 Webserver benötigen, um Ihre Nachfrage an einem Freitagabend zu erfüllen, dann stört es Sie nicht, dafür zu bezahlen. Wenn Sie aber an einem Mittwochmorgen nur zwei Server benötigen, möchten Sie nicht auch für die 98 ungenutzten Server bezahlen. Wenn Sie Ihre Kosten verwalten und gleichzeitig alle betrieblichen Anforderungen erfüllen möchten, sollten Sie die geplante Skalierung verwenden.
Automatische Skalierung
Angenommen, Sie sind Teil des DevOps-Teams, das für eine beliebte Schuhmarke zuständig ist. Kurz vor der Einführung eines Produkts sind Sie von der großen Nachfrage nach Ihrem Dienst überzeugt. In welchem Umfang die Nachfrage steigen wird, ist aber möglicherweise nicht vorhersehbar und schwierig einzuschätzen. Sie sollten daher dafür sorgen, dass der Dienst durch horizontales Skalieren an die Nachfrage angepasst wird, während die aktuellen Ressourcen verwendet werden.
In diesem Szenario können Sie die auf Metriken basierende automatische Skalierung verwenden. Bei dieser Art der automatischen Skalierung wird Ihre Infrastruktur bei steigender Nachfrage horizontal hochskaliert. Bei einem Rückgang der Nachfrage wird wieder herunterskaliert.
Reduzieren von Kosten mithilfe von Spot-VMs
Mit Azure Spot-VMs profitieren Sie von unserer ungenutzten Kapazität und erzielen erhebliche Kosteneinsparungen. Wenn die Kapazität von Azure wieder benötigt wird, werden die Azure Spot Virtual Machines durch die Azure-Infrastruktur entfernt. Aus diesem Grund eignen sich virtuelle Computer hervorragend für Workloads, die Unterbrechungen tolerieren, z. B. Batchverarbeitungsaufträge, Dev/Test-Umgebungen und umfangreiche Computeworkloads.
Die verfügbare Kapazität kann abhängig von der Größe, Region, Tageszeit usw. variieren. Beim Bereitstellen von Azure Spot Virtual Machines weist Azure die VMs zu, wenn Kapazität verfügbar ist, aber es gilt keine SLA für diese VMs. Eine Azure-Spot-VM bietet keine Garantien für Hochverfügbarkeit. Wenn die Kapazität von Azure wieder benötigt wird, werden die Azure Spot Virtual Machines mit einer Vorlaufzeit von 30 Sekunden durch die Azure-Infrastruktur entfernt.
Wenn die Rechenleistung in Azure wieder benötigt wird, erhalten Sie eine Benachrichtigung zu der VM, die von Azure aus der Skalierungsgruppe entfernt wird. Wenn Sie eine VM bereinigen oder auf einer VM Code ordnungsgemäß beenden müssen, können Sie mithilfe von Azure Scheduled Events auf die Benachrichtigung innerhalb der VM reagieren. Außerdem können Sie die Skalierungsgruppe anweisen, eine weitere VM als Ersatz für die entfernte VM zu erstellen. Es kann aber nicht garantiert werden, dass auch tatsächlich eine neue VM erstellt wird.
Mit Azure Spot Virtual Machines können Sie zwei Arten der Entfernung angeben, indem Sie eine Entfernungsrichtlinie festlegen:
- Richtlinie Freigeben (Standard): Die VM wird beendet. Die Zuordnung der Verarbeitungs- und Arbeitsspeicherressourcen wird aufgehoben. Die Datenträger bleiben intakt und die Daten werden beibehalten. Für den Speicherplatz fallen Gebühren für Sie an, auch wenn die VM nicht ausgeführt wird.
- Delete-Richtlinie: Die gesamte VM wird entfernt, einschließlich aller zugrunde liegenden Datenträger, sodass Ihnen kein Speicher berechnet wird.
Azure Spot Virtual Machines sind nützlich für Workloads, die mit Unterbrechungen ausgeführt werden, oder wenn Sie größere VMs zu geringeren Kosten benötigen. Beachten Sie jedoch, dass Sie nicht steuern können, wann eine VM entfernt wird.