Welcome to Part 2 of the ‘Top 5 DaaS Mistakes and How to Avoid Them' series! While customers would love nothing more than to consume virtual apps and desktops as a commodity service, the truth is that even in 2021, there are a number of design considerations that will ultimately determine whether your DaaS implementation will be successful or not.
If you haven't had a chance to read Part 1, where we covered the topic of Sizing and Optimizing Workload VMs, be sure to check it out by clicking here!
For Part 2, we are focusing on the topic of Single User vs. Multi-User workload models!
Left Twix, Right Twix, Snickers, or Dutch Stroopwafels?
If you're like me, you may enjoy a caramel-based snack from time to time.
If you do, do you prefer the Left Twix or the Right Twix? Or maybe you prefer Snickers? Or maybe you've tried a freshly-baked Dutch stroopwafel before and you'll never go back to anything else :)
When it comes to the topic of Windows Single-User vs. Multi-User Operating System, for some customers it may be like choosing between Left Twix vs. Right Twix (it doesn't really matter). For others, it may be more similar to choosing between a Snickers and a stroopwafel (it absolutely matters).
(By the way, if you want to take a break from this blog at this point to go grab a snack, I certainly don't blame you)
The point is, how important this decision is will vary significantly from customer to customer, use case to use case.
With that said (and snack in-hand), let's formally define what we mean by Single-User vs. Multi-User workload models
- Single-User Workload Model. In the context of Desktop-as-a-Service (DaaS), a Single-User Workload Model is simply defined as a dedicated workload VM per user session. The VM itself can be running any OS (Windows 10, Server OS, Linux, etc.) and can be persistent or non-persistent. The user session can be a full virtual desktop, a single virtual application, or a subset of virtual applications. This model is often referred to as “true VDI”. DaaS solutions that leverage this model include: Nutanix Frame, Citrix Virtual Desktops (formerly XenDesktop), VMware Horizon Cloud, and AWS Workspaces.
- Multi-User Workload Model. A workload VM hosts more than one user session concurrently. The VM is running either Windows Server OS with Remote Desktop Services Session Host enabled or, more recently, Windows 10 Enterprise with Multi-Session which is available via Microsoft WVD/Azure. Just like with the Single-User model, the user sessions can be a full virtual desktop, a single virtual application, or a subset of virtual applications. You may also hear this model referred to as Terminal Services, Remote Desktop Services (RDS), Server-Based Computing (SBC), Remote Desktop Services Session Host (RDSH), hosted shared desktops, or published desktops/apps. DaaS solutions that leverage this model include: Citrix Virtual Apps (formerly XenApp), VMware Horizon Cloud RDSH, and Azure Windows Virtual Desktop (WVD) with Windows 10 Enterprise Multi-Session (EMS).
Single-User vs Multi-User in the Era of DaaS
Over the years, I have heard from many customers, partners, vendors, and EUC geeks alike - speak about their preconceptions regarding this topic (and often in definitives!).
- “Multi-User provides the best scalability and is the most cost-effective.”
- “Single-User provides the best user experience.”
- “Multi-User is simpler to manage than Single-User”
- “Single-User is for virtual desktops, Multi-User is for virtual apps.”
The mistake to avoid is assuming that these preconceptions are automatically valid in the era of DaaS and hybrid/public cloud.
Below I will highlight some of the key differences and trends that should be taken into consideration when selecting a workload model for your particular use case.
Cost and Sizing
When deploying workload VMs on-premises to support use cases with a very predictable resource utilization (e.g. delivering a single virtual app, task/knowledge users, follow-the-sun/shift work, etc.), the Multi-User model has traditionally been a very cost-effective approach (assuming no application compatibility or licensing issues). With less variables to worry about, the easier it is for VDI admins to determine the optimal server sizing (in terms of vCPU and RAM) to support the peak number of concurrent users and get the best bang for their buck.
However, let's take the same use case above and host it on workload VMs in public cloud instead. If you are using on-demand instances, now you have to concern yourself with how to properly bleed users off certain VMs in order to power them off during non-peak, after-hours, and weekends to maximize cost-savings. You will also need to consider the minimum number of VMs powered on at any given time to properly support the use case. Selecting the proper VM type that maximizes user density and minimizes hourly compute cost is also important.
Alternatively, you could consider simply utilizing reserved instances, however, that will more than likely result in higher cloud consumption costs.
So would moving to a Single-User model make more sense for this use case? For this particular use case - from a pure cost perspective, likely not.
However, it is important to understand that with a Single-User model, elastic capacity management in public cloud is much easier to achieve compared to a Multi-User model. Since it's only one user per VM, if a VM does not have an active user session, it can be powered off upon session close or left powered on for a certain amount of time as a buffer VM to immediately support the next user session.
The graph below (Figure 2) is from Nutanix Frame's Elasticity Analytics dashboard for one of our customers who is currently supporting approximately 400 concurrent users during a normal business day.
The blue line represents Active Instances (powered on workload VMs) and the red line represents Active User Sessions. As you can see, with a Single-User model, you can very closely align VM consumption with actual usage by users.
So what's the take-away?
The take-away is that when deploying to the public cloud, there is a point as usage becomes less predictable and session resource requirement becomes more demanding, where the Single-User model will be more cost-effective and easier to scale than the Multi-User model. This point comes much sooner in public cloud compared to on-premises as a result of on-demand consumption and pricing.
This becomes even more relevant as customers look to address more complex use cases with DaaS such as desktop-replacement, GPU-accelerated workloads, and power users.
One of the primary benefits of the Single-User model is that each user has a VM allocated to themselves - this can be temporary as part of a non-persistent pool of VMs or can be dedicated if deploying persistent desktops. Users are able to take full advantage of the computing resources provided by the virtual infrastructure (vCPU, RAM, and vGPU) allocated to the VM. Performance is consistent since there are no “noisy neighbors” sharing resources within the VM.
With that said, a properly sized Multi-User model can deliver just as good of an user experience compared to a Single-User model. Even for graphics-intensive workloads, NVIDIA vGPU can be leveraged to deliver the necessary GPU performance within a multi-user environment. Furthermore, with the current global shortage of GPUs in both private and public clouds, leveraging vGPU profiles with a Multi-User model can help ensure that the GPU resources that are available are fully utilized to deliver the best overall user experience.
When it comes to management overhead of Single-User vs Multi-User, I don't think one model inherently requires more overhead than the other. Both models can take advantage of features such as centralized gold image management, user profiles, and application layering solutions.
I think there is a perception that the Multi-User model is less complex to manage because the use cases that are addressed with the model are typically less complex (task/knowledge users, virtual apps only, no persistent desktops, etc.).
With that said, this ultimately comes down to your use case requirements. If you need to provide your users with the ability to install applications, plug-ins, or make changes on system-level that can only be achieved with a Single-User model.
Applications also typically do not have any compatibility, security, licensing, or support issues when running in a Single-User model, especially when using Windows 10 as the OS. As an extension to this, for customers that are only considering DaaS for a subset of their end-user population, and using Windows 10 the Single-User model makes it much more feasible to retain the same (or similar) OS versions, application configurations, optimizations, and image management procedures as their physical desktop counterparts, which makes User Acceptance Testing (UAT) much easier.
Delivery Modality - Apps vs. Desktops
The truth here is that the majority of virtual desktops in use today are running in a Multi-User model (also known as “hosted shared desktops” or “published desktops”) in a non-persistent configuration. User profile solutions such as FSLogix Profile Containers, Liquidware ProfileUnity, Citrix Profile Management, and Nutanix Frame Enterprise Profiles are commonly utilized to persist user personalizations and application configurations.
On the other hand, most DaaS solutions can also deliver virtual apps to users in a Single-User model.
It is important to understand that both workload models are able to effectively deliver both virtual apps and desktops to end-users. While delivery modality (virtual apps or virtual desktops) is certainly a consideration, it should not be the deciding factor when selecting a workload model.
The (Uncertain) Future of the Multi-User Model with Windows Server
Microsoft announced that they will be dropping support for running Microsoft Office and Office 365 on Windows Server 2019 in October 2025. Will a new version of Windows Server support Microsoft Office / Office 365? Is the future of the Multi-User model with Windows 10 Enterprise Multi-Session (EMS) which, as of now, is only available with Windows Virtual Desktop in Azure? Great questions, time will tell!
So What's Best For Me?
Just off the top of my head, I would recommend: drinking more water, getting more exercise and sleep, reading a good book, spending more time with your family, smiling more often, and of course eating more stroopwafels!
In regards to the topic of Single-User vs. Multi-User for DaaS, it obviously comes down to your use case(s) and requirements.
- If you are deploying your workload VMs on-premises and you are looking for the lowest cost per user (especially for knowledge and tasks workers) - the Multi-User model is the way to go.
- If you are deploying your workload VMs in the public cloud and want to provide your desktop-replace users with consistent performance - the Single-User model is your best bet.
- If your use case is somewhere in-between the above, you'll need to do more analysis!
If you want to read more about DaaS from Nutanix and how Frame is different from the rest? Be sure to check out this blog.