Now that we've looked at what a dynamic VDI desktop is, let's look at how you can do this. The main thing you need is a way for each new user to be connected to a generic Windows XP template.
A user's connection request would come in, the system would make a new VM based on a copy of the disk image for the Windows XP template, and the user would connect to that template. Once the logon is complete, the roaming profile is loaded, the other dynamic application customizations take place, and the user is ready to go.
So how do you do this? A lot of people think that because it's simple to create a new VM in VMware, and it's simple to copy a VMware disk image from a SAN, that you can do all of this with VMware and some scripting.
Unfortunately there are several roadblocks that keep this from being so easy. Probably the biggest one is the fact that you'll need to "boot" each new VM-based on the VMware disk template. This is a problem because Windows stores things like the computer name and the IP address in the registry which is stored on the disk, so each new Windows XP VM that you boot up would have the same information.
Of course you can easily change this via a startup script that runs within the VM. You could have it check some database and then fill in the appropriate information, but if you change the computer name then you would have to add the computer into your corporate domain, and that requires a reboot! (And of course you'd want it in the corporate domain since you need to manage it and use roaming profiles.)
As you can see, the dynamic VDI desktop concept is great, but in terms of practical implementation, it's not quite as simple "just copying VMware disk template files."
This is where OS Streaming technologies like Citrix Ardence come in. Ardence lets computers do a PXE boot and mount a disk image file across a network. Multiple client computers can share a single read-only copy of a disk image file, and Ardence ensures that each one gets its own computer name, domain RID, and other unique identifiers. And since the disk images are read-only, they disappear whenever a computer is turned off or rebooted. (A more complete analysis and explanation of Ardence's technology is available from BrianMadden.com.)
Given that very brief description of Ardence's technology, let's step through how Citrix Ardence can be used to create a dynamic VDI environment.
If you have a huge VMware server that is ready to host Windows XP VMs for users, you need to have each of these VMs boot to the same template disk image.
Using Ardence, you configure your VMware VMs so that they PXE boot. When a new VM starts up, it PXE boots and contacts the Ardence server. The Ardence server looks at the ID of the booting VM and then mounts a shared template virtual disk image for it. Since the Ardence technology is based on a device driver running in the Windows XP VM, Ardence intercepts calls for things like the domain RID and computer name, and it automatically looks up the ID of the client computer in its own database and replaces the generic template computer name and RID with the real ones for that device.
The key to being successful with VDI is that your VDI solution has to be less complex to manage than the "old" way of running physical local desktops. Otherwise, why would you use it in the first place? By figuring out where VDI makes sense for you, and managing your VDI desktops as a single unit, VDI is a great solution for a certain subset of your users. But it's not the be-all, end-all solution, and it's certainly not replacing server-based computing or traditional desktop computing across the board.
About the author: Brian Madden is an independent technology analyst, author, and thinker based in Washington, DC. He's written several books and hundreds of articles about Citrix and thin-client computing technology. Brian is a three-time Microsoft MVP, a Citrix Technology Professional (CTP), and he currently speaks and teaches throughout the world.