Teams auf Terminal Server / Citrix

Die Nutzung von Microsoft Teams in Unternehmen ist auf mobilen Geräten, Tablets und Desktops sehr einfach möglich. Ein Sonderfall, der dabei aber oft unter den Tisch fällt, sind "Thin-Clients", die mittels Terminal Services (RDP) und ggfls. Citrix (ICA) die klassischen Office Dienste nutzen.

Besonderheiten

Beim Einsatz von Teams auf Thin Clients sind mir bislang drei Dinge als problematisch aufgefallen:

  • Ressourcenbedarf
    Auch im Juli 2019 gibt es nichts zu beschönigen: Der Teams Client benötigt deutlich mehr Hauptspeicher und CPU als z.B. ein Skype for Business Client. Das ist aber nicht nur bei den größeren Konferenzen mit mehreren Video-Streams der Fall, sondern selbst im Ruhe-Zustand ist mein Teams-Client bei 400MB+. Für eine Umgebung, auf der mehrere Clients auf dem gleichen Server nebeneinander arbeiten, ist Speicher kostbar um die Kosten der Server im Rahmen zu halten.
  • Datenablage
    Der Teams Client speichert Daten lokal im Verzeichnis "%userprofile%\AppData\Local\Microsoft\Teams" und auch "%userprofile\AppData\Roaming\Microsoft\Teams". Bei mir sind das 1,2 GBytesDamit stellt sich die Frage, wo in einer Terminal Server Umgebung das Profil der Benutzer vorgehalten wird. Das ist insbesondere wichtig, wenn Benutzer auf andere Host-Systeme wechseln. Die Daten sind neben Protokollen zu Fehlersuche auch Daten im "Cache" um Zugriffe zu beschleunigen.
  • Audio/Video (RTP)
    Vergleichbar zu Skype for Business sind natürliche die beiden Workloads "Sprache" und "Bild" eine Herausforderung. Citrix u.a. versuchen dies derart zu lösen, dass die ThinClients am Arbeitsplatz selbst RTP-Endpunkt sind und damit diese Daten nicht erst über den zentralen Server übertragen werden müssen.

Diese technischen Fakten sind aktuell nicht zu ändern.

Wenn Sie z.B. auf UserVoice nach Citrix suchen (https://microsoftteams.uservoice.com/forums/555103-public?query=citrix), dann finden Sie einige Treffe. Allerdings haben viele Einträge nur ganz wenig "Votes" oder werden pauschal beantwortet, wie z.B.

Performance has been and continues to be a big focus area for Teams. One main area we have made improvements in is responsiveness for the most frequent user actions of switching between Chat, Channel, and Activity. We are also focused on reducing resource consumption and application load time. More improvements are on the way.
Quelle: https://microsoftteams.uservoice.com/forums/555103-public/suggestions/17219609-teams-uses-600mb-and-is-super-slow

Audio/Video mit Citrix

Für den Einsatz von Skype for Business auf Citrix-Servern gibt es ein "Skype for Business Optimization pack", welches aber anfangs nicht mit Teams genutzt werden konnte. Mittlerweile gibt es ein AdOn, damit zumindest in Verbindung mit Citrix diese Funktion wieder vorhanden ist.

Auch auf YouTube finden sich mittlerweile einige Demos und Vorträge

Citrix HDX Optimization for Microsoft Teams
https://www.youtube.com/watch?v=e9AY9ULCyew

Demo of optimized web-based Microsoft Teams in a virtual environment
https://www.youtube.com/watch?v=S0fhM1HLyNE

Taking the Citrix and Microsoft partnership to the next level with Citrix Workspace - THR2239
https://www.youtube.com/watch?v=rGgWL29qamY

Citrix HDX Realtime Optimization Pack for Skype for Business
https://www.youtube.com/watch?v=sJRtDOiItC8

Allerdings betreibe und nutze ich keine Citrix-Server und kann daher keine weiteren Details dazu liefern

Microsoft selbst empfiehlt den Einsatz von Teams auf Terminal Servern nur ohne Audio/Video und beschreibt, wie sie über eine passende Konfiguration der Richtlinien die Nutzung von Teams für A/V deaktivieren.

Currently, Teams in a virtualized environment is available with support for collaboration and chat functionality with a dedicated persistent virtualized machine (VM).
The Teams calling and meeting experience isn't optimized for a VDI environment (coming soon). We recommend you set user-level policies to turn off calling and meeting functionality in Teams.
Quelle: Teams for Virtualized Desktop Infrastructure https://docs.microsoft.com/en-us/microsoftteams/teams-for-vdi

Die Konfiguration erfolgt allerdings pro Benutzer und nicht pro Server, so dass die Anwender über den Weg natürlich auch auf einem prinzipiell geeigneten Client von Audio/Video ausgeschlossen werden.

Installation

Wenn es eine 1:1-Zuordnung von Anwendern zum Endgerät gibt, dann ist es kein Problem den Teams Client auch durch den Anwender installieren zu lassen. Aus meiner Sicht ist das sogar der Regelfall, da jeder Anwender grundsätzlich die Möglichkeit hat, Dateien aber auch Programme in seinem persönlichen "Appdata"-Verzeichnis abzulegen. Ein Administrator kann diesen Prozess natürlich auch per Software-Verteilung aktiv unterstützen.

Auf einem Terminal Server oder eine Farm arbeiten aber mehrere Mitarbeiter auf dem gleichen System und wechseln auch das System. Die meisten Programme wurden daher im zentralen Programmverzeichnis, z.B. C:\Programme, installiert und so nur einmal pro Server bereitgestellt. Das spart vor allem Platz, denn eine Teams-Installation kann schnell auch mal einige 100 MB Platz im Benutzerprofil belegen.

Es gibt aber auch eine Installation als MSI-Datei ins Programmverzeichnis dies Servers. Dieser Weg ist für Terminal-Server vermutlich der geeignetere Weg, um eine Installation pro Benutzer zu vermeiden. Dies löst aber nicht das Problem, dass dennoch im Benutzerprofil die ein oder andere Datei landet.

Weitere Links