Over the last year I've been working with SharePoint 2010 in various ways. With the new requirements of x64 hardware in this release, I got a lot of questions at the SharePoint Conference, on Twitter and via my blog on what hardware I use to do my SharePoint 2010 development and demos. Here it goes... hopefully this helps someone else out there.
First, let's get on the same page: SharePoint 2010 requires a 64-bit operating system in Windows Server 2008. For the majority of us you'll want to virtualize it. These virtual machines, at least today in beta 2, really want at least 4GB of RAM allocated to them (that's what I run most of mine at).
Unfortunately Microsoft doesn't have a desktop virtualization story that supports 64-bit operating systems. The only Microsoft solution is to run Hyper-V which means you have to be running Windows Server 2008 x64 as the host OS. The other option is VMWare Workstation which can do 64-bit guest OS'. There are other virtualization options, but these are the two most common ones.
The back story...
For the first few months of this year I was still on my MacBook Pro that I loved. However when you're stuck with virtualization, you don't want to run your VM off the same HDD spindle as your host OS... the I/O fighting between the host OS and the VM kills performance. That means you always have a 2nd HDD spindle. With my MacBook Pro, that meant an external drive (which I hated doing). The other thing was that at the time the MacBook Pro only supported 4GB of RAM. Ugh... annoying!
Get to the point: The portable hardware...
So in May I switched back to a PC. I got a Lenovo ThinkPad w500. I looked at the HP EliteBook 8720* line as well as the Dell Precision M6400. For me, the Dell was MASSIVE... there is a really good reason why you don't see the power supply in the pictures... because it's MASSIVE... the box is big too. Sure the Dell has a quad core CPU, but the form factor is just too big. The HP is nice... that's the demo machine a lot of Microsoft folks use, but I'm just not a fan of HP laptops. Plus, both of those have that extra numeric keypad. Notice the title of this section: the portable hardware... those those two laptops are huge.
For me the Lenovo w500 is perfect... it's a super powerful and very well built solid machine. If I didn't have it and had to get another one, I'd get the exact same machine again.
The only special configuration I ordered it with was the Intel T9600 Core2 CPU (2.8Ghz), 2GB RAM, a 128GB SSD as my primary drive and a extra drive caddy that could be swapped out with my modular DVD drive. To save a bit, I got the least amount of memory from Lenovo and then proceeded to upgrade it to 8GB of RAM (two 4GB modules) from Crucial.com. I also ordered a 7200RPM HDD that I put in the caddy... so this is the hardware I ran with at the SharePoint Conference (leaving out anything not important):
- Lenovo ThinkPad w500
- Intel Core2 T9600 (2.8Ghz)
- 8GB RAM
- 128GB SSD
- 360GB 7200RPM HDD spindle
For my OS configuration, I have two native installed OS' on the two drives and have my laptop configured for dual boot:
- Drive 1 (128 GB SSD) - one partition with Windows 7
- Drive 2 (360 GB 7200RPM) - two partitions... one with Windows Server 2008 R2 + Hyper-V and one with all the VMs on it
This setup ran great... even having the Hyper-V OS on the same spindle where the VM's VHD files were located.
While at the SharePoint Conference I saw a few sessions where folks were using two SSD's... one for their VMs. There was this one HP laptop with two SSD's that the ECM track presenters shared that just screamed... it was blazing fast and you'd never guess it was a laptop... you'd think it was some massive blade server in the back. That changed my mind.
When I got home last week from the show I swapped out the 360GB 7200RPM drive for a Crucial 256GB SSD. This guy has 250MB/s read times and 200MB/s write times! So far I've been VERY pleased... it is incredibly fast! My new portable configuration is:
- Lenovo ThinkPad w500
- Intel Core2 T9600 (2.8Ghz)
- 8GB RAM
- 128GB SSD (Windows 7)
- 256GB SSD (Windows 2008 R2 + Hyper-V w/ all VMs)
I do all my SharePoint work on my laptop from Hyper-V when I'm not in my home office like when I'm teaching, presenting or just away from the home office.
The non-portable hardware...
What about the day-to-day SharePoint development business when I'm in my home-office? For that I never use my laptop to run SharePoint. If you are a long time reader, you'll know I built a virtualization rig just for this purpose. I still do 100% of my SharePoint work on my virtualization rig when I'm at my home office. The virtualization rig is super powerful, has loads of memory and is absolutely silent with passive cooling.
The only time I boot to my Windows 2008 R2 partition and fire up Hyper-V when I'm home is when I'm copying VM's over or prepping for a class/presentation I'm about to hit the road for.
So that's how I do my SharePoint 2010 development. Others will have their own opinion (I know many who are very happy with their HP's an Dell's)... no one is right/wrong. For me, this configuration works great for me and is the perfect balance between top performance and portability. Now I just need to find a better backpack as my huge Swiss Army bag feels like it weighs 5lbs when empty!
I do get two questions about this setup: why not 16GB of memory and why the SSD's?
To the question about 16GB, frankly I think that's overkill. First, it's not easy finding a PORTABLE laptop that can support 16GB and second, 16GB is WAY too expensive in my eyes as I can always run a SP2010 VM at 4GB... when presenting/teaching I bump it up to 6GB. If you need multiple VMs running for some reason (personally, something I find I never need to do), I still think 8GB is fine.
To the question about SSD's: I fully recognize that two SSD's in a laptop isn't the most cost effective option for many. I didn't need to go this route (no do you)... two 7200RPM spindles would work (and did work) just fine (just make sure they are 7200RPM spindles and not 5400RPM).
Why the SSD's? I look at it this way: for most small businesses, you don't have a ton of capital expenses. From my perspective, if I'm going to be on a laptop 8hrs, when developing for SharePoint, demo'ing and teaching SharePoint is my life, I want a good experience and not have to wait around. If you're an avid cook, do you use crappy knives or so-so pots? No... you've got something much better than what's in my kitchen like Henckel knives or All Clad cookware.