I saw a lot of hand-wringing about depending on cloud services after the S3 outage yesterday. I experienced this myself because I was trying to do a tutorial that required the creation of some S3 buckets and couldn’t do it for the better part of the day. I thought about how much development would be hampered without access to AWS if my development platform was entirely based on AWS.
The real issue is points of failure and the tradeoffs relative to other features of a system. In this case, if you want global scale for your service you are either dependent on a cloud provider or you must build out that capability yourself. And if you build it yourself can you honestly say to yourself that you can build a more reliable service than a dedicated cloud provider?