That is indeed the only way to keep services up.
I know in my workplace, we've taken to having most stuff in-house because of the sheer number of issues with external suppliers, and then rent things like OVH dedicated servers to mirror to should the worst happen.
There is no one company I would trust - not even Google or Microsoft - to keep a business operational nowadays. You have to be able to be independent and able to continue when, say, AWS or Google Docs goes down, even if it's not ideal, because even the big guys can't guarantee anything.
The weakest point is actually things like DNS. You only need one bad DNS host and you can be in for a world of hurt even with all the failovers and contingency plans in the world.
But, it has to be said, like "backups", redundant services need to be redundant. If you are hosting with OVH and it means anything at all to your business (e.g. 1000 audio streams for a radio station!), then you need a way to spread those across SOME OTHER ENTIRELY UNRELATED COMPANY. Whether that's your own in-house site, another host, etc. Even "same company, data centre B" is a silly thing to do, because when their A is down, their B site is going to take an enormous hit too even if that's just people failing-over.
You have to have multiple, redundant product offerings from different people hosted in different places access by different line, or you're really just wasting your time or "playing" at doing the IT properly.
If I ran a business reliant on an online presence, you can be sure that DNS round-robin, distributed filesystems and databases, and redundant machines would be the first thing I'd set up. Hell, surely you have to do this for basic backup systems, no? No point having your backups all in the same building. So why wouldn't you do it for your live systems too if you're expecting at least one live system to stay up.