As a part of Covid precautions driving business trends, Microsoft Teams usage increased exponentially when the solution was added to the default Office 365 suite and increased in functionality. Usage of Teams in 2020 compared to 2019 was up around 600 percent and holds steady in 2021 as business worldwide continue to figure out how to best deal with the pandemic.
At first glance, admins could believe Teams is a typical collaboration tool, such as Citrix Podio, or a meetings app, such as Citrix GoToMeeting. It is possible for Teams to replace these tools. However, getting there is not simple and requires significant pre-planning and implementation of additional Microsoft components. Managing Teams within a virtual desktop infrastructure (VDI) environment also adds additional issues and considerations.
There are three major design decisions for an admin deploying Teams for VDI: (1) install location, (2) endpoint device and (3) Citrix optimization feature. The pros and cons of each option will be covered in detail in this post.
Should I Install Per-Machine or Per-user?
It is important to understand that Teams currently updates on a bi-weekly basis with Microsoft reserving the right to push “features” at any time. This is one of the reasons installing in AppData is nice because users’ profiles follow them, and they don’t have to update their image every two weeks to keep it up to date. A zero-day or a business enhancing feature released will be able to be introduced to the environment quickly.
However, an environment breaking patch can also be released uncontrolled if installed per-user. For example, Citrix optimization was only available when deploying on the system drive. But with a recent patch, this was no longer true, and Teams automatically switched to Citrix optimization mode, which has limited features. These types of issues result in a significant number of help desk calls until a workaround could be implemented.
In early 2020, it was recommended to install per-user as it allowed preventing Teams from auto-starting. This let users who were not interested in Teams not have it launch and reduced the infrastructure resource requirements of every user having a Teams session. However, as Covid precautions stuck around and adoption drastically increased, it no longer made sense to allow per-user installs to persist and provide inconsistency in the environment.
The migration from per-user to per-machine is automatic. Microsoft will convert the install when a per-user logs into a per-machine image. We noticed that the Taskbar shortcut must be unpinned and repined as it still pointed to per-user install. Also, the Teams Outlook add-in pointed to the old per-user install and had to be fixed with a registry key update. And finally, on rare occasions, the migration did not work successfully; In the session as an admin, Teams had to be uninstalled and then reinstalled.
The following lists the pros and cons of per-machine and per-user installments:
- It’s possible for an individual’s per-user install to become corrupted, requiring a help desk call where the Teams install needs to be recreated. Installing on the system drive prevents this scenario.
- Per-machine install prevents auto-updating, which allows proper QA of new Teams releases.
- Most virtual desktop optimization clients recommend per-machine installs.
- Teams updates frequently and bug fixes must be implemented often to keep up to date in the golden image.
- Once a user launches Teams, they are unable to prevent auto-launch. Teams will always auto-launch and cannot be turned off by the user. Teams consumes all session resources to launch. This effectively means auto-launching is increasing your user logon times because the session will be unusable until Teams finishes launching.
- Teams can be prevented from auto-launching by an admin by default and a user can toggle auto-launch on or off. This reduces login times as well as resource consumption for virtual machines.
- Teams stays current by automatically updating.
- Teams disk storage requirements multiplies by every user instead of the number of machines.
- Teams auto-updater can corrupt or introduce “features” without the ability to test or QA before going live.
What End Devices Do I Need?
How many end devices are needed is largely dependent on whether optimization will be enabled (see section below). If unoptimized, the end-device is less important as most of the computation occurs in the VDI. However, all audio and webcam must still traverse the network to the VDI. Different end-devices map audio/video peripherals into sessions differently based on agent vendor whether Citrix, VMware, or WVD and whether the device is Windows, Mac, or Linux. This can provide a wide disparity in end-user experience if a standard is not implemented.
If optimization is enabled, the end-devices are now rendering the audio/video and transmitting directly to Teams servers. This increases outbound network load to the internet for your branch sites. Different VDI vendors provide different Optimization feature sets based on agent version and end-device OS. For instance, currently WVD only supports Microsoft end-devices while Citrix supports Windows, Mac, and Linux for optimization.
Should I Leave on Optimization?
Microsoft has worked together with virtual desktop vendors, such as Citrix and VMware, to implement an optimized mode of Teams. This enables H.264 redirection optimization for audio and video in the Teams app. While significantly improved over 2020, there are still potentially deal-breaking feature limitations in the optimized version of Teams.
- Optimizing allows Teams to efficiently manage and redirect audio and video, improving performance while reducing server resource utilization. Audio does not have to double hop between end-device, VDI, and Teams servers but instead goes directly to Teams servers. Also, audio and webcam video are not rendered in the VDI reducing resource utilization.
- Mapping of audio and webcam devices functions more natively without leveraging VDI vendor technologies, such as Citrix HDX audio, which can be buggy.
- Optimization relies on the implementation by the vendors agent and the version of Teams in the VDI. The pace with which versions are released provides a significant operational requirement to stay up to date.
- End-client agent versions must be released by vendor and then updated on the end-device. The Teams version in the VDI must also be updated if per-machine installed.
- If thin-clients are used as end devices, the updates can be further delayed as the vendor agents are typically included as part of the thin-client OS. This means operations must validate and deploy new OS versions of thin clients as well as testing in VDI.
- Features are limited, as defined in section below.
- Almost the full feature set of Teams as compared to physical device install.
- Teams functions the same way as all other conferencing tools, such as WebEx, reducing user confusion.
- Audio and video performance is reduced and heavily dependent on the end-device and VDI network stability. Any latency or bandwidth issues are compounded due to the double hop between device, VDI, and Teams servers.
- Audio and video device instability causes users to have to restart Teams, and sometimes the VDI session itself, to continue working after crashing.
The feature set and integration into the Office suite makes MS Teams a compelling app to deploy into your VDI environment. It can be tempting to include the Teams app with the rest of the Office 365 installation to gauge end-user interest. However, Microsoft’s decision to develop Teams using Electron and Optimization limitations requires VDI architects to consider unique design decisions compared to the rest of the Office 365 suite. The fast pace and complexity to implement Teams requires careful planning, design, and proper hardware prior to implementation to prevent data loss and performance degradation.
To learn more, download the complete solution brief: Deploying Microsoft Teams.
Frustrated with the cost, complexity, or performance of your VDI Environment? Book a demo to learn how VDI can be easy as pie!