WVD - Windows Virtual Desktop

Auf der Seite Teams auf Terminal Server / Citrix und Thin Clients mit Skype for Business habe ich beschrieben, wie gut oder weniger Gut Skype und Teams auf Terminal Server laufen. Terminal Server bzw. Citrix sind in vielen Firmen im Einsatz, um mit "thin clients" zu arbeiten oder Remote Anwendern einen Desktop in der Firma bereit zu stellen. Diese Seite beleuchtet die Funktion "Windows Virtual Desktop" in Azure.

ich bin gespannt, wie sich die Store entwickelt, denn Terminal Server kenne ich seit "Metaframe" unter Windows NT 3.51

Problemstellung

Viele Anwender nutzen heute schon Dienste aus der Cloud und es werden immer mehr. Solange die Dienste mit einem lokalen Cache, z.B. Outlook mit OST-Dateien oder OneDrive arbeiten, ist die Latenzzeit des WAN weniger relevant. Wer aber schon einmal versucht hat, einen SMB-Dateiserver in Azure mit einem lokalen PC zu nutzen, wird schnell ernüchtert.

Das Problem haben dann natürlich erst rechte Anwender, die bislang auf einem lokalen Terminal Server arbeiten. Es macht nicht viel Sinn, auf einen lokalen Terminal Server eine OST-Datei abzulegen oder OneDrive zu replizieren. Sobald mehrere Terminal Server in einer Farm betrieben werden, skaliert diese Lösung nicht mehr. Eine Lösung wäre der Aufbau eines Terminal Servers in der Nähe der Daten, d.h. bei Exchange Online und SharePoint Online.

Aber da sie in Azure eigentlich immer nur virtuelle Maschinen bereitstellen, würde ihr Terminalserver mit sehr vielen CPUs und RAM bestückt quasi immer laufen. Dynamische Anpassungen  anhand der Auslastung wären nur schwer möglich. Daher hat Microsoft einen anderen Ansatz gewählt und stellt einfach für jeden Anwender eine eigene "Windows 10 VM" bereit.

In der Vergangenheit wurde RDP und ICA, das sind die beiden dominanten Übertragungsprotokolle, aus unterschiedlichen Gründen eingesetzt. Es gibt neben dem klassischen Büroarbeitsplatz oder Notebook-Benutzer mit einem "vollwertigen" Windows Computer auch Einsatzbereiche, in denen ein PC suboptimal ist, z.B.

  • Bandbreiten
    Stellen Sie sich eine kleine Niederlassung, eine Kasse, ein Waage-PC auf einer Müllkippe vor, die selbst von Megabit nur träumen. Hier einen Windows PC mit Updates und Software zu betreiben, ist kaum möglich. Da ist es besser das "Terminal"-Prinzip umzusetzen, bei dem nur Tastatureingaben, Maus und Bildschirminhalte übertragen werden
  • Spezielle Clients
    PCs sind technisch anspruchsvolle Geräte, die Randbedingungen bezüglich Energie aber auch Wärme, Staub, Bewegung (Rütteln) etc. brauchen. Denken Sie an Datenerfassung im Freien, auf Schiffen, die Hygieneproblematik in Krankenhäusern und Reinsträumen, bei denen selbst der Abrieb von Lüftern oder Staubansammlungen ein Problem sind.
  • Mobilität
    Wenn wir Outlook Cache-Mode oder OneDrive außen vor lassen, dann reagieren diverse Programme sehr sensibel auf Verbindungsunterbrechungen. Eine Remote Session kann einfach wieder aufgebaut werden.
  • Sicherheit
    Lokale Daten sind für bestimmte Firmen ein nicht vertretbares Risiko. Da sind "dumme Clients" ein Vorteil.

Lange Zeit wurden für diese Anforderungen entsprechende Windows Server installiert, auf denen mit Windows Terminal Services, Citrix (Früher Metaframe) viele Anwender kooperativ auf einem System arbeiten konnten.

VMs statt Terminal Server

Aber die Virtualisierungstechnik von VMWare und Microsoft (HyperV) erlaubt natürlich auch ganz andere Ansätze. Wenn auf einer Windows Installation mehrere Personen nebeneinander arbeiten, dann nutzen Sie dennoch immer die gleiche Software. Bei so einer Konfiguration können Sie also nicht pro Benutzer z.B. eine andere Office Version einsetzen. Selbst "AddOns" für Outlook, z.B. für CRM sind auf dem Terminal Server immer für alle Benutzer aktiv. Das stört natürlich, wenn mehrere unterschiedliche Benutzer das gleiche System nutzen.

Diese Probleme haben Sie so nicht, wenn Sie jedem Anwender quasi seinen eigenen PC bereitstellen, auf den er dann über ein Protokoll ihrer Wahl zugreift. Die Virtualisierung wird als einfach eine Ebene nach unten gelegt. Rechts ist der klassische Desktop auf dem Tisch des Anwenders, welcher entsprechend potente Hardware, Windows samt Management und Software nutzt und über das LAN oder WAN auf die Daten zugreift.

In der Mitte dann der klassische Terminal Server, der noch im eigenen RZ steht. Das Modell kommt aber an seine Grenzen, wenn die Daten in der Cloud liegen und daher die Hohen Latenzen nicht durch lokales Caching relativiert werden können. Ganz rechts steht dann die VM pro Benutzer, die heute schon z.B. als "VMWare Horizon" von Firmen im eigenen RZ genutzt wird. Diese linke Plattform lässt sich natürlich sehr einfach auch in Azure  bereitstellen.

Wer bislang mit solchen Konzepten wie VMWare Horizon nichts zu tun hatte, wird von der Menge an VMs, d.h. pro Benutzer eine VM, abgeschreckt sein. Aber im Gegensatz zu dezentral in den Räumen und Standorten der Firma verteilten Windows Computern sind hier alle VMs konzentriert und mit entsprechenden Konzepten auch deutlich einfacher zu betreiben

  • Effektive Bereitstellung
    Schon die "Erstinstallation" so einer Workstation kann sehr einfach erfolgen, indem es eine MasterVM gibt, die als Basis einfach kopiert und etwas angepasst wird (insbesondere Computername).
  • Gemeinsame Basis
    Eine weitere Optimierung ist pro Host möglich, wenn alle Gäste das gleiche Basisimage nutzen und Änderungen der "Festplatte" in einer anderen Datei abgelegt oder sogar nur temporär bereit gestellt werden. Updates und Patches müssten dann nur als neues MasterImage zentral bereit gestellt werden
  • Separierung von Benutzerdaten
    Die individuellen Einstellungen von Benutzern müssten natürlich überleben. Früher war dazu das "Roaming Profil" da, über welches das Profil auf einem Dateiserver abgelegt und wieder eingeladen werden. Heute kann das auch eine Verzeichnisumleitung auf ein gemountetes DiskImage sein. So wären sogar auch OST-Dateien wieder möglich, die ja nicht auf SMB-Shares liegen dürfen

In Verbindung mit Azure kommt nun die Möglichkeit dazu, die Arbeitsplätze direkt in Azure als VM zu betreiben. Sie können damit gleich mehrere Vorteile noch besser nutzen:

  • Dynamische Ressourcen und PayPer Use
    Server und Hosts im eigenen RZ sind "gekauft" und stehen da rum. In Azure können Sie sehr flexibel Systeme bereitstellen, starten, beenden und die Ausstattung (CPU/RAM) anpassen. Die Ressourcen eines Mitarbeiters können also freigegeben werden, wenn dieser nicht arbeitet, was wohl in 2/3 der Zeit der Fall ist.
    Auch eigene "Admin Workstations" für ein Tier0/1/2-Modell lassen sich so einfach bereitstellen und kostengünstig betreiben
  • Kurze Latenzzeiten zu Cloud-Diensten
    Wenn ihre Daten (Exchange, SharePoint, OneDrive) schon in der Cloud sind, dann ist die Latenzzeit ein wichtiges Kriterium und jeder lokale PC hat es immer weiterweiter als eine AzureVM. Sie können so auch ihre lokalen SMB-Dateiserver zu Azure File Services migrieren und die lokale IT weiter verschlanken.
  • Geografische Flexibilität
    Azure ist in vielen geografischen Regionen verfügbar. Sie könnten die VM des Anwenders entweder in die Nähe des Anwender bringen oder der Anwender arbeitet über RDP effektiver als große Daten über lange Leitungen zu übertragen..
  • Erhöhte Datensicherheit/HomeOffice
    Alle Daten verlassen quasi nie die Azure-Umgebung und die Anwender können überall mit "ihrem PC" arbeiten. Ihr Unternehmensdaten landen bei passender Konfiguration auch nicht auf privaten PCs.
  • Flexible Cients
    RDP-Clients gibt es nicht nur für Windows, sondern auch für Android, IOS, Mac und damit auch für Telefone und Tablets. Das ist aber nun kein expliziter Vorteil einer Lösung in Azure.

Datenablage vs. Profil

Sowohl beim Terminal Server als auch bei eigenen virtuellen VMs haben wir die Herausforderung, dass Daten im eigenen Profil abgelegt werden. Es wäre mehr als unschön, wenn diese Daten bei der nächsten Anmeldung nicht mehr vorhanden wären. Genau das ist aber die Herausforderung, wenn Sie mehrere Terminal Server betreiben und Anwender am nächsten Tag auf einem anderen Host landen oder Wenn VMs durch eine neuere Version aktualisiert wurden. Auf der anderen Seite schreibt Microsoft z.B. deutlich, dass OST-Dateien nicht auf Dateiservern abgelegt werden dürfen.

PST Dateien sind offiziell nicht auf Netzwerklaufwerken unterstützt
https://blogs.msdn.microsoft.com/deva/2008/07/11/pstost-series-personal-folder-files-are-unsupported-over-a-lan-or-over-a-wan-link/

Es mach auch wenig Sinn, die OneDrive-Dateien lokal mitzuschleppen oder Teams das Caching in %Appdata% zu verbieten. Alle Windows Administratoren sollten aber wissen, dass Sie z.B. VHD/VHDX-Dateien als Festplatten "mounten" können.

Weiterhin sollten Sie wissen, dass man unter Windows einer Partition nicht nur über Buchstaben sondern auch als Unterverzeichnis erreichbar machen kann.

Und zuletzt kennen Sie sicher die Funktion "Folder Redirection", mit der Sie per Gruppenrichtlinie bestimmte Ordner eines Benutzers auf einen anderen Pfad verbiegen können.

Damit haben Sie nun alle drei Dinge zusammen, um sich die Lösung selbst auszudenken.

  • Für jeden Benutzer wird eine VHD/VHDX-Datei auf einem schnellen Server bereitgestellt
    Wenn der "Terminal Server" oder die Windows VM in der Cloud steht, dann legt man diese Datei eben auf Azure File Servers. Aber auch im lokalen Betrieb kann dies eine Möglichkeit für eigene Horizon-Farmen oder Terminal Server sein.
  • Die VHD wird beim Anmelden des Benutzers gemountet
    Die VHD-Datei kann z.B. per ISCSI oder eben SMB3 eingebunden werden. Dies wird von Microsoft unterstützt
  • Die relevanten Ordner werden umgeleitet
    Damit nutzt Windows diese "Festplatte", die nur als VHD-Datei eingebunden ist, zu Ablage aller Benutzerdaten.

Die können als Anwender nun sogar eine OST-Datei, OneDrive-Daten o.ä. auf dieser "Benutzerfestplatte" ablegen und effektiv mit der Cloud arbeiten.

Übernahme FSLogix durch Microsoft

Genau diese Lösung hat die Firma FSLogix seit längerer Zeit entwickelt und vertrieben. In zahlreichen Videos und Anleitung wird der Einsatz beschrieben und die Software vereinfacht die Konfiguration für Administratoren. So ist es dann passiert, dass Microsoft am 19. Nov 2018 die Firma FSLogix gekauft hat und die Funktion in ihre Produkte integriert

Bestehende Kunden können die Software weiter nutzen, solange die Lizenz gültig ist. Interessant ist aber für alle Microsoft Kunden, dass Sie nun auch FSLogix nutzen können, wenn Sie die passende Lizenz haben. Die Funktionen sind:

Sie müssen dazu nur eine der folgenden Lizenzen haben (Stand Jun 2019)

  • Microsoft 365 F1/E3/E5/A3/A5/Student Use Benefits
  • Microsoft 365 Business
  • Windows 10 Enterprise E3/E5 oder Windows 10 Education A3/A5
  • Windows 10 VDA per user
  • Remote Desktop Services (RDS) Client Access License (CAL) (SA nicht erforderlich)
  • Remote Desktop Services (RDS) Subscriber Access License (SAL)

Das kann durchaus interessant für Firmen sein, die heute schon Windows Terminal Server (RDS) nutzen und nun quasi ohne Zusatzkosten die FSLogix-Komponente einsetzen dürfen. Der Download von FXLogix finden Sie unter

Downloads FSLogix
https://aka.ms/fslogix_download

Informationen und Vorträge

Lesen bildet aber Videos mit entsprechenden Demos sind oft leichter zu konsumieren und letztlich beeindruckender und effektiver. Daher verweise ich hier erst einmal auf einige Videos zu Windows Virtual Desktop und FXLogix.

Windows Virtual Desktop: New remote desktop and app experience on Azure | Ignite 18
https://www.youtube.com/watch?v=_7G37PFYVe4

Deployment Guide for FSLogix Profile Containers and Office 365 Containers
https://www.youtube.com/watch?v=ZNbV82Z1PnE

Windows Virtual Desktop Essentials | Intro and full tour
https://aka.ms/WVDPlaylist

Windows Virtual Desktop how-to | Step 1: Prepare
https://aka.ms/WVDprereqs
https://www.youtube.com/watch?v=yAKmuZpwVyg

Windows Virtual Desktop Essentials | Intro and full tour
https://www.youtube.com/watch?v=NQFtI3JLtaU

Windows Virtual Desktop 1-4
https://www.youtube.com/watch?list=PLXtHYVsvn_b8KAKw44YUpghpD6lg-EHev 

Weitere Links