As I sit here sipping on a freshly brewed cup of Aricha Edido pour over from our friends at Commonplace Coffee, a large portion of the internet is on fire. To be more specific, initially the us-east-1 AWS region (and now others) are currently experiencing major issues that are causing outages across a multitude of websites and services. At ContainerShip, we utilize some AWS services, but we prescribe to our own cloud agnostic formula, hence my ability to sip a delicious coffee, when at previous jobs I would be sweating and risking a heart attack.
Full disclosure: Our marketing website is hosted on Hubspot COS which is experiencing issues currently (but not for long).
Which ops teams are currently experiencing an anxiety attack?
This list is far from exhaustive, but shows exactly how many services that many people and other services rely on to function, also rely on AWS. Not all of these were completely down, but some were, and others simply experienced degraded service or certain functionality that was completely broken.
Atlassian's Bitbucket and HipChat
Hubspot - Ironic because I am writing this blog post on Hubspot!
Isitdownrightnow.com <--- LOL
MIT Technology Review
StatusPage (which Atlassian recently acquired)
U.S. Securities and Exchange Commission (SEC)
What is actually happening and what is broken?
Initially, the errors only appeared to be affecting S3, the cloud object storage service that many use to serve static assets, and even entire websites. Over the last hour, that list has grown to include a ton of AWS services, from EC2 all the way to CloudWatch and CloudFormation. Here is a screenshot showing the full list of services that are impacted:
Actually... there is no screenshot because Hubspot stores images in S3 and I can't upload any. Nice!
Update: Here is the screenshot
Why is this problematic?
The downsides of AWS's dominance in cloud computing is on display for all to see right now. So many of the businesses listed above provide services that are crucial for the operation of dependent businesses. It is a slightly scary picture when you see that so many different companies are fully reliant on AWS, and specifically services like S3. What will the internet look like if every single site is at the mercy of Amazon's ability to deliver their service? But in reality what is a person or company supposed to do to avoid a problem like this in the age of the cloud?
Hybrid Cloud / Cloud Agnostic To The Rescue
If you are building your infrastructure specifically to interface with AWS, you're not necessarily doing anything wrong, but you're setting yourself up for lock-in. Wouldn't it be nice to be able to span across multiple providers in a region for next level high availability? That way the next time something like this happens, you can easily shift all of your traffic to another provider and can drink coffee and laugh at all of the hacker news comments and the pain of all of your non-hybrid peers.
Becoming cloud-agnostic requires making important decisions about which tools you use to complete a task.
Want to script the process of standing up various infrastructure components? Maybe choose CloudFormation.... or maybe choose Terraform.
Want to monitor the performance of your servers and load balancers and applications? Maybe choose CloudWatch... or maybe choose Prometheus.
Want to load balance across multiple hosts and have extreme levels of control over how it works? Maybe choose ELB... or maybe choose Nginx.
By choosing tools that work anywhere, you can make your infrastructure cloud agnostic. But there is a major caveat.
The downsides of becoming cloud agnostic on your own
The one plus of using AWS services is you can pretty much get them setup and working without needing much of a brain, and you can scale out. If you decide to choose open source tools and roll your own cloud agnostic platform, you're taking on a ton of responsibility around how to integrate all of the services into a working automated platform, which can be a TON of work. You are then responsible for the underlying services that are powering your applications, and you cannot contact support when an issue arises, so you're left to your own devices to get things fixed and working again. For many businesses and developers out there, the headache and burden is just not worth it, so they choose the easy route and just go with the big yellow beast Amazon. But there is an answer to being cloud agnostic, scalable, and not sweating over the lack of support...
ContainerShip Cloud: As Easy As Digital Ocean, As Scalable As AWS - 13 Clouds
We built ContainerShip Cloud specifically to address the painful reality of being locked into a cloud hosting provider. Span multiple providers, sync data between S3 and Google Cloud Storage and many others. If an issue arises that takes one provider offline, just remove the bad provider from DNS and keep cruising along as if nothing happened, and keep your customers happy to boot.
When the proverbial $h!t hits the fan, you can always turn to us for support because we are experts in all of the providers we support. It's the best of both worlds.
We'll even do the entire build out for you and hand over a fully cloud agnostic CI/CD platform that your whole team can access. You code your product, we make it work on any cloud. Sweet.
ContainerShip is a hosted containers as a service platform with support for 13 different providers, easy scaling, github and bitbucket integration, build system, out of the box high availability, 5 different docker registry providers, team management, and tons more. Get started on the free forever tier, or try a 30-day free trial of any of our plans.