What is an Availability Zone destruction? Should I care?

There are six different S3 storage classes on S3 and they differ in costs for storage, transition requests and retrieval requests. This is to cover all use cases or to make your AWS bill hard to forecast. Or both.

The old S3 Reduced Redundancy Storage is the past, and all the current classes share the same 11 9’s. They have different availabilities and SLAs but, they all have 6+ copies of the data stored on AWS servers.

Performance across the S3 Storage Classes
Performance across the S3 Storage Classes

Standard-IA or One Zone-IA?

But wait, how can Standard-IA and One Zone-IA share the same durability if the latter keeps all the copy of the same number of copies but only in a single AZ?

The devil is in the details: do you see that little asterisk in the table? The apparently insignificant note states:

Because S3 One Zone-IA stores data in a single AWS Availability Zone, data stored in this storage class will be lost in the event of Availability Zone destruction.

So even if the number of copies is the same and you can still boast your amazing 11 9’s to your customers, the resilience of the One Zone-IA option is not the same. Even Amazon suggests it for backups or easily re-creatable data only.

Unlike other S3 Storage Classes which store data in a minimum of three Availability Zones (AZs), S3 One Zone-IA stores data in a single AZ and costs 20% less than S3 Standard-IA. S3 One Zone-IA is ideal for customers who want a lower-cost option for infrequently accessed data but do not require the availability and resilience of S3 Standard or S3 Standard-IA. It’s a good choice for storing secondary backup copies of on-premises data or easily re-creatable data.

With that little asterisk, Amazon lets you figure it out yourself the risk and the cost of it. As it might vary across regions and zones too, they give you 11 9’s with a caveat. You pay 20% less but you are now in charge of risk management.

What is an Availability Zone destruction? How likely is that?

AZ destruction?

It might sound a silly question but if you have to assess yourself the likelihood, you need to know what they are talking about. There is no further asterisk or note, so you have to dig deeper and ask support to have the definition.

(…) If you would like I can open a request to have the definition ‘Availability Zone destruction’ added

OK, there is nothing specific in the S3 documentation but they still state that

Availability Zone destruction would include any event that causes multiple data centers to become unavailable including but not limited to fires, earthquakes, a flood, etc. A destructive availability zone event can be summarized as any event that would impact multiple data centers or a sizeable portion of the region the resources are located in.

Should I take the risk?

For business critical services it is always advisable to architect your solution to be highly available and fault tolerant to an AZ outage. But this is just risk management.

If you heavily rely on Standard-IA and think the chance of your “next unicorn” crashing are higher than an Availability Zone destruction, you might gamble on lower costs and higher margins. But bet a few dollars on an AZ destruction too. In both cases you would have a profitable exit (*)

An unicorn or Standard-IA?

(*) Talking about asterisks, if you try that or find out a bookmaker that takes the bet please let me know.

Codemotion Berlin 2019

In less than two weeks, Codemotion will be back in Berlin!

I am thrilled to be back on stage at the Kulturbrauerei, just a few minutes from where I live, and talk about my experiences and challenges running relational databases on AWS: “Look Mom No Hands! Moving from a managed relational database to a serverless one”

You can find the abstract of my talk on the site, see you there! #CodemotionBerlin19