I have a couple of nice computers that I use for SharePoint development. In this post, I’m going to share the configuration of my setup. This isn’t to say that this is the only good way to set up hardware for SharePoint development. However, my machines are pretty good.
If these computers were very expensive, and I could only have them because Microsoft bought them, then I’d feel bad (well, at least a little bit :-), and wouldn’t tell you about them. However, they are not expensive – they’re reasonably priced.
The key characteristic of good SharePoint development hardware is that it must run Windows Server 2008 x64 and Hyper-V.
Disclaimer – these recommendations should not be taken as an endorsement by Microsoft. These recommendations are mine and mine alone. Further, I’m not sure whether Windows Server 2008 is officially supported on these machines. I’m perfectly happy to resolve issues on my own as necessary (although I’ve had none), but your company may have policies about installing operating systems on computers where the manufacture may not support it.
For my laptop, I have a Lenovo T61P, with 4GB RAM. I can’t speak highly enough of this laptop. It has been rock solid for me. It has a great keyboard, decent battery life, and is reasonably fast. It’s rugged. I run it for hours on end. It’s a super machine.
And best of all, it runs Windows Server 2008 x64 out of the box. The only device driver that I installed is the Synaptics touch pad driver. I only install this driver because I have to turn off tap-to-click. I can’t help from inadvertently touching the touch pad while typing, which randomly changes my insertion point. I didn’t even install a different display driver – just use the one that comes with WS2008.
It also supports hardware virtualization, which means that it supports Hyper-V. This is important.
For those of you still running with older virtualization technology, Hyper-V is a big leap forward. It runs beneath the operating system, and gives super performance. You can even allocate multiple virtual CPUs to a virtual machine. How cool is that?
As configured by the manufacturer, hardware virtualization is turned off in the BIOS, so you need to enable it.
Hyper-V (and Virtual Server, and Virtual PC) give the best performance when the VHD is on a separate physical hard drive from the operating system hard drive, so I installed another hard drive in the drive bay. This works well. On occasion, I can swap out the second hard drive for the DVD burner, but primarily, I leave the machine running with two hard drives.
The 4GB RAM allows me to allocate 2GB to my SharePoint development virtual machine, while leaving 2GB for the operating system. This works well. I may upgrade to 8GB in the future if I need to run multiple VMs simultaneously, but for doing simple SharePoint development, 4GB is enough.
The cost of this laptop nearly a year ago was approximately $2200. It’s quite a bit less now. The cost of the extra hard drive was a couple hundred dollars.
One note – when you add the Hyper-V role to Windows Server 2008, it disables sleeping or hibernating. You must fully shut down / reboot every time you turn the machine off and on. In addition, it configures the CPU to run at maximum speed, and you can’t change it, which reduces battery life. Because Hyper-V is so cool, I’ve learned to live with these limitations.
Many years ago, I bought a 386 laptop. I can’t even remember how fast it was or how many megabytes of memory it had. But it would run Windows 3.1, and could run multiple DOS sessions. That machine cost $5000, and was well worth it. Spending $2500 for a good SharePoint development environment is a good value.
For me, it’s important to have a good desktop, because I’m always building out new virtual machines for some reason or another. I have a Dell Optiplex 755. It has a quad-core processor, 8GB RAM, and two hard drives configured as RAID 0, which improves performance. I selected the mini-tower.
Having a good machine to build out virtual machines saves a lot of time. It means that I can keep working on my laptop while setting up the VM on the desktop.
The Dell Optiplex 755 runs Windows Server 2008 x64 with hardware virtualization. It’s sweet to allocate 4GB RAM and all four processors to a VM. When I configure a VM like this, seriously, I can’t tell that I’m running in a VM.
This machine wasn’t expensive – about $1700. I’m sure it’s less now.
I added a Wiebetech PCI-X host adapter for eSata drives. The specific model is the Wiebetech Teracard TC-PCI-4S. I had a bit of difficulty finding the right driver. I installed version 126.96.36.199 of the “SiI 3124 64-bit Windows BASE Driver (VISTA)” driver. You can find that driver here. This is the only driver that I added after installing WS2008. I have a couple of eSata drives – nothing spectacular – just 7200 RPM spindles with decent capacity. I run VMs with the VHD placed on the eSata drive. This works well. The card plus cables was less than $100.
Because eSata is a relatively new capability, I find it somewhat finicky. I don’t know much about configuring eSata. Once I had the machine configured, and an eSata drive hooked up, I haven’t changed it.
One thing that I like about the Dell Optiplex 755 – it’s quiet. I record screen-casts on occasion, and I’m a little fussy about external noise in recordings.
Take these recommendations as one data point in your hardware purchase decisions. Do whatever research you deem necessary.