Virtualization of Developer Workstations

Virtualization is everywhere.  We're using it for instancing our development, test, and production server environments.  A couple years back, I read a blog post by a development manager who virtualized his developer's PCs.  The idea made a lot of sense, so I went to our CIO and pitched the case.  We've been running like this for the past two years and it has been working great.

Here are some of the benefits:

  1. Fault Tolerance. Unlike desktops, a virtualized cluster is built on SAN technology and multiple physical hosts.  A disk or server failure won't affect your developer's productivity or uncommitted code.
  2. Hardware Flexibility.  Since it's a virtual machine, it is easy to increase the cores or the memory based on the needs of a given application.
  3. Instance Flexibility.  Developers are no longer limited to one machine or one operating system.
  4. Eases Upgrades.  In our recent migration to VS 2010, we stood up fresh VMs to test out & migrate to the upgraded version.
  5. Mirror Production.  Your production environment isn't running Windows 7.  Allowing developers to code & test on a the same server version you're running in production removes on more variable.
  6. Enhanced Tools.  Virtualized infrastructure brings additional tools like snapshots, clones, etc.
One of the issues that we experienced early on with our virtualization effort was a lack of multi-monitor support for remote desktop (RDP).  Luckily, with the release of Windows 7 & Windows Server 2008 R2, this has changed.  We're using 2008 R2 and our developers love this coupled with VS2010's multi-monitor support.

Give it a shot!  I think you'll like it.

3 Comments

  • Hi,

    I am not doing this right now (partly because I have a super powerful laptop and recently left a company); but it worked for me really well in the past, even just on your personal machine (using Virtual PC), without the SAN.

    I really liked it because it let me keep a 'clean' and 'minimal' computer running Windows XP/Vista/7 that booted really fast for casual web browsing, MS office, etc. Yet, when I started doing development the virtual machine started up in a few seconds (from Hybernation) and off I went with IIS and everything already loaded and running). Also it was less scary installing something on the VM, knowing I would not mess up my physical host.

    Dave

  • This only works if you have decent infrastructure. Most places I've seen it is impossible to get a virtual with more than 2 gigs RAM and 20 gig drive.

  • I'm a software developer, working on Win7 32-bit workstation. Our IT department wants to transfer my and other developers' workstations to one large VMWARE server as a virtual machines, meaning that we will use our real boxes only as a dumb terminal for remote desktop connection to our virtual computers. I can see many advantages with this virtualization like snapshots ability is just awesome, resource sharing is nice, probably more cool features.Information security is maintained because the code remains resident on shore. New workstations are quickly deployed in as little as 15 minutes. The high availability features of virtualization maximize workstation availability.

Comments have been disabled for this content.