There are new and exciting changes around SharePoint 2010. This post deals with the changes specifically around virtualizing your SharePoint development environment.
Important points about SharePoint 2010 to consider:
- 2010 runs on a 64-bit only
- 2010 has heavier memory requirements than MOSS 2007
- 2010 can run on Windows Server 2008 or Windows Server 2008 R2
- 2010 can run on Windows Vista x64 or Windows 7 x64
- Memory: Give your 2010 environment lots of memory!
I like to run SharePoint (and beta software) in a virtualized sandbox on my laptop. There are several options, but Virtual PC (my old free favorite) is out of the running because it does not support 64-bit guest OS. So what are my other choices?
- Windows Server 2008 or R2 with Hyper-V
- Sun’s VirtualBox
- Native boot to VHD
- VMWare Workstation (a good choice, but not a free one!)
Hyper-V is a great option. It lets me hand lots of memory over to my guest OS. I reserve at least 1GB of RAM for the host, and give SharePoint my other 7 GB (my laptop is maxed out at 8GB).
Sun’s VirtualBox is free, and an interesting option. It’s the only virtualization tool I know of that let’s you run a 64-bit guest on a 32-bit host. On the downside, it doesn’t have good snapshot support, and it won’t let me hand over more that half my RAM to the guest.
Native boot to VHD is awesome! Windows 7 and Windows Server 2008 R2 support booting natively from a vhd. It works like a dual boot configuration to disk partition, without requiring a partition. For SharePoint 2010, this is a nice option if your memory resources are limited to 4GB and you want the OS running SharePoint to have all your memory. For more info on boot to VHD option, see my post.
VMWare Workstation is an excellent virtualization tool, if you don’t mind paying for it. VMWare ESX is an excellent platform for virtualizing production and test farms. For laptop-ware though, it’s hard to beat free!
With SharePoint Dev Options on Windows 7 – Why Virtualize?
Developing on Windows Vista and Windows 7 is an interesting option, and the tools support Microsoft is bringing to the game in 2010 are huge steps in the right direction. That said, development is still best-done on an OS that is a close copy of the production environment.
Server Operations Systems are more hardened against attacks, and they have more services for features that you will need. Much of SharePoint development is testing to ensure things will work in your target environment. This is best accomplished when you’re working on the same operating system.
I’m completely addicted to virtualization, particularly when dealing with server products like SharePoint.
- The flexibility just can’t be matched on physical hardware
- Developing for SharePoint involves a lot of machine or domain level configuration. This cannot be easily isolated or duplicated without virtualization tools like snapshots, differencing disks, and good old copy/paste.
- Moving VMs between machines is very useful, so I can develop on a desktop when I have one, or on a laptop when I have to.
What’s On My Box?
I’m glad you asked! I’m running a multi-boot configuration on my laptop. I’m in love with the new boot to vhd option. I have several boot-to-vhd disks setup on my hard drive to meet specific client needs, etc. For more info on boot to VHD option, see my post.
For my primary workstation configuration (and SharePoint development) I use a native boot vhd with Windows Server 2008 R2 with Hyper-V. SharePoint 2010 Beta and other systems I’m currently playing with are running as Hyper-V images.
My DELL D830 laptop is not new, in fact it’s officially limited to 4GB of RAM. I have it tricked out with 8GB of RAM using a BIOS glitch, so 2008 R2 recognizes 8GB. If you have a D830 and want to try it read more here.
I reserve 1 GB from my host, and give 7 GB to the my SharePoint 2010 guest OS. It runs very snappy with this configuration. For a farm test, I can run more VHD’s if needed, but 2010 really likes the memory.
My SharePoint 2010 test lab is running as a DC/DNS server, with SQL 2008, Office 2010 beta, SharePoint 2010 beta, and Visual Studio 2010 beta. I left Exchange 2010 out of the mix for now, but will likely setup a separate server for it later to test workflow integration with Outlook.