Alone in the Dark with Microsoft Desktop Virtualization

I don’t often get too bitchy with the mother ship, but I have to say that I’m highly disappointed with Microsoft and it’s desktop virtualization strategy. In fact, they really have forced us SharePoint developers to go down very few paths, and most roads lead to VMWare.

As a SharePoint developer one of the things you have to contend with is your development environment. As SharePoint only runs on a server (we won’t get into the unsupported Bamboo work around to get it running on Vista) it does make development a bit of a challenge. After all, as a web developer you just install IIS and off you go. With Visual Studio 2005 and above, the web server was built-in for you so you didn’t even have to install IIS. For SharePoint it’s a whole ‘nuther story. The minimum setup you need to hit the ground running with SharePoint is Windows 2003 Server (although 2008 installs much faster and is quicker to get setup) and a copy of SharePoint. For development and demos you *can* install it with the built-in Windows database, but you’re going to need to install Visual Studio anyways so you might as well have it sit on top of SQL Express at least. If you plan on doing any Reporting Services integration then you might as well install SQL Server Developer Edition with Reporting Services instead. In other words, to get a fairly decent rig up and running (minus any multi-server configurations) you’ll need about 30gb and a day or so to install and configure everything.

So to get any traction enter virtualization. The ability to start up your server (sometimes from a saved state) and start developing. Microsoft currently offers up 3 tools to do this (pretty much all free, although Hyper-V requires Server 2008). Virtual PC, Virtual Server, and Hyper-V. Any of which has it’s advantages and disadvantages but we won’t get into a compare and contrast post here. This is about where do we go from here? I fully blame Microsoft for this. I can’t spin it any other way. They went full-on with Hyper-V but left desktop users in the dust.

Virtual PC was acquired from Connectix and turned it into a pretty good alternative to VMWare’s workstation offering at the time. Grant you, VMWare has been up to date on things pumping out newer versions with better and better features while Virtual PC, well… It really hasn’t changed from the 2004 release and that release didn’t really change all that much from the 5.0 version from Connectix. Sure, new guests were added and I’m sure they’ve made some performance improvements internally (did they? I have no evidence to say either way).

There you are, trying to figure out what options you have. Virtual PC 2007 is IMHO all but abandonware. The last service pack added Vista and Server 2008 guest OSes but in reality, the product is dead and I see no future for it. The team has moved onto the Hyper-V group and the product may as well be dropped as it has no future (feel free to chime in here guys and prove me wrong). Looking at Ben Armstrong’s Virtual PC Blog, the last year or so of entries are all about Hyper-V with a few entries about getting some obscure game running on Virtual PC. As for Virtual Server, that’s even more so abandoned than Virtual PC (again, “R2 Service Pack 1” was released but all it did was add new guest OSes to the mix). The product still carries the “2005” branding and there’s no Virtual Server 2009 or 2010 anywhere to be seen (correction, ask a softie and they might say “Oh you mean Hyper-V!”).

For those that are thinking about running Hyper-V that’s a fair option but think first. This is a server product so running Server 2008 on a laptop (because it gets really expensive in freight and pretty heavy to lug around desktops to conferences) isn’t really an option. Call foul if you will and hey, I ran Server 2008 on my last laptop using the most excellent resource win2008workstation.com but guys, this is a server OS and having it as your primary OS on a laptop isn’t a long term solution (there’s so many workarounds to try to get “normal” desktop applications running on it, and don’t even try to do mobile app development). As for Hyper-V on Server 2008 on a laptop, it’s possible but a) your system BIOS needs to support it and b) you need enough horsepower to get Hyper-V running as well as the OS and 2GB really isn’t going to cut it. Again, machines are becoming more and more powerful but I really don’t want to haul around a machine that takes down the Eastern Canadian Power Grid every time I fire it up. Support (for those that do tend to like to have it) is probably going to be hard if not impossible on a laptop running Server 2008 and Hyper-V. I just don’t think Microsoft has marketed this combination nor is going to give you much assistance when you call PSS with a problem and describe your setup. I could be wrong but I think there’s a reason why we have server class machines and workstation based operating systems. Live on the edge, but when it comes to my daily bread, I don’t like to take big chances that haul me into long downtimes rebuilding a server (even a virtual one).

So where exactly does that leave the desktop developer that needs a server OS (aka SharePoint, although I’m sure there might be others). Hello VMWare! Yup, Microsoft has conveniently driven us right into your arms. Don’t think so? I don’t see a x64 guest option anytime in the future for the aging Virtual PC or Virtual Server and with the next version of SharePoint being x64 only, where do you turn if you need to be portable. VMWare already supports x64 guest operating systems. You following me Virtual Guy?

Let’s go over the options for portable server-type development then:

  1. Stick with Virtual PC 2007 SP1 but you’re basically screwed if you want to do SharePoint 14 development with it.
  2. Stick with Virtual Server R2 SP1 but get screwed for the same reason as #1
  3. Run Server 2008 on your laptop and enable Hyper-V (assuming your hardware supports it and you don’t need certain programs)
  4. Run VMWare Workstation right now and keep running it for years to come.

Yeah, so many choices huh? Thanks Microsoft.

Am I wrong? Please beat me down in the comments.

4 Comments

  • I found VirtualBox and haven't looked back. VirtualPC is a joke and VMWare is just out of my budget reach.

    I run Server 2008 as host, and have XP and Linux guests. I haven't tried a server guest, but I would be surprised if there were any major issues.

  • Using VirtualBox for Linux, Windows Vista and Windows 7 testing. Also Used it with Windows 2008 server and Windows XP for dev enviroments.

    VBox is not perfect but includes some amazing features. Like 3D acceleration for example, up to 128mb of Video Ram, USB 2.0 support and an increasing feature set. Its in a very active state of development so new stuff is being released all the time.

    My 2 cents.

  • You're not wrong and it's more than Sharepoint developers impacted, too. I'm doing a lot with parallel development, researching and writing about the .Net 4 extensions -- but the Visual Studio 2010 CTP presented a problem:

    Virtual PC only supports a single core, so my only options to view parallelization were VMware or Hyper-V.

    I wound up with Hyper-V because it's covered by my MSDN subscription, but setup on my laptop has been a bear. The hardware's fine (quadcore w/ 4GB), but driver's have been hard to find and I'm not entirely pleased with the Hyper-V experience. It'll never be my primary OS, so I have to keep switching (which means more disk space to have software installed on both OSes).

    It seems like Microsoft has really forgotten the development community on this one -- odd, since we get so much great stuff from them normally. But developers who need (or want) virtualization are getting left out in the cold.

  • I'm not a Sharepoint developer, nor did I ever play one on TV. About three years ago now I settled on VMware for largely the same reasons: VPC to me seemed to be a dead end. The cost of VMware Workstation is pretty low (IMHO), it's cross platform, lots of virtual appliances for it, has a free player, and is supported.

    If I had to do it over, I think it would be a tight race between VMware and Virtual Box (as mentioned by others).

Comments have been disabled for this content.