Planning your virtual future

If you've not been bitten by the Virtual Machine bug yet, it's time to give virtualization, and especially VMware your attention. VMware is out to change a few things in this world, one being how servers serve and the other how developers develop.

Yesterday, VMWare announced that its free VMware server is out of beta. With it, and its API, you can program starting a VMware, opening a VM, reverting it to its pristine state, installing your latest build and testing it via whatever automated test app you use.

Or, you could download from VMware a distro of your favorite flavor of Linux (1 vote for Ubuntu!), and run the os like you would open a file using VMWare's free Player.

Or, you could find yourself in the same situation I was in last week: my dev pc and laptop WinXP Pro corrupted by Office 12 Beta while an old client needed a fix to an Excel application I wrote for them in Excel 97. I could clone in VMware Workstation a fresh install VM with WinXP and Office 97, fix the code, and bail out my old client extremely quickly.

The emerging reality I see is between developing software and consuming betas, between the WinXP and Vista eras, between all the wonderful tools and apps out there all trying to overpopulate startup apps, the system tray and the registry in general, going VM looks seriously good for developers and non-developers alike.

Ideal for Testing

My biggest customer has set up such an environment. It builds a new VM, even grabs the application server (Tomcat), build tools (Maven), and then kicks them off to check out the latest code, run the entire test suite and notify the team of failures.

It's a powerful concepts, especially when you consider that if we want to check the system with a new version of anything, we change that one dependency and kick it off...

and the underlying server has never been touched.


Applications and OS dependencies have gotten so complex that only by abstracting to the level where we can treat the OS as an application can we as developers do our jobs.