This is rapidly changing. When I took over technical ops at my employer, we were 100% public cloud. I quickly moved us to private managed cloud and quadruped our capacity for 20% less spend. Now I'm in the process of preparing us to move to colocation, where I'm certain that I can save another 40-50% over three years. What's made this possible is technologies like CoreOS, Kubernetes, and Ceph. We are working on automating the bare metal network management pieces but I am confident that we will soon have an environment that can function in colo without onsite staff. If we automate throughly and pre-cable racks, adding capacity is as simple as using a colo provider's remote hands service to rack and stack new hardware every quarter or so.
Serious question, what are you doing better compared to AWS? Efficiency wise, what can't you offer your own cloud services and cash in on 40-50% markup?
Running a single tenant cloud system is not the same as a multi tenant cloud system.
What happens if that Colo goes down?
This problem is no different in colo as it is in public cloud. If your business requires site redundancy, you build this capability into your app and stack and run a second warm footprint somewhere else.
You wait for it to come back, just like when us-east-1 is having problems every few weeks.
What kind of discount are you talking? I have heard about the negotiation of a quite large deal in the high single to low double digit millions committed annually - and the discounts were basically like a sales tax holiday. Maybe the negotiator just wasn't doing a very good job, but it wasn't the kind of discount I would have expected to see for such a large commitment either.