Der Betrieb einer Remote Desktop Farm ist bisher sehr aufwändig. Mit dem Azure Dienst Windows Virtual Desktop wird die Komplexität enorm verringert und Windows 10 und Windows 7 Desktops oder RemoteApps werden mit Funktionen bereitgestellt, die zuvor Terminal-Servern vorbehalten waren.

Zu Anfang des Artikels gehe ich auf das Konzept rund um Windows Virtual Desktop ein und ziehe mein Fazit. Im letzten Abschnitt Implementierung habe ich die notwendigen Schritte und Stolpersteine beschrieben, die bei der Bereitstellung einer Testumgebung zu beachten sind. Wer direkt loslegen mag, muss also nur runter scrollen.

Alles wird gestreamt

Was mit Youtube, Spotify und Netflix seinen Anlauf nahm, überträgt sich nun auch auf interaktivere Inhalte.

Game-Streaming-Dienste wie Shadow oder Project xCloud zeigen bereits auf, dass die Cloud zukünftig auch verstärkt Grafik-intensive Workloads abbilden wird – für die nächste Xbox-Generation ist bereits eine Version geplant, die über schwächere Hardware verfügt und Spiele streamt.

Anleitungen kursieren, bei denen die für Remotevisualisierung, Deep Learning und Predictive Analytics optimierte NV-Serie der Azure VMs für Game-Streaming mit Steam eingesetzt werden.

Doch was dem privaten Zeitvertreib dient, ist auch fürs Geschäftliche interessant. Mit der neuen NVv2-Serie stehen VMs für GPU-beschleunigte Grafikanwendungen und virtuelle Desktops bereit.

Warum viele teure Workstations für CAD-Systeme kaufen, deren Leistung dann lange nicht ausgereizt wird, wenn sich einfach mehrere User einen Azure-Host teilen können?

Und selbst Microsoft Mixed Reality-Plattform wandert mehr und mehr in die Cloud.

image

Windows Client-System mit Multi-User-Funktion

Mit der Bereitstellung einer Terminal-Server-Umgebung kommt man mit RD Gateways, Connections Broker & Proxys schnell mal auf 6 Server oder mehr, zusätzlich zu den eigentlichen App- bzw. Desktop-Hosts. Zudem kam auch immer ein Server-Betriebssystem zum Einsatz, da Client-Systeme wie Windows 10 nicht mit mehreren Benutzeranmeldungen genutzt werden konnten (bzw. sollten). Viele Apps sind zudem nicht (offiziell) kompatibel zu Windows Server – und der Store ist auch nicht vorhanden. Hier wurde es Zeit für eine Modernisierung.

Bei Windows Virtual Desktop werden Gateway, Broker und Proxy von Microsoft bereitgestellt – Wartungsaufwand und Betriebskosten fallen damit nicht mehr zu Lasten des Kunden. Weitere Lizenzkosten z.B. für Windows Enterprise sind zudem durch Microsoft 365 abgegolten.

Die Desktops können in der Variante Pooled oder Personal bereitgestellt werden, was äquivalent zu Terminal Servern und VDI-Lösungen angesehen werden kann.

image

Die Verbindung zum WVD wird nicht über die Remote Desktop App aus dem Windows Store oder MTSC hergestellt – stattdessen stellt Microsoft eine eigene speziell angepasste Client-App bereit. Da es sich um ein klassiches MSI-Paket handelt kann diese App auf den gängigen Windows-Systemen oder ThinClients mit Windows 10 IoT Enterprise bereitgestellt werden.

image

Für Bring your own Device Szenarien steht zudem ein Webclient bereit, dessen Zugriff durch Conditional Acces und direkt durch das Office 365 Portal abgesichert werden kann.

image
image

Fazit und Ausblick

Sitze ich nicht im Homeoffice, so arbeite ich bereits seit einem Jahr an einem Notebook mit einer M7 CPU. Gegenüber den in meinem Berufsumfeld gängigen I5-Notebooks ist diese Maschine wesentlich Leistungsschwacher, aber meine gängigen Web-Anwendungen, Office, Powershell und kleinere Visual Studio-Tätigkeiten lassen sich zügig und ohne Probleme nutzen. Zudem ist das Gerät mit knapp unter 1 kg sehr leicht und hat eine lange Akku-Laufzeit. Für größere Workloads setze ich daher schon länger auf die Rechenleistung von Azure-VMs, wenn ich sie denn brauche. Offline bin ich im Rahmen meiner Tätigkeiten am PC und abseits von Office mittlerweile eh kaum mehr arbeitsfähig. Zudem bleiben diese VMs online, auch wenn meine mobile Internet-Verbindung versagt, so stellen Up- und Downloads auch in der Bahn keine großen Schwierigkeiten dar – wenn ich Pech habe, kann ich dem Vorgang nur nicht mehr visuell folgen.

Windows Virtual Desktop und RemoteApps gliedern sich daher optimal in meine Arbeitsweise ein. Weiter lassen sich Bring Your Own Device-Szenarien besser abbilden, Anschaffungs- und Stromkosten senken und Altgeräte bleiben, sofern ein ordentliches Display verbaut ist, weiter einsatzfähig. Der Arbeitsplatz aus der Cloud ist für mich der nächste logische Schritt und ich hoffe, dass Client-Apps für MacOs und linuxbasierte ThinClients rasch folgen.

Aktuell befindet sich der Dienst im Preview-Status und kann getestet werden. Ein wenig umständlich ist es aktuell noch und es mangelt an einem Hybrid AD Join und der Intune Integration. Aber das sind Hürden die bis zur generellen Verfügbarkeit behoben sein dürften.

Implementierung

Zur Bereitstellung von Windows Virtual Desktop habe ich ein paar Anläufe gebraucht – hier finden sich die Schritte, mit denen es mir gelang.
Vorbereitend muss eine Windows Server Domäne in Form eines (replizierten) Domain-Controllers oder der Azure AD Domain Services in Azure bereitgestellt werden.

Stolpersteine

Vorgehen

Zunächst werden Azure AD Apps unter https://rdweb.wvd.microsoft.com/ registriert.

Dieser Schritt wird zwei Mal – einmal für die Server- und einmal für die Client-App – durchgeführt.

image

Im nächsten Schritt werden die Vorbereitungen zur Bereitstellung via PowerShell getroffen. In der offiziellen Anleitung kommt die Anlage der Dienstprinzipals zum Schluss – da ich in einen Fehler während der Bereitstellung gelaufen bin, ziehe ich dies aber vor und erweitere es noch um eine Rollenzuweisung für den eigenen Admin-Account.

# benötigte PS Module

#Install-Module -Name Microsoft.RDInfra.RDPowerShell
#Install-Module AzureAD

# Parameter zur Anpassung auf eigene Umgebung

$AzureADTenantID = 0a70d356-540a-4bd8-bee7-xxxxxxxx
$AzureSubID = a2129780-3d85-4535-8fea-xxxxxxxxx
$myTenantName = “MeinWVD”
$hostpoolname = “MeinWVD”
$AdmAccount = mein.admin@firma.de

# Erstellung eines Dienstprinzipals

$aadContext = Connect-AzureAD

$svcPrincipal = New-AzureADApplication -AvailableToOtherTenants $true -DisplayName “Windows Virtual Desktop Svc Principal”

$svcPrincipalCreds = New-AzureADApplicationPasswordCredential -ObjectId $svcPrincipal.ObjectId

# Erstellung des RdsTenants
Add-RdsAccount -DeploymentUrl “https://rdbroker.wvd.microsoft.com”

New-RdsTenant -Name $myTenantName -AadTenantId $AzureADTenantID -AzureSubscriptionId #AzureSubID

#Erstellung des RDS-Pools
$myTenantGroupName = “Default Tenant Group”

Set-RdsContext -TenantGroupName $myTenantGroupName

New-RdsHostPool -TenantName $myTenantName -name $hostpoolname

# Rollenzuweisung für den Dienstprinzipal

New-RdsRoleAssignment -RoleDefinitionName “RDS Owner” -SignInName $AdmAccount -TenantGroupName $myTenantGroupName -TenantName $myTenantName -HostPoolName $hostpoolname

New-RdsRoleAssignment -RoleDefinitionName “RDS Owner” -ApplicationId $svcPrincipal.AppId -TenantGroupName $myTenantGroupName -TenantName $myTenantName -HostPoolName $hostpoolname

Im Anschluss kann der offiziellen Anleitung gefolgt werden: https://docs.microsoft.com/de-de/azure/virtual-desktop/create-host-pools-azure-marketplace

Im vierten Schritt sollte der Dienstprinzipal genutzt werden – funktioniert es nicht, ist der Admin-Account ersatzweise ebenfalls berechtigt worden.

image
image

Sind alle Schritte erfolgreich gewesen, dann kann jetzt auf den Windows Virtual Desktop zugegriffen werden.

Starten auch Sie Ihre digitale Transformation mit aConTechs Cloud-Expert:innen. Wir beraten Sie gerne und freuen uns auf Ihre Kontaktaufnahme über unser Kontaktformular.