This is probably the most common question I get when going through a virtual desktop design… Should I use the hosted shared or hosted virtual desktop model? For once, this isn’t an “It Depends” answer. This is a “Yes” answer. You will mostly likely need them both. For those of you who aren’t sure what the difference is, it is pretty straightforward:
- Hosted Shared Desktops: A published desktop on XenApp. Users get a desktop interface, which can look like Windows 7. However, that desktop is actually being shared by every user on the server. Although we can configure restrictions and redirections to allow users to have a smaller impact on each other, there is still a risk. Many users to one desktop.
- Hosted Virtual Desktops: A Windows 7/XP desktop running as a virtual machine where a single user connects remotely. One user’s desktop is not impacted by another user’s desktop configurations. Think of this as one user to one desktop. There are many flavors for the hosted virtual desktop model (existing, installed, pooled, dedicated and streamed), but they are all located within the data center.
The big reason why people want to figure out if they need a hosted virtual desktop is because of scalability, which equates to money. I can get 100-200 concurrent users on a Hosted Shared Desktop model and maybe 50-100 concurrent users on a Hosted Virtual Desktop model with the same hardware. Seems like a no brainer, go with Hosted Shared Desktop.
Unfortunately, it isn’t an either/or answer. It is more of a 70% one way, 20% another way, and 10% a third way.
To do it right, you have to start by understanding your users. Citrix calls it User Segmentation Analysis, but it essentially means gathering information about my user groups to understand what they need to do their job. If you do this, you will see that the decision isn’t nearly as difficult as you expect. Here are a few examples and how I would align the groups with the most appropriate virtual desktop model (and I’m mostly looking at the application aspect, but we would also want to look at user location, mobility and end points):
|Group 1||Users are mostly within one or two applications all day. This application is the main line of business application. Their performance is based on speed and accuracy.||Hosted Shared Desktop|
|Group 2||Users have a core set of applications they require to do their jobs. Oftentimes, these users must be able to modify system-level settings like environment variables, or install their own applications||Hosted Virtual Desktop (Dedicated)|
|Group 3||Users focus on content creation utilizing Microsoft Office and Adobe Photoshop. They users also browse for content and graphics online via a browser.||Hosted Shared Desktop|
|Group 4||Users utilize a few applications that consume significant amounts of CPU resources when doing certain activities (video rendering or code compiling)||Hosted Virtual Desktop (Streamed to Blade)|
|Group 5||Users utilize a certain application that requires admin-level privileges||Hosted Virtual Desktop (Pooled)|
I prefer to start with the most scalable solution first, as long as it meets the user requirements. That is the key point… user requirements. Many users need additional functionality or capabilities that are not suitable for the hosted shared desktop model. Once you reach these users, you need to figure out how to provide them with the most appropriate desktop.
In the end, there is a balancing act that goes into the design. If I have a small group of users that can utilize 3 different models, and 1 of the models is already in place, then it only makes sense to have those users use that model. It simplifies the infrastructure and makes it easier to manage.