Sunday, March 01, 2009

Go Virtual! Save your Soul.

I haven't installed a development tool (production or beta/CTP) on my core OS for years. I do all my development, presentation preparation and learning / experimentation on Virtual PC (VPC) instances. (Ok, my clients pony up development machines for client work but...and no developing / architect jokes) Also, these are not VPCs I created. Certainly, one needs to license these instances properly when used in a production environment (vs. testing/evaluation) but leveraging a VPC will save you loads of time and effort (and headaches).

To be clear, I don't recommend this approach if you need to actually learn how to install and configure a product and/or operating system. If you're studying for your MCSE, it likely behooves you to actually install it a few times rather than leveraging an existing virtual instance.

But, if you want to learn how to leverage or use the product rather than how to install and configure it, go out to your favorite search engine or search.microsoft.com and download the VPC instances Microsoft so generously provides. These often 12-month expiry instances provide ample time to create a presentation demo or a proof of concept for a potential client. Investment in setting up and configuring the OS, SQL Server, MOSS, VSTS/TFS, etc in order to leverage your product of interest: ZERO (well, except the time to download perhaps).

As an example, I leverage the Visual Studio Team System and Team Foundation Server VPC instance for all my VSTS/TFS demos and client presentations. Recently, I started leveraging the Windows 2008 Server VPC trial instance for some Azure presentation work--Azure requires Vista or Windows 2008...yes, I'm still on XP...talk to my infrastructure guy :( Personally, I think Windows 2008 Server looks awesome. Do I want to set it up and configure it? Err, no.

If there's no existing instance configured the way you like, take it upon yourself to create a VPC for your team. (Again, disclaimer: license this up properly.) The folks on my MOSS infrastructure / config team kitted out a tremendous Windows Server 2008 with MOSS Enterprise, SQL Server 2008 and all the goodies. Now, the folks on the MOSS development team can benefit and get right to work learning and developing--their key focus.

Save yourself some time and energy--go virtual!

4 comments:

mcollier said...

Good info, Jeff. Thanks for sharing!

Since I'm a virtual newbie, gotta ask - what's the difference between Virtual PC and Virtual Server? Can I used a VHD for Virtual Server on Virtual PC? I've got a new laptop and want to "go virtual". ;)

smnbss said...

may be this is a good solution if you have to produce only demoes, but virtual machines are too slow to use them as daily development environment, unless you have a supercomputer. For sure virtual machines on notebooks are extremely slow unless you have ssd disks

Jeff Hunsaker said...

@smnbss As long as you have 4GB of memory and fast disks (7500+ RPMs), it's a very responsive experience...even for day-to-day development.

Jeff...

Kevin said...

I agree with Jeff. VMWare/VirtualPC is a phenomenal experience. Oddly enough running XP in a VM on my home PC with 3GB RAM runnning vista home premium, I get a much better development experience with VS2K8 than I do on the host OS. haha, it's weird.