That depends heavily on your company's skills and where you live. Colo is Much cheaper than good (read: useful) managed hosting, but you have to either have the money for a staff of 3+ local sysadmins so that someone can always be on call, or have the skills to admin the boxes and swap hardware yourself and a backup person if you ever want to go on vacation.
I'm assuming that you're in a position where you can't tolerate a few hours of downtime in the middle of the night if something breaks.
I feel like for most companies with a tech staff smaller than about 8-10, you're probably going to have all programmers/DBAs who may have some server skills, but not the competencies to go chase down complex hardware issues at 2am. Past a certain size real sysadmins will have plenty of work do the 99.99% of the time when you're not down, so it's natural to switch over to a colo situation.
There are also tax and accounting pro/cons to buying the hardware.
If you have more than one or two servers, you don't necessarily need to have someone turn up at the colo at 2am. Like with The Cloud, the physical servers just become a resource to be managed. If the discount for colo is enough, for the price of N cloud servers you can have, say, N+2 in a colo (maybe even N x 2). Then you don't have to worry about fixing anything that breaks right away, since you've got some spares that you can fix at your leisure.
That's definitely true, although I'd still be worried about system problems further up the chain. (Load balancers, firewalls, etc). Hopefully even with managed hosting you're still not at the mercy of any one hardware/software failure.
Part of it just boils down to risk tolerance I think, and how comfy you are with sysadmin skills.
I'm responsible a medium sized (< 10 servers) web site that use managed hosting for. Their advice/service is invaluable to me, partially because I trust them enough that I can just hire web programmers without worrying about their advanced linux/networking skills being super high. The host has also helped us debug some fairly deep problems that we don't have a chance at in-house like hypervisor config issues, and even a processor 'errata', AKA processor hardware bug.
It's also nice to have an ops team to ping questions off of, since we're not nearly large enough to hire a dedicated sysadmin otherwise (and they'd be without sysadmin work 50% of the time anyway).
NB: I'm treating 'sysadmin' like it's just one skill set to administer routers and server hardware, configure firewalls and networking, optimize database boxes, etc. This is probably not totally true, but fits for purposes of discussion. YMMV.
I'd love to see a similar study to the Google study[1] done on power supplies. Intuitively, one would think there might be some events/environmental causes for PSU failure (like poor cooling, power spikes) -- so that the likelihood that two servers drop dead at the same time are higher than it would be if the outages were random. Now, "same time" could of course be a few hours, or even days -- giving you time to get a replacement up, before all your database servers are down.
Needing multiple servers, or the ability to easily grow is a good excuse to rent out 1/2 or 1/4 cabinet. One managed server at a place like Rackspace can cost $800/month. If you lease 1/2 cabinet you can put whatever you want in it, but you also have to fix it, or pay someone to.
If you've had a box there for a few years, there's no guarantee that there's empty space near it for more servers or a load balancer.
For a lot of small companies that have 2-3 servers, 'fanatical support' simply isn't worth it. We still end up having to call them to reboot a box or tell them what to do. Or call them and ask why it's down, when they should be calling and telling us.
It pretty quickly starts making sense. I've had clients paying 50k per month to AWS when they have no earthly business paying more than 5k for someone versed in all this.
I don't believe most software folks realize just how much can be saved with colo strategies, building custom servers, buying directly from distributors, component sharing strategies, etc.
It's a great competitive advantage, 10x less burn rate or 10x the hardware of others. Or fall somewhere in between.
I am already blown away at this level already. I see companies pooring money into Heroku/AWS/etc and can't fathom spending a mortgage level type cost for some RAM (e.g. 92+ GB). Don't get me wrong, there IS a use case for these but once you are on solid footing, have large revenues, etc... it is so darn simple to save yourself a few hundred thousand a year. Even with employees.
I feel like there's a logical progression from PaaS/VPS => Managed dedicated hosting => colo facility.
But I would love to know when the costs for these jumps make sense.