Beamfar

Uptime SLA maths: what 99.9 percent really allows

Clients ask for “99.9 percent uptime” without knowing what it allows. A care plan that promises it without arithmetic is a promise you cannot check. All numbers on this page are arithmetic examples, not claims about any product or site.

The formulas

Availability is the share of a period in which the service was working:

availability = (total time - downtime) / total time

Allowed downtime for a target is the same formula turned round:

allowed downtime = (1 - target) x period

For a 30-day month the period is 30 x 24 x 60 = 43,200 minutes. For a 365-day year it is 525,600 minutes.

Example: a target of 99.9 percent is 0.999. Allowed downtime in a 30-day month is (1 - 0.999) x 43,200 = 0.001 x 43,200 = 43.2 minutes.

A table to keep

TargetAllowed downtime in 30 daysAllowed downtime in a 365-day year
99 percent7 h 12 min3 d 15 h 36 min
99.5 percent3 h 36 min1 d 19 h 48 min
99.9 percent43 min 12 s8 h 45 min 36 s
99.95 percent21 min 36 s4 h 22 min 48 s
99.99 percent4 min 19 s52 min 34 s

Check one: 99.99 percent is (1 - 0.9999) x 43,200 = 4.32 minutes, which is 4 minutes 19 seconds. Check another: 99 percent over a year is 0.01 x 525,600 = 5,256 minutes, which is 87.6 hours or 3 days 15 hours 36 minutes.

A calendar month can be 28 to 31 days, so say which period the target uses.

Turning downtime back into a percentage

If a site was down for 95 minutes in a 30-day month, availability is (43,200 - 95) / 43,200 = 0.99780, or 99.78 percent. That misses a 99.9 target (43.2 minutes) by 51.8 minutes.

Systems made of parts

A website rarely stands alone. It depends on DNS, a CDN, a host, a database, a payment provider.

In series (all must work), availabilities multiply:

A_total = A1 x A2 x A3 ...

Three components at 99.9 percent each give 0.999 x 0.999 x 0.999 = 0.997003, or 99.70 percent. A chain is always less available than its weakest part. A client who wants 99.9 percent for the whole site needs better components than 99.9 percent.

In parallel (any one is enough), unavailabilities multiply:

A_total = 1 - (1 - A1) x (1 - A2)

Two independent servers at 99 percent each give 1 - 0.01 x 0.01 = 0.9999, or 99.99 percent. Independence is the catch: two servers in the same data centre, behind the same load balancer or sharing a database are not independent.

The questions an SLA must answer

An uptime percentage means nothing until it answers these:

  1. What is measured? The home page? Any page? A health endpoint? A login? Define the URL and the success condition (status code, expected text).
  2. From where? One location, or the result of several? The monitor’s own failures should not count against the site, and a regional issue needs a rule.
  3. How often? A one-minute check cannot see a 20-second outage, and a failure is dated to the check interval. With a five-minute interval, each detected outage is at least one interval long in the arithmetic of most tools, so the measured downtime is coarse.
  4. What is excluded? Planned maintenance windows, force majeure, problems at the client’s own provider, a payment gateway.
  5. What counts as partial? Slow, degraded, one region down.
  6. What is the period and how are credits calculated? Month, quarter; service credit or just a report.
  7. Who produces the evidence? If the agency measures its own uptime, the client may reasonably doubt it. A report where every number traces to a stored check answers that.

Pitfalls

  • Promising a number you do not control. If hosting is the client’s, the agency’s promise is about its response, not the server. A response-time commitment (acknowledge within 30 minutes) is often more honest than an uptime figure.
  • Averaging across sites. One site down for a day in a portfolio of fifty still means one client had a day of downtime.
  • Rounding up. 99.78 percent is not “about 99.9”. Report two decimals, and the minutes.
  • Counting only full outages. A checkout that fails with a 500 while the home page loads is downtime for a shop.
  • Treating “no data” as up. A gap in measurements is unknown, not 100 percent. A report that fills gaps with success is misleading. Count it and mark it.
  • The percentage of a short month. A target of 99.9 percent allows less downtime in February than in March.

A sensible way to write the clause

  • Name the measured URL and the success condition.
  • State the period, the allowed downtime in minutes and the formula.
  • State the measurement interval and locations, and the exclusions.
  • Say what happens when the target is missed (a report, a credit, a review).
  • Attach the monthly report as the evidence.

Google’s SRE book treats an availability target as both a minimum and a maximum, says that 100 percent is probably never the right target, and notes that an incremental improvement in reliability may cost 100 times more than the previous one. It also observes that a user on a smartphone that is 99 percent reliable cannot tell the difference between 99.99 and 99.999 percent. That is a reason to ask what the client’s business needs, not to start at the highest number.

How Beamfar helps

Beamfar computes each site’s uptime for the monthly report from stored checks and states the method; periods with no valid measurement are shown as “data unavailable” instead of being counted as up. A site is counted as down only when two regions agree, and the report lists what each region saw. It does not write the SLA clause for you or promise any availability figure.

Questions

How many minutes of downtime does 99.9 percent allow?

43.2 minutes in a 30-day month, from (1 - 0.999) x 43,200 minutes, and about 8 hours 46 minutes in a 365-day year.

What is the formula for allowed downtime?

Allowed downtime = (1 - target availability) x length of the period. Use the same unit for both, such as minutes.

Why is a chain of 99.9 percent services less than 99.9 percent?

In a series every part must work, so availabilities multiply. Three parts at 99.9 percent give 0.999 cubed, about 99.70 percent.

Should an agency promise a specific uptime percentage?

Only for parts it controls and can measure. Many agencies prefer to commit to monitoring, response time and a monthly report, and to define the uptime measure and exclusions in writing when a client asks for a number.

Sources

Read on . Standards and vendor pages change; confirm the current text before you rely on it.

Terms used in this guide

  • SLAAn SLA is a written commitment on service levels such as availability and response time, how they are measured, what follows a miss, and the formulas behind it.
  • AvailabilityAvailability is the share of a period a service worked. The formula, how it converts to minutes of downtime, and why a chain of services is less available.
  • Uptime monitoringUptime monitoring requests a website from outside at intervals and alerts when it fails to answer. What it measures, what it misses and how it is confirmed.
  • Check intervalThe check interval is the time between two uptime checks. How it sets the detection delay, the number of checks and how it interacts with confirmation.

Know first. Know why. Tell your client before they call.

Paste your client list. Both regions start checking.

No card for the trial.