Zum Hauptinhalt springen

Autoscaling

Die Cloud Provider Ionos und Vultr unterstützen die Autoscaling-Funktion bis dato nicht.

Mit Hilfe der Autoscaling-Funktion erstellt und löscht das System nach Bedarf automatisch virtuelle Maschinen, basierend auf einer von Ihnen bereitgestellten Basis-VM. Das System verteilt die Last dynamisch (Load-Balancing), je nach Benutzerauslastung, CPU-Last und RAM-Belegung.

Zusätzlich kann Autoscaling genutzt werden, um alternative Instanztypen einzusetzen und so bei Ressourcenengpässen einen reibungslosen Ablauf sicherzustellen.

Falls Sie für Ihre Umgebung lokale Benutzerprofile benötigen, können Sie dies über Windows interne Boardmittel lösen (z.B. FSLogix).

Sie haben bereits Benutzer-Lizenzen für Ihre Benutzer aktiviert, entsprechend viele Benutzer angelegt und ausreichend App-Lizenzen hinzugebucht? Haben Sie zudem ein Cloud-Abonnement in oneclick™ erstellt oder angebunden? Dann können Sie mit der Autoscaling-Einrichtung starten.

Folgende Schritte sind notwending um Autoscaling einzurichten:

Es ist zwingend erforderlich, dass alle Nutzer über das oneclick™ Streaming auf das System zugreifen, damit diese erkannt werden. 

 

1. Netzwerk und optional Domänencontroller vorbereiten

  1. Legen Sie ein Netzwerk an.
  2. Legen Sie eine Netzwerksicherheitsrichtlinie für die oneclick™ IP-Adressen an.
  3. Erstellen Sie für Ihren Benutzer eine VM, einen Zielsystem-Pool, eine App-Konfiguration sowie eine App-Instanz, wenn Sie einen Domänencontroller für Ihre Benutzerverwaltung und deren Zugänge verwenden möchten.
  4. Richten Sie diese VM anschließend als Domänencontroller ein.
  5. Ist ihr Domänencontroller einsatzbereit, bearbeiten Sie Ihre bereits vorhandene Netzwerksicherheitsrichtlinie. Geben Sie die Netzwerkrange des internen Netzwerks frei, damit sich die später erstellten virtuellen Maschinen und der Domänencontroller „sehen”.
  6. Sie finden den CIDR-Bereich in der Detailseite Ihres Domaincontrollers.

 

2. Basis-VM für Autoscaling erstellen

Erstellen Sie eine VM direkt über oneclick™. Gehen Sie dabei folgendermaßen vor:

  1. Erstellen Sie eine VM mit der passenden Größe, sowie einen Zielsystem-Pool, eine App-Konfiguration und eine App-Instanz für Ihren Benutzer, um darauf zuzugreifen und richten diese ein. Erzeugen Sie anschließend ein Image. Die öffentlichen Images der Cloud Provider werden regelmäßig geupdated und können deswegen für Autoscaling nicht als Basis-Image verwendet werden. 
  2. Erstellen Sie im Anschluss erneut eine VM mit dem erzeugten Image, die Sie als Basis-VM für das Autoscaling verwenden möchten. Wählen Sie neben den üblichen Einstellungen (Voraussetzung für Windows-Clients: 4 CPU und 4 GB RAM) das erzeugte Image aus. Aktivieren Sie den Schalter bei „einer bestehenden Active-Directory-Domäne beitreten“ und geben Sie die Daten für einen Domänen-Beitritt ein. Lassen Sie den Schalter bei „Für Prozessausführung vorbereiten“ aktiv.
  3. Benötigen Sie eine RDSH-Rolle für die Server, können Sie optional mit der Erstellung der VM einen Prozess „Benutzerdefiniertes PowerShell Script ausführen“ lassen. Vom Cloud-Abonnement importierte VM: Falls Sie die VM, die als Basis für das Autoscaling dient, von Ihrem Cloud-Abonnement importieren möchten, konfigurieren Sie diese entsprechend.

 

3. Eventprofil für Autoscaling anlegen

  1. Legen Sie ein Eventprofil an und wählen Sie hierbei den Anwendungsfall für „Zielsystem-Pools“ und eine passende „Zeitzone“ aus.

  2. Als „Auszuführende Aktion“ wählen Sie „Zielsystem-Pool-Autoscaling“.

  3. Entscheiden Sie sich für eine Basis VM, auf der Sie das Autoscaling ausführen möchten. Alle VMs die künftig für das Skalieren verwendet werden, sind Klone dieser Basis-VM. Je nach Provider haben Sie die Möglichkeit, alternative Instanztypen zu nutzen. Dies gewährleistet, dass Ihre VMs auch bei Ressourcenengpässen reibungslos weiterlaufen, indem automatisch alternative Instanztypen verwendet werden. Fallback-Instanztypen Aktivieren Sie den Schiebregler, wenn Sie Fallback-Instanztypen einrichten möchten. Diese Funktion ist für die Provider Open Telekom Cloud, Orange und Huawei verfügbar. Sie ermöglicht die Nutzung alternativer Instanztypen, falls der Standard-Instanztyp in der Basis-VM nicht in ausreichender Menge verfügbar ist. Wählen Sie die gewünschten Fallback-Instanztypen aus der Liste der verfügbaren Optionen. Möchten Sie ausschließlich Fallback-Instanztypen benutzen, aktivieren Sie die entsprechende Option durch das Anhaken des Kästchens. So wird sichergestellt, dass nur die Fallback-Instanztypen genutzt werden, auch wenn der ursprüngliche Instanztyp verfügbar ist. Die Instanztypen werden der Reihenfolge nach genutzt, wie in der unten dargestellten Liste angegeben. Abweichender Instanztyp Für andere Provider haben Sie die Möglichkeit, einen abweichenden Instanztyp zu definieren, der anstelle des Basis-VM-Instanztyps genutzt wird. Aktivieren Sie den Schiebregler und wählen Sie aus der Liste der unterstützten Instanztypen eine geeignete Alternative.

  4. Wählen Sie nun über den Schiebregler den gewünschten Skalierungstyp aus. Sollten Sie mit Programmen arbeiten, die eine hohe Rechenleistung benötigen (z.B. CAD-Programme) eignet sich am besten eine Einfachbelegung (Single user). Arbeiten Sie hingegen in erster Linie mit Software, die wenig Rechenleistung erfordert ist eine Mehrfachbelegung (Multi user) die richtige Wahl.

    Einfachbelegung (Single user)

    Fällt Ihre Wahl hier auf eine Einfachbelegung, legen Sie anschließend die Vorgaben für die Anzahl an skalierenden Systemen fest: Beachten Sie zudem auch die Hinweise hinsichtlich Hochskalieren und Herunterskalieren, die Ihnen im oneclick™ Admin angezeigt werden!

    • Anzahl vorzuhaltender gestoppter Systeme: Hier legen Sie fest, wie viele fertig aufgesetzte Systeme im gestoppten Zustand vorgehalten werden sollen. Ist eines dieser Systeme in Benutzung, erstellt oneclick™ automatisch einen neuen Klon und hält diesen in gestopptem Zustand vor, um die von Ihnen eingestellte Anzahl wieder herzustellen.
    • Anzahl vorzuhaltender laufender Systeme: Hier legen Sie fest, wie viele bereits laufende (aktive) Systeme permanent vorgehalten werden. Laufende Systeme bieten einen besonders schnellen Zugang zur Benutzeroberfläche und sind zu jeder Zeit einsatzbereit. Auch hier wird vom System automatisch ein neuer Klon erzeugt, sobald eines der laufenden Systeme in Benutzung ist. Bei einer Einfachbelegung sollte stets mindestens ein System laufend vorgehalten werden, damit ein Login ohne Verzögerung erfolgen kann. Bei mehreren Mitarbeitern empfehlen wir, die Anzahl hier entsprechend anzupassen, um Wartezeiten zu vermeiden.
    • Mindestanzahl laufender Systeme: Hier legen Sie die Mindestanzahl an laufenden Systemen fest. So können Sie sichergehen, dass stets genügend aktive Systeme für Ihre Mitarbeiter vorgehalten werden.
    • Maximalanzahl zusätzlicher Systeme: Hier legen Sie die maximale Anzahl an zusätzlichen Systemen fest. Diese Begrenzung ermöglicht Ihnen einen schonenden Umgang mit Ressourcen und finanziellen Mitteln. Die Lastenverteilung (Load Balancing), ebenso wie die aktiven Eventprofile, wird anschließend in den Einstellungen des jeweiligen Zielsystem-Pools angezeigt. Legen Sie anschließend das Intervall für die Ausführung fest.

Mehrfachbelegung (Multi user)

Fällt Ihre Wahl auf eine Mehrfachbelegung (Multi user), passen Sie die Einstellungen wie folgt Ihren Anforderungen an. Beachten Sie zudem auch die Hinweise hinsichtlich Hochskalieren und Herunterskalieren, die Ihnen im oneclick™ Admin angezeigt werden!

  • Stellen Sie den passenden Grenzwert für die durchschnittliche CPU-Last und die RAM-Belegung ein. Diese wird so berechnet, wie sie von Ihnen im Pool bei den Load Balancing Einstellungen festgelegt wurde.
  • Wählen Sie einen Grenzwert für die durchschnittliche Benutzeranzahl. Bei Überschreitung dieses Wertes über alle Server hinweg, wird vom System hochskaliert. Das System erzeugt in diesem Fall weitere VMs.
  • Legen Sie die Anzahl der Systeme fest, die in einem Schritt skaliert werden sollen. Steht hier beispielsweise der Wert 1, wird immer genau eine VM erzeugt, bevor das System auf die neuen Bedingungen eingeht. Nehmen Sie ebenfalls die Einstellungen vor, zu denen Sie das System herunterskalieren soll:
  • Wählen Sie einen Grenzwert für die durchschnittliche CPU-Last und die RAM-Belegung.
  • Stellen Sie auch hier einen Grenzwert für die durchschnittliche Benutzeranzahl ein. Bei Erreichen dieses Wertes wird vom System herunterskaliert.
  • Optional können Sie das Herunterskalieren erzwingen, auch wenn die Benutzer noch angemeldet sind. Setzen Sie hierfür einen Haken bei „Skalieren auch bei aktiven Benutzern erzwingen“. Wählen Sie dann bei „Zeitraum in Minuten, bevor auch bei aktiven Nutzern herunterskaliert wird“ den passenden Wert. Aktiven Benutzern wird zu Beginn des eingestellten Zeitraums eine Warnung mit der verbleibenden Zeit angezeigt.

Bestimmen Sie die Anzahl der skalierenden Systeme:

  • Anzahl vorzuhaltender gestoppter Systeme: Hier legen Sie fest, wie viele fertig aufgesetzte Systeme im gestoppten Zustand vorgehalten werden sollen. Ist eines dieser Systeme in Benutzung, erstellt oneclick™ automatisch einen neuen Klon und hält diesen in gestopptem Zustand vor, um die von Ihnen eingestellte Anzahl wieder herzustellen.
  • Anzahl vorzuhaltender laufender Systeme: Hier legen Sie fest, wie viele bereits laufende (aktive) Systeme permanent vorgehalten werden. Laufende Systeme bieten einen besonders schnellen Zugang zur Benutzeroberfläche und sind zu jeder Zeit einsatzbereit. Auch hier wird vom System automatisch ein neuer Klon erzeugt, sobald eines der laufenden Systeme in Benutzung ist. Es empfiehlt sich, stets mindestens ein System laufend vorzuhalten, damit ein Login ohne Verzögerung erfolgen kann. Bei mehreren Mitarbeitern sollte die Anzahl entsprechend angepasst werden, um Wartezeiten zu vermeiden.
  • Maximalanzahl zusätzlicher Systeme: Hier legen Sie die maximale Anzahl an zusätzlichen Systemen fest. Diese Begrenzung ermöglicht Ihnen einen schonenden Umgang mit Ressourcen und finanziellen Mitteln. Die Lastenverteilung (Load Balancing), ebenso wie die aktiven Eventprofile, wird anschließend in den Einstellungen des jeweiligen Zielsystem-Pools angezeigt.

Intervall für die Ausführung festlegen

Legen Sie unter dem Punkt „Legen Sie ein Intervall für die Ausführung fest“ abschließend einen Startzeitpunkt fest, zu dem die Einstellungen gesetzt werden.

  • Möchten Sie beispielweise, dass Ihre Einstellungen von Montag bis Freitag greifen, wählen Sie im Kalendermenü Montag aus, stellen Sie die gewünschte Startzeit ein und setzen Sie einen Haken bei „Montag“.
  • Legen Sie durch Klick auf das Plus-Symbol ein weiteres Event an.
  • Nehmen Sie hier nun die Einstellungen für das Wochenende vor und wählen Sie als Startzeitpunkt im Kalendermenü Freitag, sowie eine Uhrzeit am Abend aus, ab der die Einstellungen für das Wochenende greifen sollen. Selektieren Sie ebenfalls den Freitag als Wochentag in der Liste darunter. An diesem Zeitpunkt überschreibt das Event die vorher geltenden Einstellungen, bis das Montags-Event wieder neu greift.

Finden Sie heraus, wann Ihre Benutzer normalerweise arbeiten, um ein möglichst effizientes Profil zu erstellen. Wir empfehlen Ihnen, die von Ihnen vorgenommenen Einstellungen mit einigen Nutzern zu testen, bis Sie die geeignete Anzahl von VMs für die vorzuhaltenden Systeme ermittelt haben.

 

4. Zielsystem-Pool anlegen und Load Balancing einstellen

  1. Legen Sie einen Zielsystem-Pool an, ohne ein Zielsystem auszuwählen und aktivieren Sie Load Balancing für diesen Zielsystem-Pool.

  2. Da in diesem Fall die VM über oneclick™ angelegt wurde, sind die angegebenen Hinweise zur Vorbereitung des Load Balancings hinfällig. Alle nötigen Einstellungen wurden hier bereits im Vorfeld durch die Prozessvorbereitung und die anschließende Wahl der richtigen Netzwerksicherheitsgruppe vorgenommen.

  3. Anschließend ändert sich die Funktion des Buttons und Sie können Einstellungen vornehmen, wie das Load Balancing stattfinden soll.

    Einfachbelegung (Single user)

    Klicken Sie auf das Verteiler-Symbol und nehmen Sie für Ihren Anwendungsfall mit Single user VMs folgende Einstellungen vor:

    • Setzen Sie die Gewichtungsfaktoren bei CPU und Memory auf 0, da diese Faktoren bei der Anwendung mit Single User VMs nicht benötigt werden.
    • Setzen Sie den Gewichtungsfaktor für "Angemeldete Benutzer" auf 10.
    • Aktivieren Sie die Einstellung "Benutzerbegrenzung pro Zielsystem und legen Sie die "Maximale Nutzerzahl" auf 1 fest.
    • Bei einer Einfachbelegung ist die Option "Bestehende Benutzer-Sitzungen wiederverwenden" nicht möglich. Jegliche Eingabe an dieser Stelle wird vom System ignoriert.

    Mehrfachbelegung (Multi user)

    Klicken Sie auf das Verteiler-Symbol und nehmen Sie für Ihren Anwendungsfall mit Multi user VMs folgende Einstellungen vor:

    • Sie können zunächst für die CPU-Auslastung und die Arbeitsspeicher-Belegung sowohl die Zeit für die Berechnung des Datenmittelwerts als auch den Gewichtungsfaktor verändern. Ebenso können Sie einen Wert für die Gewichtung angemeldeter Benutzer einstellen. Der Gewichtungsfaktor beschreibt, mit welcher Priorität die entsprechende Option behandelt werden soll. Die Skala reicht hier von 0 bis 10. Erhalten mehrere Einträge den gleichen Wert, werden sie mit gleicher Priorität behandelt.
    • Optional können Sie eine Benutzerbegrenzung pro Zielsystem festlegen, um sicherzustellen, dass nicht mehr als X Benutzer auf ein Zielsystem gelassen werden.
    • Möchten Sie die "Bestehende Benutzer-Sitzungen wiederverwenden" beachten Sie hier unsere Hinweise zur Verwendung von Sticky Sessions.
  4. Legen Sie nun auf Ihrem Domänencontroller Benutzernamen und Passwörter für alle Ihre Benutzer an.

  5. Legen Sie eine App-Konfiguration für Ihren Pool an.

  6. Erstellen Sie App-Instanzen mit dieser App-Konfiguration. Wählen Sie „Bestes Zielsystem des Loadbalancing-Pools“ als Zielsystem aus und tragen die Anmeldedaten für Ihre Benutzer ein.

 

5. Autoscaling starten

  1. Sie haben jetzt alle Vorbereitungen getroffen und können das Autoscaling starten: Wählen Sie das Autoscaling-Eventprofil in Ihrem Pool aus.
  2. Folgende Prozesse laufen nun ab:
    • Je nach Einstellung (z.B. soll eine gestoppte VM und eine gestartete VM vorgehalten werden) werden zwei Klon-VMs erstellt und der Domain-Join durchgeführt.
    • Auf beiden VMs wird versucht die WinRM Rolle zu installieren, um die Windows Metriken (CPU, RAM, User) auslesen zu können. Kontrollieren Sie im Menü Prozesse, ob der Prozess erfolgreich ausgeführt wird bzw. ob die Rolle erfolgreich installiert wird. Je nach Systemvoraussetzungen kann dieser Prozess mehrmals ausgelöst werden, falls die VM noch nicht reagieren sollte.
    • Nachdem in den Einstellung z.B. 1 VM in "aus" vorgehalten werden soll, wird eine VM ausgeschaltet, sobald die WinRM Rolle installiert ist. Die andere VM bleibt “an” und bleibt bereit, damit sich ein Benutzer ohne Wartezeit anmelden kann.
    • Sobald sich nun ein Benutzer anmeldet, wird hochskaliert. Das System versucht so, erneut den Anfangszustand zu erreichen, in dem zusätzlich zur belegten VM eine gestoppte VM und eine freie gestartete VM vorgehalten wird.
    • Meldet sich der Benutzer wieder ab bzw. sind im Durchschnitt weniger Benutzer auf den VMs angemeldet, wird nach den festgelegten Einstellungen herunterskaliert. Bei der herunterskalierenden VM wird der Prozess „domainMembershipWindows” ausgeführt (die VM verlässt die Domäne) und anschließend gelöscht, damit keine weiteren Kosten entstehen.

 

6. Hinweise zum Verhalten von Autoscaling

Zusätzlich zu den vorgenommenen Einstellungen haben Sie die Möglichkeit, das Autoscaling manuell zu beeinflussen.

  • So können Sie etwa eine VM manuell löschen, sollte sie beschädigt sein. In diesem Fall gleicht das Autoscaling die verloren gegangene VM wieder aus und erstellt eine neue.
  • Das Autoscaling läuft einmal pro Minute ab. Ändern sich also die Metriken so, dass skaliert werden müsste, dauert es mindestens eine Minute bis das System entsprechend reagiert.
  • Werden auch nach mehrmaligem Versuch Metriken zu bekommen, keine von der VM empfangen, skaliert das System weiter hoch (eine neue VM wird erstellt). Die beschädigte VM wird hierauf nach ca. 30 Minuten gelöscht.
  • Um das Autoscaling komplett zu unterbrechen, entfernen Sie das Eventprofil vom Zielsystem-Pool. Hierdurch werden alle VMs gelöscht.
  • Möchte ein Benutzer unabhängig vom Autoscaling arbeiten, um beispielsweise Berechnungen auch über Nacht laufen zu lassen, können Sie Ihre Basis-VM manuell klonen und diese dem Pool hinzufügen. Weisen Sie diesem Benutzer anschließend über die App-Instanz Ihre manuell hinzugefügte VM zu. Alle manuell hinzugefügten VMs werden nicht vom Autoscaling berücksichtig.

 

7. Hinweise zu Sticky Sessions (bei Multi user Umgebungen)

Standardmäßig erhält der Benutzer immer eine neue Sitzung. In oneclick™ haben Sie jedoch die Möglichkeit, die Sitzung für einen festgelegten Zeitraum beizubehalten. Öffnen Sie hierzu das Drop-Down-Menü unter dem Punkt „Zeitraum, in dem bestehende Sitzungen wieder benutzt werden sollen“ und wählen Sie den gewünschten Zeitraum aus. Die hier angegebene Zeitspanne muss anschließend ebenfalls in Windows exakt so eingestellt werden. (Siehe „Sticky Sessions in Windows konfigurieren“ weiter unten.) Zusätzlich haben Sie die Möglichkeit eine Karenzzeit einzustellen. Diese ist beispielweise für das Zurückspielen von Roaming-Profilen nötig, falls diese in Gebrauch sind. Geben Sie hierzu in das entsprechende Feld unter dem Punkt „Karenzzeit in Sekunden“ die Zeitspanne ein, die nach Ihrer Einschätzung für diesen Vorgang ausreichend ist. Die empfohlene Länge der Karenzzeit hängt von vielen Faktoren ab und sollte individuell festgelegt und nach einer angemessenen Testphase angepasst werden. Vor allem bei Vorgängen mit einem hohen Datenaufkommen, wie bei der Bearbeitung von großen Dateien, empfiehlt sich eine längere Karenzzeit. Wenn die Option „Niemals“ ausgewählt ist, beträgt die Karenzzeit immer „0“. Obwohl es möglich ist, eine andere Zeitspanne im Karenzzeit-Feld einzugeben, ist eine solche Eingabe nicht gültig. Hier kann ein Zeitraum von maximal zwei Stunden ausgewählt werden. Beachten Sie jedoch, dass mit einer zunehmenden Länge dieser Zeitspanne der Effekt des Load Balancings immer geringer wird. Wir empfehlen daher, den Wert so niedrig wie möglich anzusetzen.

Bestätigen Sie anschließend Ihre Eingabe mit Speichern.

Bestehende Benutzer-Sitzungen wiederverwenden in Windows konfigurieren (optional)

Um sicherzustellen, dass der gleiche Wert ebenfalls in allen von Ihnen angebundenen Windows-Ressourcen eingestellt ist, sollten Sie diese Konfiguration auch im Betriebssystem der jeweiligen Ressource vornehmen. Folgen Sie hierzu unserer Anleitung zu Einstellung des Zeitlimits für getrennte Sitzungen.