Cheap servers, or expensive servers

I am in the process of building a server setup with a DB server and some web servers for the web tier. We have a DB server. One option is to get a good web server, Xeon processor, 24GB of memory, RAID1. It costs around $2500. We'd need probably another one for backup, but can be cheaper. Another option is to buy 4 cheaper desktops that have very fast procesors, 4-8 G of RAM, no RAID, but find some little device that can route traffic to them, so if one fails the other 3 are still up and running.

Suppose rack space is NOT an issue, any thoughts about which setup is better? May be easier to maintain just the 1 web server, and also I don't know if such "little device" for routing traffic exists (I know I can build this myself using Click or something like that, but that's more complexity).

Thanks.


Solution 1:

Okay, there's a reason that server grade equipment exists, and hasn't yet been universally replaced by cheap commodity desktops.

And, no, it isn't just FUD or short-sightedness on the parts of IT professionals the world over.

Can you use the desktops? Sure, but you will never get better than desktop performance out of them. And this isn't just referring to CPU speeds & amounts of RAM. Good server hardware is built like the proverbial "brick you know what", and is designed to keep working under conditions that the average desktop machine won't sustain.

That being said, there are times when a desktop is okay, and the best case for that is when you absolutely cannot obtain server hardware. But if you're spending money already, you'll get better long-term performance from hardware designed for the task.

FWIW, if you need to economize, you should still get server grade hardware. Entry-level servers can be purchased at very reasonable prices, and would still be a step up from low cost desktop machines.

Solution 2:

First things first: Stop calling it a CPU server. There's no such thing as a CPU server. All servers have CPU's regardless of the role they fill. You're building a web server, I get it.

My question is this: Are you bulding these web servers for a real money making company? If so, then you ought to spend real money to buy real equipment manufactured to do the job you intend it to do. We could debate the merits of running server roles on desktops until we're blue in the face but the bottom line is the fact that you're bulding a web server so put it on a real server. $2,500 for a server is a bargain as far as I'm concerned.

I'm always taken aback when companies want to play "grown up" in the real world, offer their products and services in the market place and hope to be successful, but then they want to use toys to do the job as cheaply as possible. I understand budget constraints, especially in the current economy, but to compete in the real world you need to spend real money and purchase the appropriate equipment for the job at hand. I'm not saying you have to spend more than is reasonable, as prices vary from vendor to vendor, but buy a real server to do a server's job. Free and cheap will only get you so far and if it doesn't cost much it's not worth much. You can't build a Cadillac on a Cobalt budget.

No offense intended here, I'm just stating my opinion on the matter.

Solution 3:

there's a variety of load balancing options. (round-robin DNS, mod_proxy_balance, commercial load balancers.) I'm sure one of them suits your needs, however load balancing adds another layer of complexity to your set up. you need to make sure you can manage that too and realize that you may be shifting your single point-of-failure to a load balancer instead of an individual web server.

you can manage multiple servers using something like Puppet or cfengine, if administrative cost is an issue. again, another layer of complexity, but one that will be well-worth in the long-run should you ever plan to scale up ANY of your resources.

personally, I'd go with multiple, cheap servers. I like having redundancy and I dont think the simplicity of having 1 server outweighs that.

Solution 4:

Buy just the one server instead of four desktops. The management overhead (time, resources, etc.) are well worth the extra up front cost of buying a good server instead of four different cheap machines. It may look cheaper up front, but once you add in management costs over the long run the server may end up being a way better deal.