A while back, I wrote about the announcement of Mac OS X 10.7 (Lion), and how people were freaking out about it being dumbed down with regards to the Server OS (or the possibility that there would be no Server version). Today (and yesterday), a rumor has been going around that Apple is thinking about killing the Mac Pro, and how everyone is freaked out that there’s no alternative for “pro”. Which then brought out the FUDtards again to talk about how sad they are that the Xserve was killed, and how the Mini Server isn’t a real server, etc. Which brings us to part 2 of my “Server is a concept, not hardware or software”. Or more specifically, “Redundancy shouldn’t be only at the system level”.
I won’t rehash what I’ve already said, but I will touch a bit on the hardware argument since it came up. Someone brought up that the Mini Server should have (for redundancy/resiliency):
- Dual power
- Dual Thunderbolt
- ECC RAM
I won’t argue too much with the ECC RAM, since it would be a relatively easy thing to do (though ECC RAM can’t correct for BIG errors, so it’s not really the amazing thing people say it is, plus it tends to be slower), but the other two, I will argue a bit with, and they both are basically the same argument.
Redundancy at the individual system level is, how should I say it, old school. Yes, it’s kind of cool to have dual power. But really, is it that necessary? If one power feed goes out, it’s likely they could both go out (you’ve lost half your redundancy… what keeps the other from tripping due to the newly added load, or the same thing that killed the first?). Or maybe just your power supply died… wouldn’t you want to pull that machine and replace it (since again, you’ve lost your redundancy to some unknown failure). I don’t do it often, but let’s point to Google here. What part of that machine is redundant other than HDs? Two CPUs, but I guarantee that system can’t survive one dying. Lots of RAM, but it’s not going to be able to shutdown a bad stick (it’ll panic). No dual power. The only thing it will survive is an HD failure. And guess what? If the OS gets hosed, no amount of hardware redundancy in the world is going to help. If the server room catches fire, or floods, no amount of extra power, or ECC RAM will save you. Which is why we come to the modern idea of “redundancy”. More, dispersed.
Back when server hardware cost tens of thousands of dollars (and some still does), it made sense to put in dual power, and all the bells and whistles to make sure that single piece of hardware kept chugging along through anything it could physically survive. Heck, really big monsters were often hardwired to your power grid. Why would you need to move them?! Now a days, and Google really showed this: don’t just make a piece of hardware redundant. Make a whole environment redundant. If your server room burns down, that sucks, but you’ve got a backup. If an OS gets hosed, who cares if the machine doesn’t have two power inputs! You have another machine there to take it’s place. If you’re really good, you have a load balancer that does all this extremely quickly, and you hardly miss a beat. But this method is MUCH more resilient and flexible than making one server beefier. Plus, it’s largely cheaper too. I can get better performance/reliability out of two Mini Server’s (for about $2000 total), than I could out of a base Xserve (that started at about $2500 without dual power supplies, only 3 GB of RAM, a single HD, etc) which had NO redundancy. Plus, if the load starts to be too much, I suddenly have two servers to split the load, and can buy another 2 to become their “backup”.
Even things like Virtualization systems handle loads of machines pretty seamlessly. System goes down? Move it’s VM to another one and it’s back up. The introduction of Thunderbolt on the Mini Server really does make it capable of just about anything. Need Fibre Channel? Here. Need another GigE port? They’re coming. Need an ExpressCard Slot for some reason: Here. I’m not saying it’s for everyone, but the possibility to two systems for every one I have now, with disparate power, network, storage, etc, makes things very appealing. And all for less than I used to pay for an Xserve… AND a smaller power (and therefore, cooling) footprint.