Over the holiday weekend I had one of those “come to X” moments, where for X you may insert your deity of choice. Under my customary backlog of tasks to complete, and wanting to also spend time with my family, I was happily at work on Friday night fine tuning powerpoint for a presentation to the industry, when….

(You’ve all experienced this before) One profile change too many, one cookie too many, one slide too many, one keystroke too many.. or something, and my XP VM decided to toss its legs, feet & boots in the air. With daylight fading fast, spousal impatience on the rise and with a rapidly (Decibels are measured on a log scale) increasing din on the part of my children, I did something that no self respecting hypervisor zealot would do, namely take a leap of faith in another layer of virtualization – App Virtualization.

And the result is that it saved my weekend with my family, and the current state of my work, and enabled me to meet some tough deadlines this week. Here’s what I did: First, the diagnosis was that my Windows XP client OS VM (on my Mac) was done for. I could still boot it. Not much else, and not for long. My key concern was how to rescue all of my files and other state in the VM.

This exercise allowed me to validate a theory that I have had in the area of virtualization, which I can now summarize: Lesson 1: Make your VMs stateless. Move all of your documents (more generally, any app specific storage/state) out of the virtual hard disk of the VM and into an appropriate storage layer external to the virtual hard drive of the VM. In my case, all state (every document I work on) is stored in the local file system of my Mac and is continually backed up to the cloud. So my XP VM was simply an operating context for some apps, divorced from the storage for the docs etc that I work on. The fact that my XP VM had become unstable was therefore not a threat to any of my documents/presentations – only to the execution of the apps. Nothing I value was stored in the virtual hard disk of the VM itself.

Now, fancying a challenge, I also chose to upgrade to Win7 in the process of fixing this problem. After all, why not test Win7 in the process? So I created a new Win7 VM (using the MSDN media). That took the expected amount of time, and I easily got to the point where I had a new Win7 OS booted, with access to all my storage, including all my documents. What next? Well, I needed my Apps. Not only the basics, but also Citrix specific apps – for example expense reporting…

I was tempted to send an email to my local Citrix colleagues requesting install media for all my apps. Then I realized that that would not be easy – since I had no email client! : All I needed to do (and did, after a glass of wine) was download Citrix Receiver, turn on “auto update”, and enable the appropriate folder sharing to get my content back into the OS. Then I enjoyed the remainder of the weekend with my family.

When I started work this morning, XenApp App Streaming had delivered to me all the apps that I needed, ready to run at full performance, and appropriately configured for the enterprise network and other infrastructure. I had a brand new Win7 desktop, the latest apps, and everything I had ever created, all beautifully merged into a single runtime system.