Storage service levels are usually written as two numbers with a lot of nines in them: one for availability and one for durability. They look similar and are often quoted side by side, but they describe different failures, are measured in different ways, and lead to very different conversations when something goes wrong. A platform can meet one comfortably while quietly missing the other.
For teams that run object storage as an internal platform, or that are evaluating a vendor's commitments, the useful work is less about the number of nines and more about what each number covers, how it is measured, and what happens during the periods when the system is technically up but not performing normally.
Availability is the share of time, or the share of requests, for which the service responds successfully. When availability drops, clients see errors or timeouts, but the data still exists. When the service recovers, nothing has been lost.
Durability is the probability that stored data will still exist, uncorrupted, after a given period, usually a year. A durability failure means data is gone or damaged. It may not be noticed for months, and it cannot be fixed by waiting.
The two are related only loosely. A cluster with strong protection and slow failover can have excellent durability and mediocre availability. A system that serves requests fast from a single copy can show high availability right up to the moment a disk fails and data is lost.
Availability targets are easier to reason about when converted to allowed downtime.
| Availability target | Allowed downtime per year | Allowed downtime per 30-day month |
|---|---|---|
| 99% | about 3.65 days | about 7.2 hours |
| 99.9% | about 8.8 hours | about 43 minutes |
| 99.95% | about 4.4 hours | about 22 minutes |
| 99.99% | about 53 minutes | about 4.3 minutes |
| 99.999% | about 5.3 minutes | about 26 seconds |
The jump from three to four nines is the one that changes operating practice. At 99.9 percent, a planned maintenance window can fit inside the budget. At 99.99 percent, maintenance has to happen without taking the service down at all, which means rolling upgrades, redundant endpoints and load balancing designed for endpoint failures.
Durability is not measured by observation. Eleven nines of durability implies an expected loss of roughly one object in a hundred billion per year, and no single deployment holds enough data for long enough to confirm that empirically. Durability figures come from models that combine:
The last input is the one that varies most in practice. A model that assumes a six-hour repair is optimistic if a full-drive rebuild on large disks actually takes two days. Rebuild time is therefore a durability parameter as much as an operational one, and it is worth measuring rather than assuming, as discussed in the post on what affects recovery time. The choice of protection scheme feeds the same model, which is why the trade-off between erasure coding and replication is partly a durability decision.
Durability also depends on detecting silent corruption. A model that assumes every bad sector is found and repaired only holds if the system actually scrubs data and verifies checksums on a schedule.
Three related terms are often blurred:
For an internal storage platform the SLO is the working tool. An SLA without a well-defined SLI behind it is a number nobody can verify.
A storage SLO is only as good as its definitions. Several details decide whether it reflects what applications experience:
The metrics that reveal trouble early are usually the same ones that make good SLIs.
The period that service level definitions handle worst is the one where the system is up but working harder than usual: rebuilding after a drive failure, rebalancing after an expansion, or running with a site offline. Availability stays technically intact, latency rises, and protection is temporarily reduced.
A complete service level definition says what performance applications can expect in that state, how long it may last, and at what point it counts against the objective. Without that, the most common real-world degradation is invisible to the SLO.
Scality RING is designed so that nodes, drives and sites can fail or be added while the system keeps serving requests. Data protection is configured per policy, with erasure coding or replication, and placement across nodes and sites is set by the operator. Those choices are the inputs to the durability model and decide whether a server, rack or site loss affects availability at all.
RING distributes reconstruction work across many devices in parallel, which keeps the time spent in a reduced-protection state shorter as the deployment grows. It also emits operational metrics and logs that the operator keeps locally, so the indicators behind an internal SLO, including behavior during a rebuild, can be measured directly rather than inferred.
Answering these turns a pair of headline numbers into a commitment that applications can plan around and that operations teams can actually verify.