VM Skalierungsgruppen

…oder wie vermehren sich Webserver die in Stress geraten

Es war einmal ein Webshop

Vor ein paar Monaten, gab es einen „namenhaften“ Webshop. Dieser Webshop hatte die besondere Idee nachts, zur besten Super Bowl Zeit, durch super Angebote neue Kunden anzulocken. Die Rechnung ging auf und mitten in der Nacht verbuchte diese Seite einen Mega-Ansturm.

Aber … wie konnten die jeweiligen IT-Verantwortlichen Personen im Vorfeld wissen, wie viel Rechenpower für diesen Webshop benötigt werden würde. Zu wenig Leistung und die Kunden klicken nicht weiter, wobei zu viel Leistung  einen unnötigen Kostenprozess nach sich ziehen würde.

Die Lösung kann eine Art Skalierungsgruppe gewesen sein!

Microsoft Azure

Diese Idee wird dort durch eine VM-Skalierungsgruppe umgesetzt.

Wobei die Umsetzung via IaaS, die Lösung via PaaS  über Web-Apps oder über Cloud-Dienste zur Verfügung gestellt werden könnte. Allerdings sind das ganz andere Ansätze und daher spielen sie in diesem Bericht keine Rolle.

Zur Grundlage der VM-Skalierungsgruppen Idee

Es handelt sich hier um eine IaaS Umsetzung von Azure. Eine VM-Skalierungsgruppe erstellt bis zu 1000 VM Instanzen, die sich nach einem Regelwerk, auf Grund von CPU Belastung, dynamisch skalieren lassen.

Wir können hier auch eigene VM-Images als Vorlagen benutzen, allerdings ist dann eine solche VM-Skalierungsgruppe auf 300 VM´s beschränkt.

… na reicht doch auch …

Die VM´s einer VM-Skalierungsgruppe, werden durch einen „kostenfreien“ Azure-Loadbalancer, gerecht mit Arbeit versorgt. Zudem sind weitere, bei meinen Lesern hoffentlich bekannte, Azure-Techniken zum Schutz der VM´s eingebaut, die da wären

  • Netzwerksicherheitsgruppen
  • Konfigurierbare Routingtabellen innerhalb der vNets
  • Verfügbarkeitsgruppen (hier aber mit 5 Fehler und 5 Updatedomänen)
  • RDP Erreichbarkeit, die hinter NAT Adressen mit anderen Port versteckt liegen

So bauen wir eine sinnvolle Umgebung auf

  1. Eine VM Vorlage erzeugen (gerne bereits in Azure als IaaS-VM)
    1. Patchen
    2. Dienste installieren … Beispiel WEB-Server
    3. Sysprep – OOBE durchführen
    4. Als Image aufnehmen
  2. Die Eigenschaften der Vorlage festhalten
    1. Get-AzureRmImage
    2. ImageName
    3. RGName
  3. VM-Skalierungsgruppen Script ausführen
    1. Eigene Scripte
    2. GitHub
    3. Oder die Vorlage von mir (siehe Link unten)
  4. Skalierungsregeln festlegen
  5. Loadbalancer Regeln (Integritätstests und Lastenausgleichsregeln)
  6. Virtuelles Netzwerk bearbeiten (Netzwerksicherheitsregeln, Routingtabellen …)

Sollte eine VM-Vorlage bereits erstellt worden sein, steht eine solche Umgebung innerhalb von 10 Minuten.

Dokumentation von Microsoft: https://docs.microsoft.com/de-de/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-overview

so, nun wieder genug gelesen, ab an die Geräte und testen!

Viele Grüße

Der Microsoft Erklärbär der ADN
Andre Büddemann

Hier gelangen Sie zum Dokument einer Script-Umsetzung von mir:

 https://adn.sharefile.com/d-s17eccf3a49147e6a

Hinterlasse eine Antwort

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

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>