Virtualization for the Software Engineer

Virtualization is well on its way to becoming a pervasive technology and initially I was somewhat skeptical with respect to the effect this would have on software engineers within their development environments. I could certainly see the effect this would have with respect to our production environments. The number of physical server machines placed into the racks to support applications would be reduced, but what about within our development environments?

The primary development workstation that I recently built is based upon the Intel D975XBX2 motherboard and the Intel® Core™2 Extreme Edition QX6700 processor. The processor provides four processing cores running at 2.66Hz and is accompanied on the motherboard with two Patriot eXtreme Performance 4Gb (2 x 2Gb) 240-pin DDR2 SDRAM kits, providing a total of 8Gb of RAM when running under Windows Vista Ultimate x64 Edition. Why would I need such a machine for software development?

With this horse power virtualization finally becomes practical because I can be running two virtual machines, each allocated 2Gb of RAM, and I still have 4Gb of RAM for the host operating system. In this configuration all three operating systems, Windows Vista and the two virtual machines running Windows Server 2003 SP1, are running with more than acceptable performance.

I'm now in the process of developing several plug-in's for Microsoft Team Foundation Server and the development TFS server is now running under VMWare Workstation 6.0 and this has several key advantages. Obviously, I no longer need an additional server to host this platform, although a less obvious advantage is that you can clone an existing virtual machine and be up and running with a new machine in just minutes compared to installing an OS or ghosting an image upon a new physical machine. With this capability it now makes sense to keep master virtual machines from which the virtual machines you use day to day are created. Another great benefit of VMWare Workstation 6.0 for software engineers is its plug-in for Visual Studio 2005 that enables the debugger to attach to code executing within a virtual machine.

Initially you might find it difficult to convince your manager that you need the kind of machine that I've described above although given the savings that could be realized through a reduction in physical machines (not to mention the power they consume), I think software developers can certainly save their organizations large sums of money, not to mention time, with virtualization technology.

For more information, check out Intel's Virtualization Technology.

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.