I don't know much about this topic, but wouldn't it be prudent to be signed up for another service as a hedge and have a way to switch/share as a failsafe against outages?
Or should there be a company that provides this service?
This depends a lot on your budget. If you are running things on a shoestring you should definitely go 100% cloud - you will not have the expertise or capital to get close to the availability and scaling cloud services offer. If your budget is somewhat larger then you can use the cloud for your primary servers and have a small colo footprint to try to cover for those times that the cloud is unavailable or for staging/testing prior to updating your cloud services (take a look at the eucalyptus project, an open-source EC2/AWS clone.) If you have a large-enough budget to provide the high-scale, high-avail services then you might still want to consider the cloud for handling surges and as a failover system to keep your capital budget lean.
Or should there be a company that provides this service?