Early last year Scott Hanselman & Jeff Atwood set out to build the "Ultimate Developer PC" for Scott. It was an entertaining series of posts on both blogs (check out this post for links to all the other posts). As someone who works exclusively out of a home office (except when onsite or teaching obviously) I've been eyeing doing something similar over the last two years. But as a SharePoint developer who doesn't do so much gaming, I was more interested in a virtualization rig rather than a dev rig... things like graphics are of zero importance to me. I'm still a Vista guy, so as long as Aero works, I'm happy.
A few months ago I decided it was time: get a rig I can have in my home office that will primarily be a file server & virtual machine host. I'd like to share my experience with others as I think this applies to people like me, but also small businesses who deal in SharePoint consulting or where virtualization is key.First let me explain the "why", the reasoning behind this and what my end goals were.
A few years back I built a machine that I use as my main server at home for personal and work stuff that's been good to me. It's a dual core AMD x64 with 4GB RAM and two mirrored 250GB SATA 7200RPM drives. It runs AD & SQL for my home domain and hosts two or three VMs that used to be running off Microsoft's Virtual Server but are now running off VMWare Server 1.0. Problem is I can't go beyond that. After working on a few big projects with some clients recently, I've found I can't simulate near-real world environments which is quite frustrating. It was around that time that I reached the tipping point and said I needed to do something about it. Going into this, I had a few requirements:
- Fast... real damn fast: I want something that's not only fast, but has the horsepower and capacity that I won't have to upgrade for 2+ years (ideally three). I want it to host multiple VMs... I'm talking 5-10+ actively running at any given time.
- Quiet... very quiet: this thing is going in my home office so I don't want a jet engine in here. I do recordings in my office as well as teach via Live Meeting... I can't have it sound like I'm working from a server room. I want something that just hums away.
- Reliable: this parlays into being fast, but I also want something that I don't have to worry about a drive failing or something.
So I decided on a few specs for the box (more details on these in a future post):
- CPU: I am going with a quad core Intel Xeon. I contemplated single or dual processors... but settled on dual quad cores... that's 8 cores baby! Great for a virtualization rig.
- RAM: Loads of it... it's going to be a virtualization rig, so 4GB won't cut it... neither will 8GB. We're talking minimum 16GB. Remember, I don't want to have to upgrade this for a while. RAM is my biggest bottleneck on my current rig.
- Storage: I need lots of space. I need to store ISOs, virtual disks that have snapshots or saved states as well as a lot of other data. I also want it to be fault tolerant and fast. So I settled on RAID 10... mirrored stripe sets. How big? At least a total of 1TB fault tolerant storage minimum.
- Virualization: I'm not much of a fan of HyperV for a few reasons which I'll get into later, so I was leaning towards VMWare ESX 3.5i or the new free VMWare Virtual Server 2.0.
So what was the budget? Well, as a independent developer consultant, your non-billable operating costs are quite low. You've got hardware (figure a $2,000-3,000 laptop every 12-18 months), software (unless you can swing it for free) and some services (cell phone, Internet service, etc). Because this rig was going to last me for at least 2+ years, ideally 3 years, I gave myself a budget around $5,000.
While I like building my own rigs... it's fun albeit very frustrating. But for this one I elected to make my life a bit easier and just ordered a Dell. I first selected a beefy Dell PowerEdge 2900 III: dual quad core Xeon 2.5Ghz, 32GB RAM & 1TB RAID10 array (total storage was 2TB, but because it's mirrored, it gets cut in half). Nice machine, but I made one major blunder: I didn't consider the noise factor.
This box set me back almost $5,300 with shipping & taxes. That's fine, a bit over budget but that's not a big deal. It showed up and I was quite impressed with the build out. It was a big and heavy box. I had read some comments in the Dell forums about noise but figured building a cabinet lined with eggcrate & PAX foam would help... but boy did I grossly discount this fact. I flipped that guy on and it was INCREDIBLY loud. I thought "maybe I can stick this in the closet and close the door." So I shut the door to the office and went in the kitchen... it was still loud! Uh oh... I called Dell about some quieter fans but no dice... it is what it is. This isn't anything against the box... it is meant for a rack mount in a server room, but I was just taken back by how loud it really was. Later that afternoon my wife took my full size SUV out to the store. As she pulled out, I stood in the garage and thought "damn, that server sounded almost like my V8 idling!" Needless to say, in the span of 1.5 hours, I had the Dell unboxed, setup in my office, reboxed and taped back up with a nice RMA number sending it back for a refund (minus shipping). That little experiment set me back about $150 in shipping costs, but it was a lesson learned.
After much soul searching and thought, I elected to build my own machine from scratch. In the next post (#2) I'll walk you through the process, the parts list, share some photos and share some performance numbers. In the last post (#3) I'll talk about the virtualization software I evaluated and where I stand today.