Hacker News new | ask | show | jobs
by takeda 3525 days ago
> do with S3 to achieve 11 9's availability

I see so many people confused about this. Eleven nines is their durability guarantee, their availability that they guarantee is only 99.99%

https://aws.amazon.com/s3/faqs/

2 comments

What's the difference between durability and availability?
Availability is the % of times you try to access your data that you get it back. So 52.5 minutes of downtime a year is still within SLA.

Durability is the % of your data that doesn't die. Eleven 9s means that if you store 1TB on AWS S3 you can expect to lose 10 bytes and still be within SLA.

No, it means that if you store your data there that there is a .000000001% chance that you will lose all of it.
For those wondering .000000001% per what? The answer apparently is per object year.

i.e. you could expect to lose 10 bytes of your 1TB every year if your stored it as a trillion one byte objects, but if you stored it as a single object you could expect to lose the whole thing once every hundred billion years, but none of it the rest of the time.

Is that true? How can they possibly measure a probability event so small? If every human in the world was their customer, then .05 humans would lost heir data?
I don't know much about actuarial math but I think this number is for insurance policies more than anything else. It could be based on something like the rate of hardware failures they experience now amortized over a long period and many customers, and then adjusted to account for redundancy.

As a very simplified example, imagine they are expecting to lose 2 servers every day, this percentage might be the probability of those two servers storing the same exact object (and thus, losing it irretrievably).

It doesn't mean that either. It's just an SLA. Could have been a number pulled out of the air. Likely loss in real life would be granular at the object level.
durability means you'll get your bits eventually.

availability means you'll get your bits immediately.

Durable means it was persisted to disk. Availability means the service is up and reachable.
I hear this misunderstanding a lot as well, generally in relation to AWS S3 SLAs. 11 9's of "uptime" would mean service could be be down for 3 milliseconds a year. 4 9s is very respectable.