Microsoft Teams in virtuellen Umgebungen und Windows virtual Desktop
Viele Unternehmen haben sich entschieden virtuelle Desktop Umgebungen auszurollen. Die Gründe für so eine Entscheidung ist vielfältig, von Kostenersparnis bei der Hardware oder auch am Betriebssystem Windows für die Client Maschinen oder durch eine erhöhte Sicherheit durch die Möglichkeit in einer sicheren vom Unternehmen betriebenen Umgebung zu arbeiten.
Microsoft Teams Architektur
Im folgenen Schaubild sehr ihr die Architektur eines Betriebs von Microsoft Teams in einer virtuellen Umgebung. Hierbei geht es um den Desktop Client und natürlich nicht um die Webbrowser Variante, die zunächst eingesetzt wurde, aber im Funktionsumfang der Desktop Variante weit hinten ansteht.
https://docs.microsoft.com/en-us/microsoftteams/teams-for-vdi#deploy-the-teams-desktop-app-to-the-vm
Komponenten
- Virtualisierungs-Broker: Der Ressourcen- und Verbindungsmanager zum Virtualisierungsanbieter, wie z.B. Azure
- Virtueller Desktop: Der Stapel virtueller Maschinen (VM), auf dem Microsoft-Teams ausgeführt werden.
- Thin-Client: Der Endpunkt, mit dem der Benutzer physisch verbunden ist
- Desktop-Anwendung für Teams: Dies ist die Desktop-Client-Anwendung für Teams.
https://docs.microsoft.com/en-us/microsoftteams/teams-for-vdi
Herausforderungen
Folgende Herausforderungen müssen bewältigt werden:
- Update der Microsoft Teams Client Software
- Temporärer Speicher / Speicherplatz
- Funktionsfähigkeit mit der Hardware der Hostmaschine (z.B. USB Headset, Kamera)
- generell Funktionsfähigkeit
Anforderungen für den Client
Um den Client entsprechend zu betreiben, müssen folgende Voraussetzungen erfüllt sein:
Parameter | Workstation operating system | Server operation system |
---|---|---|
vCPU | 2 cores | 4,6, or 8 It’s important to understand the underlying non-uniform memory access (NUMA) configuration and configure your VMs accordingly. |
RAM | 4 GB | 512 to 1024 MB per user |
Storage | 8 GB | 40 to 60 GB |
Nicht unterstützte Funktionen in VDI Umgebungen
- Verbesserte Notfalldienste
- HID-Tasten und LED-Bedienelemente zwischen der Team-App und den Geräten
- Unschärfe und Effekte im Hintergrund (Blur und eigene Hintergründe)
- Übertragung/Live-Veranstaltungen
- Standortbasiertes Routing (LBR)
- Parken von Anrufen
- Anruf-Warteschlange
offiziell unterstützte Umgebungen
Es gibt aktuell nur wenige offiziell unterstützte Umgebungen. Dies heißt nicht, dass es bei anderen virtuellen Hostplattformen nicht auch funktonieren würde.
- Citrix (2018)
Citrix war die erste Software und auch eine der größten am Markt, die Microsoft Teams unterstützte und schon zu Beginn entsprechende Zusatzpakete bereit stellte. Zunächst war jedoch erstmal nur Chat und Teams verfügbar und nun seit 2020 sind auch Funktionen wie Videotelefonie und Meetings verfügbar.
Link: https://www.citrix.com/products/citrix-virtual-apps-and-desktops/
Citrix Software: https://www.citrix.com/downloads/citrix-virtual-apps-and-desktops/
Citrix Workplace App: https://www.citrix.com/downloads/workspace-app/
Citrix Host Server Anforderungen: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/opt-ms-teams.html
- Windows Virtual Desktop (neu / April 2020)
Der Windows Virtual Desktop ist neu mit allen fast Funktionalitäten hinzugekommen. Der nun 5te Versuch von Microsoft eine virtuelle Desktopumgebung bereitzustellen erfolgt natürlich über Azure. Da Microsoft Teams nun Teil der Office 365 Pro Plus installation ist und direkt mit ausgerollt wird, hat Microsoft diesen in seinen eigene virtuelle Desktop Lösung natürlich integriert.
Das wichtige ist nun zu wissen, dass der virtuelle Desktop seit dieser Woche (6. Mai 2020) nicht die üblichen Einschränkungen mehr besitzt. Nach meinem Test heute (9. Mai 2020) konnte ich mit meinem Surface Pro 6 sowohl Videotelefonate durchführen, als auch mein Headset verwenden. Dies ist ein großer Schritt, um Microsoft Teams in VDI Umgebungen nahezu gleich, wie in normalen Umgebungen zu betreiben.
Teams Client als einzelne Software
Wer sich noch erinnern kann, erinnert sich daran, dass ihr aus dem OneDrive auch einzelne Programme wie Word streamen konntet und diese virtualisiert wurden. Dies könnte unter Umständen auch für Microsoft Teams interessant sein.
Aktuell gibt es hierfür keinen Support.
Es ist auch nicht angedacht, durch die Verzahnung Microsoft Teams alleine zu betreiben. Es ist aktuell noch zu verzahnt und keine eigeneständige Software wie Word. Man benötigt Office Online und viele andere Schnittstellen, um es sinnvoll einsetzen zu können. Wenn ihr dies wollt, könnt ihr die Microsoft Teams Uservoice nutzen.
Umsetzung
Die Umsetzung Microsoft Teams auch in einer virtuellen Umgebung zu betreiben heißt “non-persitent Setup”. Diese Möglichkeit habe ich gemeinsam mit der Produktgruppe schon auf der Ignite 2018 vorgestellt und mehrere Vorträge zum Beispiel auf der Techorama 2019 gehalten.
Der Microsoft Teams Client für den Desktop muss in einer nicht persistenten Variante installiert werden. Bei dieser Variante werden die lokalen Betriebssystemänderungen der Benutzer nach der Abmeldung nicht beibehalten.
Diese Setups sind häufig für gemeinsam genutzte Mehrbenutzerumgebungen und üblich für VDI Umgebungen. Die VM-Konfiguration hängt von der Anzahl der Benutzer und den verfügbaren physischen Box-Ressourcen ab.
Bei einem nicht-persistenten Setup muss die Team-Desktop-Anwendung pro Rechner auf dem Golden Image installiert werden.
Dies gewährleistet einen effizienten Start der Teams-Anwendung während der Benutzer sich in der VDI Umgebung bewegt. Die Verwendung von Teams mit einem nicht-persistenten Setup erfordert auch einen Profil-Caching-Manager für eine effiziente Synchronisierung der Team-Laufzeitdaten. Dadurch wird sichergestellt, dass die entsprechenden benutzerspezifischen Informationen (z.B. Benutzerdaten, Profil und Einstellungen) während der Benutzersitzung zwischengespeichert werden.
Es gibt eine Vielzahl von Caching-Manager-Lösungen. Zum Beispiel FSLogix., hier könnt ihr auch bitte die jeweiligen Anbieter von eurer Virtualisierungslösung fragen.
Weitere Optimierung
Schließt folgendes aus dem Cache-Ordner “Teams”, %appdata%/Microsoft/Teams, aus. Das Ausschließen dieser Elemente trägt dazu bei, die Größe des Benutzer-Caches zu reduzieren, um die nicht-persistente Einrichtung weiter zu optimieren.
- .txt files
- Media-stack folder
Installieren von Teams in einer VM
Zunächst gibt es spezielle Varianten des Microsoft Teams Clients, die ihr für die VDI Umgebung nutzen könnt und die bereits optimiert worden sind.
Pro Nutzer
Die Dokumentation ist hier korrekt:
msiexec /i <path_to_msi> /l*v <install_logfile_name> ALLUSERS=1
Dies ist die Standardinstallation, bei der Teams in den Benutzerordner %AppData% installiert werden. An diesem Punkt ist die Einrichtung des Golden Image abgeschlossen. Teams funktionieren bei einer Installation pro Benutzer auf einem nicht persistenten Setup nicht ordnungsgemäß.
Pro Machine
Auch in diesem Fall ist die Dokumentation korrekt:
msiexec /i <path_to_msi> /l*v <install_logfile_name> ALLUSER=1 ALLUSERS=1
“Dadurch werden Teams auf einem 64-Bit-Betriebssystem in den Ordner “Programme (x86)” und auf einem 32-Bit-Betriebssystem in den Ordner “Programme” installiert. An diesem Punkt ist die Einrichtung des Golden Image abgeschlossen. Die Installation von Teams pro Rechner ist für nicht persistente Setups erforderlich.
Bei der nächsten interaktiven Anmeldesitzung werden die Teams gestartet und nach den Anmeldeinformationen gefragt.“
Parameter ALLUSERS = 1
Der Parameter ALLUSERS = 1 hat die Auswirkung, dass der Microsoft Teams Client auf dem Rechner unter Programme und in der Systemsteuerung, sowie unter Anwendungen und Funktoinen für alle Benutzer der VDI Maschine oder auch Rechner erscheint.
Es ist wichtig, den Unterschied zwischen ALLUSERS=1 und ALLUSER=1 zu verstehen. Der Parameter ALLUSERS=1 kann in Nicht-VDI- und VDI-Umgebungen verwendet werden, und der Parameter ALLUSER=1 wird nur in VDI-Umgebungen verwendet, um eine Installation pro Rechner anzugeben.
Updates des Windows Teams Clients
Ihr müsst im Minimum die Microsoft Teams Desktop App mit der Version 1.3.00.4461 nutzen, um z.B. PSTN nuzten zu können. Diese Angabe müsst ihr händisch prüfen, da Updates in VDI Umgebungen auch händisch umgesetzt werden müssen.
Bevor ihr eine neuere Version des Clients installiert, müsst ihr vorher den alten Client deinstallieren und dann auch alle Reste deinstallieren. Hierfür habe ich mit Microsoft mal ein Cleaning Skript gebaut. Dies entfernt wirklich alle Reste der alten Installation, so dass die neue Version des Clients auch einwandfrei funktioniert.
Desinstallation des Teams Clients
msiexec /passive /x <path_to_msi> /l*v <uninstall_logfile_name>
Bekannte Fehler
Die Zusammenfassung in der Dokumentation ist sehr ausführlich. Ich fülle diese auch immer wieder mit Fehlern, die mir passieren oder die ich entdecke. Deshalb verweise ich und kopiere einfach den Text:
“Client deployment, installation, and setup
- With per-machine installation, Teams on VDI isn’t automatically updated in the way that non-VDI Teams clients are. You have to update the VM image by installing a new MSI as described in the Install or update the Teams desktop app on VDI section. You must uninstall the current version to update to a newer version.
- Teams should be deployed either per user or per machine. Deployment of Teams for concurrent per user and per machine is not supported. To migrate from either per machine or per user to one of these modes, follow the uninstall procedure and redeploy to either mode.
- MacOs and Linux-based clients are not supported by Citrix at this time.
- Citrix doesn’t support the use of explicit HTTP proxies defined on an endpoint.
Calling and meetings
- Interoperability with Skype for Business is limited to audio calls, no video modality.
- Dual Tone Multi Frequency (DTMF) interaction with telephony systems is currently not supported.
- Joining Teams meetings as an anonymous user isn’t AV-optimized. The user can join the meeting and have a non-optimized experience.
- Only a single incoming video stream is supported in meetings or group calls. When multiple people send video, only the dominant speaker’s video is shown at any given time.
- Incoming and outgoing video stream resolution is limited to 720p resolution. This is a WebRTC limitation.
- Only one video stream from an incoming camera or screen share stream is supported. When there’s an incoming screen share, that screen share is shown it instead of the video of the dominant speaker.
- Outgoing screen sharing:
- Screen sharing from chat is not supported.
- Application sharing is not supported.
- Give control and take control:
- Not supported during a screen sharing or application sharing session.
- Supported during a PowerPoint sharing session.
- When screen sharing in a multi-monitor setup, only the main monitor is shared.
- High DPI scaling on CWA is not supported.
For Teams known issues that aren’t related to VDI, see Support Teams in your organization.”
Quelle: https://docs.microsoft.com/en-us/microsoftteams/teams-for-vdi#deploy-the-teams-desktop-app-to-the-vm
Bekanntes RAM Problem auf Windows Servern
Weiterhin gibt es in bekanntes RAM Problem mit dem Teams Client auf einer Windows Server gehosteten virtuellen Desktop Umgebung. Dieses Problem ist bekannt und führt zu sehr hohen Verbrauch des Arbeitsspeichert. Es liegt leider an der Electron/Chrome Entwicklung des Teams Clients. Die Produktgruppe arbeitet an der Lösung.
Informationen zu Microsoft Teams und RAM findet ihr hier: https://docs.microsoft.com/en-us/microsoftteams/teams-memory-usage-perf
Bewertung VDI oder nicht?
Neben der neutralen Darstellung mit einigen Erfahrungen oben, kann ich aus der Praxis mitteilen, dass Microsoft Teams optimaler Weise nicht in einer VDI Umgebung betrieben werden sollte. Im Home Office / Working from Home Einsatz ist es heute besser den Mitarbeitern einen ordentlichen Rechner bereit zustellen, diesen per Intune (MDM/MAM) zu verwalten und Teams so abzusichern.
Dies hat den riesen Vorteil, dass eure Mitarbeiter die neuesten Funktionen nutzen können, wenig Einschränkungen haben, weniger Schatten-IT und Frist haben.
Wenn ihr mich fragt VDI oder nicht: Aktuell -> nein nutzt, wenn möglich kein VDI Ich vermute, dass im Hinblick auch auf die Roadmap und arbeiten von Microsoft und auch Citrix, dass man am nächsten gegen Ende 2020 mit der Windows Virtual Desktop Umgebung arbeiten kann.