When I talk to prospective customers about the Cloud Storage Engine for MySQL (ClouSE) the question of cloud reliability often comes up, especially recently in the light of the outages in AWS.
Cloud outages lead to a lot of publicity. Cloud opponents jump in with “that’s why I haven’t moved to the cloud and never will”, cloud proponents rebut with “N rules for building highly available applications for the cloud”, cloud competitors call on customers to move to their cloud. But it’s important to look into details, because not all outages are created equal.
Here is the data I found on the AWS outages in the last couple of years:
|06/29/2012||US-east||EC2, EBS, ELB, RDS||http://aws.amazon.com/message/67457/|
|06/14/2012||US-east||ECS, EBS, RDS||http://www.quora.com/AWS-Flag-Day-Outage-June-14-2012/What-caused-the-AWS-us-east-1-outage-on-June-14-2012|
|08/07/2011||EU-west||EC2, EBS, RDS||http://aws.amazon.com/message/2329B7/|
|04/21/2011||US-east||EC2, EBS, RDS||http://aws.amazon.com/message/65648/|
It’s easy to see that Amazon S3 has not been affected by the outages. Congratulations to the Amazon S3 team, great job!
So here are my 2 rules to for boosting availability of applications in the cloud (that you can combine with other N rules :-)).
- Use more of Amazon S3 in your application!
- Run your application in US-west-2, if you can. :-)
The latter one doesn’t require any application redesign, and the former one becomes a configuration tweak for MySQL-based applications. Just use ClouSE as the storage engine\gateway to the very reliable Amazon S3 storage.