>> Kudos, you also worry about hardware all of the time
Patently untrue.
I haven't thought about hardware once in three years because I have an admin whom I've personally trained that worries for me. He knows how to scale hardware and software because I've showed him how to do it properly, and he has earned my trust.
I get to spend every minute of every work hour coding solutions. If you're a business owner and YOU still worry about hardware, then you need to fire your admins and hire rockstar-level admins. My admin spends no more than 2 hours a day on colo management because he does it the right way.
>> Congrats. Inevitably, a UPS will overload, a switch will die & you'll eat some downtime too. It happens -- build redundancy into your application / service to ensure that thy facility is irrelevant when the time comes.
I use external DNS to handle dynamic re-routing to an alternate colo should connectivity or power to this one fail. Even with this setup, it would cost more than 2 times as much to do what I do on the cloud, even if I used EC2 committed instances.
What's important is NOT to have NO downtime. What's important is to be PERCEIVED to have no downtime.
Customers should never see downtime from you. It should be transparent to them, giving you a 100% uptime public personna.