Ask HN: Colo hosting cheaper than high-end VPS, so why VPS?

10 points by tworats ↗ HN
I've been tempted by VPS solutions, but no matter how I slice it colo hosting comes out cheaper:

- You can pick up a refurbished 1u server for $100-$150, for example from geeks.com . That'll get you an older processor, but often 4GB of RAM. Whatever you get will be significantly more powerful than low end VPS's, equivalent to a high-end VPS.

- We're hosting at a facility with excellent connectivity but little technical support. We pay ~$60 per month all in.

So for $200 upfront and $60/month we get the equivalent of a linode 4096, which would cost $160/month.

- We have a similar setup at another data center from another colo provider with semi-hot fail-over, providing both backup and BCP.

I can't figure out why people would go for high-end VPS instead of buying their own hardware and hosting. Is there a hidden benefit I'm missing?

15 comments

[ 2.9 ms ] story [ 43.6 ms ] thread
Rolling your own will always be cheaper when all you compare are the costs of hardware and hosting costs. It also tends to be a huge time-suck and a big pain in the ass. What is your time worth? I rolled my own for years too, and then I realized I was twiddling with servers rather than building better software. That made it a very easy reason to switch.
I thought along the same lines, but our experience has been that beyond the initial server setup time we spend almost no time twiddling with servers. Hardware failures are extremely rare, and in case we have a significant one we'd just replace the entire server. Since our software deployment is automated, it takes little effort to fire up a new server.
And where does that new server come from? How quickly can you get one set up at your datacenter? Automated software deployment is easy by comparison. Hardware failures are rare until they happen. At the end of the day, you get to decide if the value of business continuity is worth it of not. Maybe in your case it's not.

I'm not suggesting that VPS is the answer for everyone though. Certainly an app that has significant infrastructure almost always benefits from rolling their own hardware, and hiring systems administrators to manage that infrastructure.

Since you're talking about a single machine, from my perspective, a VPS is cheaper and more reliable over the long term.

Business continuity comes from having warm/hot backup servers in different colos, not from the speed at which we can replace servers. But your point is taken, it is certainly much easier to have a server replacement automatically happen than to have to buy the server, set it up, and drive to colo.
Why a VPS can be better:

- Assured hardware continuity when you depart from the project (death, buy-out, vacation).

- Easy temporary duplicate server for migrating database.

- Remote console at a more affordable price.

- Affordable geographical distribution. (Provision in London and Tokyo just because you feel like it.)

- Rapid scale up. And scale down if the project turns out to only need a $15/month VPS.

- Instantly replace bad hardware on vacation.

- Rapid hard drive failure recovery.

- Better hardware (SAN + premium RAID, redundant power supplies, ECC memory).

- Better physical security (deep background checks for every person allowed in the building).

That's a fair list. I'd argue that you can get scale-up by augmenting your colo servers with on-demand VPS servers and still save money on the common case (we did this not too long ago when we got an unusual traffic spike). If the traffic is consistent, just add another colo sever.

The "replace hardware on vacation" argument is the most compelling so far.

Better hardware and better physical security I don't necessarily buy; security is the same at a colo, and good hardware is pretty cheap these days.

All my company's servers are dedicated rental, we have a deal with a provider that effectively gives us colo costs without paying the upfront server costs.

But for my personal use, there a few reasons I like VPS options:

- Flexibility: rarely does a month go by where I don't shut down at least one server and add at least one server, plus various resizes

- Locations: my five current VPS servers are split over three data centres in two continents, without any of the hassle of making three seperate arrangements for colocation

- Price: High-end VPSs offer worse value for money than the cheaper options, and for server testing/developement it's handy to be able to pay ~$20/month for a low-end option

- Control Panels: It's surprisingly nice to be able to re-install the OS in a couple of minutes with a single click, to have a simple web GUI to control backups (and for that matter, the option to automatically backup the entire server regularly), it's not something I'd need for most servers, but for testing stuff out where I'm regularly re-installing it is very nice (I've got my server deployment down to a 600line bash script, so any time I want to try something new I re-install the OS, run my script, and in 5 minutes I've got my ideal server ready to go)

Control panel keeps coming up. I haven't used one, so maybe that's what I'm missing. You're right, single click OS install or backup would be compelling.
Being able to dump, restore, rebuild, reimage, or do pretty much anything to the server without fear of leaving it in some unrecoverable state is an advantage that cannot be ignored. It's great that you can simply trash and reinstall a server without having to be careful you won't inadvertently lock yourself out and need to request a technician for a reboot or a manual rebuild.

If you have a co-lo provider that gives you access to toggle power plus serial console access, you have it nearly as good, but you still can't re-image the machine without having it installed as such from the start.

The best hybrid approach would be to get a decent machine at a co-lo provider, then partition it yourself using Xen.

I agree it is cheaper (I have a full cabinet of hardware co-located myself), but at the expense of being on call 24x7x365. Although hardware is generally reliable, it can and does fail. Do you want to be the guy dealing with the burned out power supply at 3AM?
I definitely don't want to be the guy getting the 3AM call, but I don't see how going with a VPS saves me from that. Our approach is to have a semi-hot backup with semi-automated fail-over (hopefully fully automated in the future).

Using a VPS simply gives you the ability to get a new server up and running quickly. You'll still get the 3AM call unless you have automated fail-over.

Usually a good outsourced provider will have measures in place to monitor and pro-actively deal with hardware failures as well as maintain standbys and replacement parts onsite. My point is simply that by outsourcing you don't have to deal with those issues. You might still get the call, but your provider should already be working on a fix.
Can anyone point me to some good resources/guides for Colo information? I am trying to get a better grasp of the pros/cons, etc. Sites or individual articles would be greatly appreciated.
If you can avoid colo I would. It's such a pain in the ass to remotely troubleshoot the servers when that one thing does go wrong with the hardware. I blogged about it here:

http://teabuzzed.com/2009/08/the-number-one-reason-my-startu...

For the power I needed and what I could afford colo was the only way to go but it definitely came with a price...

If/when you're big enough colo probably makes more sense but in the beginning VPS is definitely the way to go.

(comment deleted)