May 20, 2010 - Sven Huisman
7 “challenges” migrating from XP to Windows 7 using VDI
Migrating to Windows 7 is something many companies will face the next couple of years. Using desktop virtualization or VDI in the process is something a lot of those companies consider (read Ruben Spruijt’s article about the different types of dekstop virtualization and the role of Windows 7). In this article I would like to point out a couple of challenges a company might face when migrating from XP to Windows 7 using VDI. Don’t expect to learn about the advantages of VDI or about best practices for migrating to Windows 7 in general.
Here is my top 7 challenges migrating to Windows 7 using VDI. Feel free to comment.
Will all the applications run on Windows 7? Do I need to virtualize my applications (in order to run them on Windows 7)? What can I do with applications that don’t work on Windows 7? Can I use Windows XP mode in a Windows 7 VDI environment or do I have to maintain a separate Windows XP image for applications that will not work on Windows 7? To get 100% of the applications to work on Windows 7 is the biggest challenge when migrating to Windows 7 in general. Virtualizing applications add another level of complexity to this challenge. There are tools available that can help you get information about application compatibility like App-DNA. If your company currently has Windows XP and doesn’t use application virtualization and you would ask me what the best strategy would be to migrate to Windows 7 in a VDI environment, I would advise to take smaller steps at a time, for example:
- Virtualize your apps first, move to VDI with XP, then migrate to Windows 7.
- Move to VDI with the current environment, virtualize your apps, then migrate to Windows 7.
It’s no secret Windows 7 uses more resources than Windows XP. In a physical migration from XP to Windows 7, it is more likely that the desktops will be replaced with more powerful hardware as well. In that case, sizing is less important and in most cases the first bottleneck will probably be memory. Sizing will be more difficult for a VDI environment because more detailed information is required for sizing the hosting infrastructure. Not only CPU and memory usage of and the application behavior is important, but especially the disk usage (IOPS and the Read/Write ratio) is critical for sizing a VDI environment (read the VDI and storage = deep impact whitepaper!).
When migrating from XP to Windows 7 using VDI, it’s hard to get all these numbers because there is no production environment with Windows 7 to measure. One (bad?) way could be measuring the current XP environment and add a percentage on CPU, memory and IOPS usage. Another (better?) way is to do a representative Proof of Concept with 20% of the target users, using Windows 7 (in a VDI environment).
One major difference in licensing in Windows 7 compared to Windows XP is that Windows 7 needs to be activated. When using Windows 7 in a physical environment you have multiple options to achieve this: Retail or OEM key activation, or by volume activation using Multiple Activation Key (MAK) or Key Management Service (KMS). In a virtual environment the only option you have is KMS. Because chances are that with Windows 7 in a VDI environment, snapshots, moving VM’s to other hosts and cloning will be used. KMS activation supports these kinds of operations:
“Using KMS will transparently support activation throughout the hardware changes associated with moving or replicating VMs across physical systems. Additionally, using KMS activation in a VM environment seamlessly supports the use of undo disks and other reset operations.”
4. Best practices Windows 7
Because of sharing resources in a VDI environment, optimizing your Windows 7 golden image is very important. You definitely don’t want your Windows 7 VM’s be wasting CPU cycles, Memory or IOPS. You need to fine-tune your Windows 7 image by using best practices and common sense (disabling services you don’t need in a VM like WLAN Autoconfig is a good example). But where do I find those best practices? As best practices for Windows 7 in a VDI environment are hard to find at the moment (because it isn’t used in production yet?). Here is one of the few for creating the Windows 7 template. But how about best practices for # of vCPU’s per VM, # of VM’s per physical cores, ASLR, pagefile settings, etc.?
5. User profile settings
Windows XP profiles are not compatible with Windows 7 profiles. This will not make any difference if you migrate from XP to Windows 7 in a physical or in a virtual environment. So you will have to find a way to migrate those settings to a new profile, using User state migration tool or 3rd party tooling (like RES Powerfuse, StratuSphere Profile Unity, Immidio Flex profiles). What can be different in a virtual environment is that every time a user logs on to a virtual desktop, the user could be logging on to a different or clean virtual desktop. A decision is to be made about whether user are allowed to keep their personal settings and if so, how are the user profiles managed (folder redirection, roaming profiles or any of the previous mentioned 3rd party tooling)?
6. User Acceptance
Not only do the users have to work with a different Operating System, they will also have to work with a remote display protocol (whether it’s RDP, ICA, PCoIP or any other protocol). Will the user experience meet the expectations of the users? And if application virtualization is used as well, maybe the launch time of applications is not what users are used to. Prepare the users for all those changes and communication to the users is very important. If some of the expectations can’t be met, you might have to give something extra to the users (like a much larger screen or even a second screen: “Wow, I now have a much larger PC, thanks IT department!”).
7. Endpoint devices
What kind of endpoint devices will you use? As always, this depends on the requirements, but here are some points to keep in mind. One of the options is to repurpose your old desktops as an endpoint device for your VDI infrastructure. But which OS are you going to install to that and how do you maintain that OS? If it’s going to be XP, it will be another OS to maintain and manage. If it’s going to be Windows 7, why are you using VDI in the first place? 😉 Or maybe thin client OS software build for repurpose PC’s (like the new Wyse PC extender software) is the best option for your old PC’s? Thin or zero clients are the alternative, for those, but how about notebooks? Are they migrated as well to Windows 7 or will they become an unmanaged Windows XP notebook, connecting to a Windows 7 VM? Do I need/dare to consider a client baremetal hypervisor like Xenclient? Each option has it’s pros and cons. If you would ask me, I don’t want to manage (a lot) at the endpoint devices and I would go as thin is possible (in a situation where a migration from XP to Win 7 in a VDI environment).
These challenges are just the beginning (and fun for me as a consultant). Wait until a Windows 7 VDI environment is actually being used. That’s when you will face the real challenges! 😉 But to end positive, an implementation of a virtualized Windows 7 environment will be done more and more. And the lessons learned from those implementations will be transformed into best practices and published on the web (at least if the implementations are done by me 🙂 ).