The Future of the Desktop at Citrix Synergy GeekSpeak Live

I attended the Citrix Synergy GeekSpeak future of the desktop discussion. For those of you who watched it live, I bet you thought it was interesting to hear the panel’s comments about where they think the desktop is going.  They talked of grand ideas of no local desktop, apps in the cloud, consumerization, what Microsoft needs to do, etc.  However, I think they completely missed the point.  The future of the desktop is a pointless discussion.  I think the work desktop is just a way for users to get to all of their applications and data. Do users really interact with the desktop operating system very much?

At work, my Windows 7 desktop is pretty standard.  I have some folders, I have a nice background, and I have links to my applications.  I, as a user, do not care that my apps are running on Windows 7, on a server in the data center, on a cloud fabric or anywhere else. Honestly, I just want to get my work done.  But, I want to do this with my own device, which sometimes is a Windows 7 home PC and at other times it is an iPad.  The growth of user-owned devices is growing, and growing fast.  What devices will I own in 5 years? No idea. You are out of your mind if you think that one application will work natively on every platform that your users bring into the office.  So where does this leave the future desktop?  Don’t worry about the desktop, worry about your applications and how you present those applications to the users.

All that matters is that you, as an IT organization, find a way to consolidate all of the apps your users require to do their job.  You WILL have some apps in the cloud as they are the best for your organization. You WILL have some apps that are Windows 7 or Windows XP based because your organization needs these apps. You WILL have some apps that are web based because your organization uses these apps extensively.  You WILL have a massive number of apps that are hosted on many different platforms.  Why?  Because your organization or your users have decided that these applications are best for the business.  Saying no to SaaS apps might slow down your business.  So IT must find a way to provide these applications in a consolidated view.

All that the user wants is for IT to find a way to consolidate these apps, and to allow access to the apps in a consolidated manner and that allows them to use any device to get their job done.  That is the future of the desktop.

Daniel – Lead Architect
XenDesktop Design Handbook


Big or Small VMs for XenApp

Many of us know that if we virtualize XenApp servers using a 32bit OS, we can more fully utilize the physical servers. This is possible because the 32bit OS will reach system limits before we reach physical hardware limits. By adding more VMs, we effectively increase the scalability of the physical hardware by more fully utilizing it. Nothing too Earth shattering there.

What about running XenApp on a 64bit OS? We don’t have the same system limitations. Do we want to virtualize it? How should we carve up the server?

There are many different aspects to look at but I’m only going to focus on flexibility at this point. If I didn’t virtualize one of the newer servers (4 sockets, 2 cores and hyperthreading enabled) I would have a XenApp server with 16 logical CPU cores. Windows Server 2008 R2 and XenApp can handle this, but do you want to? This one server will support hundreds of users. If I don’t virtualize it, how difficult will it be to maintain the one image? It might take a long time to siphon off all of the users so I can do maintenance. So the answer is to virtualize it… Right?

Sure. That way we can move the live VM to another host so we can do physical host maintenance. But moving the VM might be difficult. And by difficult I don’t mean from a hypervisor perspective as XenServer, Hyper-V and vSphere are truly capable of migrating VMs to other hosts. By difficult I mean that it might be a challenge to find a server that has that many resources available to host the VM. You could do an N+1 scenario and forget about the VM migration, but you still have to wait for the users to siphon off of the VM.

What happens if I use smaller VMs? It makes finding a home for the VM easier. I probably have more options finding a host for a 4 vCPU VM than a 16 vCPU VM. And even if I didn’t migrate, the time to siphon off users from a small VM should be a lot faster than from a large VM.

Flexibility is one aspect to consider when virtualizing XenApp servers.

Daniel – Lead Architect
XenDesktop Design Handbook

End User Experience or Density

With a virtual desktop, what do you care more about: End user experience or virtual desktop density? It comes down to who you ask.

If I ask myself this question but with a user’s perspective, my response would be that I want my virtual desktop to be able to access company resources, to watch videos (some work-related, others not so much), and to listen to my voicemails as they are delivered to me via email. When I use Office Communicator, I want to have a voice conversation with one of my coworkers, but I’m not into the whole video conferencing thing as I don’t want my coworkers to know that I’m sitting outside on the deck in the sun while they are stuck in an office (Work from home FTW).

Now if you ask me the same questions but with an IT perspective or a business owner perspective, I might say that I want to get the greatest user density possible. I want to pack in as many users into the smallest amount of hardware as possible. My users don’t need video. They shouldn’t be watching YouTube (which is a common statement).

Unfortunately, there is a disconnect between users and IT. If you want to do a virtual desktop right, you have to get the user experience designed right. If the user experience sucks, then all of your users are going to slow or stop the project. This is why you always need to assess your users. See what apps they are using. Understand their application-specific requirements. It makes a big difference if a user needs Office Lync for IM, for a weekly voice/video call or for daily voice/video calls. These types of things not only impact the user experience, but it also impacts the overall scalability.

Daniel – Lead Architect
XenDesktop Design Handbook

Migrate from MCS to PVS

When installing XenDesktop 5, I bet many people were interested in using Machine Creation Services. And why not? It is easy to setup and configure because there is nothing to setup and configure. What could be easier? However, as many of you start to grow your desktop virtualization implementations to include more users, more desktops and more scenarios, you might realize that MCS is no longer able to meet all of your demands. What if you want to do Hosted Shared Desktops or Streamed VHD desktops? No MCS allowed.

If you want single image management, you are going with Provisioning Services. And if you start using PVS for these new use cases, will you also go back and update your other pooled VDI desktop users to also use PVS? Probably. It will make the operational aspect easier with only being required to support a single provisioning solution. Of course the big issue with moving from MCS to PVS is how to migrate your images.

Chances are, you spent a lot of time installing, configuring, and optimizing the base desktop image to align with your business. Do you really want to start over and create a new image for PVS? No way. Well, luckily, it isn’t too difficult to migrate images from MCS to PVS. A new Implementation Guide has just been added to the XenDesktop Design Handbook that provides the steps required to migrate images. Now you don’t have to figure this out on your own, just follow the steps. Take a look at the latest: Implementation Guide: Migrating from MCS to PVS.

Daniel – Lead Architect
XenDesktop Design Handbook

Lessons Learned with vCPU Allocation and HDX

How many of you have read the XenDesktop Planning Guide called “VM-Based VDI Resource Allocation” that is in the XenDesktop Design Handbook? Hopefully, there are a lot as it provides a table with initial recommendations for allocating vCPU, RAM, steady state IOPS for VDI type desktops. Remember, these are estimates!

User Group Operating System vCPU Allocation Memory Allocation Avg IOPS (Steady State) Estimate Users/Core
Light Windows XP 1 768MB-1 GB 3-5 10-12
Windows 7 1 1-1.5 GB 4-6 8-10
Normal Windows XP 1 1-1.5 GB 6-10 8-10
Windows 7 1 1.5-2 GB 8-12 6-8
Power Windows XP 1 1.5-2 GB 12-16 6-8
Windows 7 1-2 2-3 GB 15-25 4-6
Heavy Windows XP 1 2 GB 20-40 4-6
Windows 7 2 4 GB 25-50 2-4

This table assumes you are using Provisioning Services as the single image management solution. As you can see, most user group categories, we recommend a single vCPU. Most users will be able to work with a single vCPU allocated to their virtual desktop image. However, in situations where multimedia, voice, video, webcams are used, this could result in less than stellar performance. Why? Have you ever looked at your CPU when doing something like Microsoft Lync? If not, take a look on a non-virtual desktop. Your CPU is going to be running pretty hot.

As soon as you start using some of the more advanced HDX capabilities, it is pretty safe to recommend the allocation of 2 vCPUs. With only 1 vCPU, you will probably see inconsistent performance with video playback due to the processes/threads waiting for their turn on a single vCPU. With two, we can overcome the serialization of the processing.

Unfortunately, once you allocate 2 vCPU, your host hypervisor scalability will decrease because the CPU scheduler must do more work. But allocating 2 vCPU where you used to allocate 1 vCPU will not cut your scalability in half (it isn’t that bad). But remember, you are doing heavier processing activities as well if you need to use HDX items like HDX RealTime so don’t count these users in the Light User Group category.

The virtual desktop that Citrix IT allocated for me is 2 vCPUs. And I use this thing every day and have had no issues with the user experience, even when watching YouTube videos. So you need to ask yourself a question… Do you want to pack on the most users possible, or do you want to provide a consistent user experience that mimics a traditional desktop?

Daniel Feller – Lead Architect
XenDesktop Design Handbook