Thursday, March 11, 2010

Virtualization for development

 

When I joined this industry in 1999, we always had issue with developing on Windows and testing/deploying on Unix. We still have the same issues now but from the verification and validation side of things we are better off now due to virtualization and also due to maturity of Linux. The maturity of Linux has made it the platform of choice at least for its Enterprise flavors from Redhat and Suse. Also testing has become so easy using VMware images of the two OSes. Create a virtual test environment and test your product on Linux or even Solaris. Though for commercial UX you will still need their physical box but I guess you can get it free if you tell them its either their OS/box or Linux on their competitors !

Virtualization has made life simple for developers too. Earlier, lot of time was wasted when developers had to first install the tools, configure them, load data into the DB, which were time wasters. Now you can create a whole image of the developer desktop, deploy it on the cloud and developers can use it on demand. At night, the developer desktop will go to sleep, the same server now starts the build/test environment and starts running the build or the test scripts. OS Patches also effect the product and that also can be factored in now by keeping versions and snapshots of the images.

We though need to be careful about licenses. Remember a windows image still need a license, so if you company has 50 licenses it means physical + virtual. Better have a good deal with MS on the licenses front. MS does bundle them. Like you can run 4 Win2k3 on the server which is running Win2k3/VMware Server. Win2k8 natively supports virtualization.

Lastly, for a Linux enthusiast like me, I can get a Linux environment on my Windows XP using VMWare player and do not need the Xserver or a telnet client. I can just switch over to the Linux desktop and work the way I like to work on remote Unix/Linux boxes as if I am on the console. I can learn Linux or just do development on Linux.