How Microsoft Virtual Server 2005 helps software development – level 200

Since Virtual Server 2005 and VMWare server are now both free to the masses, many more developers can take advantage of virtualization.  In short, with a virtual computer, you can do more things with one physical machine.  You can run multiple operating systems on one machine.  You can test your server farm on one machine.  You can test maintaining session state over a web farm on one machine.  You can configure a domain of computers on one machine.  You can test out the latest beta software without hosing your machine!

In my development shop, we only have one server that we use.  It’s a 1U 4-proc server with 4GB of RAM.  Obviously, you need some decent hardware to be productive with virtual machines running inside because each virtual machine still needs resources just as it does when installed as the base operating system.  We have CruiseControl.Net and FitNesse installed on the host machine, and we run 6 or 7 development servers all the time as virtual machines on Virtual Server 2005.  We need all the development servers, and it’s a lot easier having one physical server than it is to maintain a whole rack.  When a situation arises where we need another dev server, it’s no problem.  We can copy the .vhd file from an existing one, and we instantly have another server up and running.  We obviously have to change the network name, but that’s no problem.

My workstation has 2GB of RAM, so I’m able to run virtualization locally with Virtual PC 2004 (I have run Virtual Server locally but found it simpler to use VPC for local use).  I can test out a pre-release of software, and I’ve even been able to play around with a Longhorn (Windows Vista) beta (by the way, Virtual Server 2005 R2 has virtual machine additions for Longhorn – it’s dog-slow without them).

In short, virtualization is a boon for developers, and I’m glad I it as a tool in my toolbelt.

I haven’t installed R2 yet, but R1’s manager web site only works well with IE.  Here’s to hoping that’s fixed with R2.