Will Virtualization die in SharePoint 2010 development?
Posted
Friday, October 30, 2009 12:45 PM
by
CoreyRoth
This is already starting to be an interesting topic, so I wanted to post about it. We’ll start with the facts.
- SharePoint 2010 only runs on 64 bit operating systems
- In the past, SharePoint developers have pretty much always had to develop in a virtual environment
- Windows Virtual PC does not support 64 bit guests but other non-Microsoft virtualization technologies do
- SharePoint 2010 can run on Windows 7 / Vista x64
- Most developers do not want to run a server OS on their development machine
- Some developers may still be running 32 bit operating systems (ack!)
So what does this mean? For some reason, Microsoft has not given us desktop virtualization software that can run 64 bit guests (even though Hyper-V can). So I think this left Microsoft a choice. Get 64 bit guests added to Windows Virtual PC, recommend developers use a non-Microsoft virtualization technology, or get SharePoint working on Windows 7 and Vista. Now, adding 64 bit support I am sure is quite an undertaking and they definitely don’t want to recommend a competitor’s product. This means that making SharePoint work directly on the developer’s machine the obvious choice. After all it runs on top of IIS and IIS is pretty similar between Windows Server 2008, Windows 7, and Windows Vista (yes, I do know there are differences).
Now, I think it will be interesting to see what path developers choose here. Many developers I am sure probably already were using another virtualization software such as VMWare. For them, they are pretty much unaffected and will probably continue to developer in their VM. By now, I think most SharePoint developers have it engrained in them that they must develop on a VM, but maybe they will change their mind. People are so accustomed to thinking that development must be done in a VM, I hear them asking not when the beta 2 install will be available, but when will the VM be available? My answer is always well even if you have a VM, you aren’t going to be able to run it unless you are running Hyper-V or it was made with VMware.
Personally, I think I like the idea of running SharePoint on my laptop. I lose some flexibility that the VM gives me but I also gain some convenience of not having to maintain multiple versions of Visual Studio and what not. Will it affect performance of my laptop? Absolutely, but that just gives me a chance to ask for better hardware. :) Of course, if you are in a company where you have little control of your hardware, getting upgraded to Windows 7 x64 could be an issue.
UPDATE: @spmcdonough reminded me in a comment about booting a VHD natively with Windows 7. This option was actually brought up in the Patterns & Practices talk at SPC. They of course did not mention any competing virtualization solutions. :) It certainly is a way to get some good VHD performance by running the operating system natively. This may be a good option for some people but probably not for me. I don’t want to have to leave everything behind in my Client OS while I am doing my development. Sure you could install all the various things that you use from your client environment onto that VHD but then aren’t you just replacing your client OS with a server OS? It is an interesting option though. It may not work for me, but it might for some. Although I have to say I might consider it if I had a second machine available.
UPDATE (01/04/2010): So Beta 2 has been out for a while and I have actually tried a number of options. I started out trying VMWare Server running on my Windows 7 laptop. I was still looking for a free option. This worked ok, but not great. Since VMWare Server is designed for servers, it has no issues about taking every available resource on your machine for your VMs whether it needs it or not. This made going back to the host machine just to check Outlook or visit a web site somewhat painful. Adding more memory helped, but it still wasn’t ideal. So I decided to try Sun VirtualBox. The first thing I liked about it was the fact that I was able to take my VMWare hard disk file and boot it directly with VirtualBox without going through any type of conversion process. It just worked. I tried it with several VMs and it really does work great. The performance of the VM also feels a bit better and my host machine still has plenty of resources left to do whatever I need it to. If you are looking for a free option and don’t feel like dual booting, I definitely recommend giving VirtualBox a try.
So what do you think you are going to do? Are you going to install it locally on your Windows 7 machine? Go with VMware? Install Windows Server 2008 on your laptop maybe? Quit SharePoint development? :) There are pros and cons to each approach. I’d love to hear your plan. Leave a comment and tell us your plan.