No vendor, service provider, or thing supplying your organization is impervious to problems. This is why many large companies have corporate policies requiring the use of multiple suppliers. Just in case.
When it comes to cloud providers with multiple regions and availability zones in each region it can be easy to think that leveraging those with distributed applications is enough. But, as recent events have highlighted this is often not enough. To illustrate this let’s look at two examples.
Digital Ocean Locks Service
To improve performance in their service, Raisup has a script that ran every 2-3 months. It was a sudden increase in resource usage. Digital Ocean (DO) has automation in place to try and catch malicious actions (e.g., someone hacking an account and using it to mine crypto currency with someone else paying). DO locked the Raisup account. It took their service down.
I’ve seen numerous reasons for cloud provider accounts to be locked. Sometimes it’s accidental, sometimes it’s a hack, and it can hurt an organization every time.
In a good multicloud setup the system can detect when the service in one cloud goes offline and direct traffic to the service in the other provider. The customers still have the service.
Google Cloud Outage
Google is known for their reliability. They tend to do an amazing job with keeping their services online. But, on June 6, 2019 there was a major network outage. This took down Google services and those running in Google Cloud in a variety of regions. Yikes.
This didn’t just impact watching cat videos on YouTube. There were examples of IoT locks on homes not working because they relied on a web service. That may be inconvenient for adults but can be a real problem when kids or the elderly are involved.
This is just an example. Amazon Web Services and Microsoft Azure have had outages, too.
No service provider, no matter how large they are, is impervious to outages.
Multicloud Is More Fault Tolerant
There is some added complexity with setting up a multicloud environment and there may be some additional costs. But, a good multicloud setup can avoid these outages. Multi-AZ applications are resilient to AZ failures. Multi-region apps are resilient to region failures. Multicloud applications are resilient to whole cloud provider problems.
They don’t have to be that hard, either. For example, you can install Kubernetes in each location and run your application there. The install into Kubernetes is portable from one Kubernetes instance to another.