kafsemo.org

Fractional nines

2016-09-05

Conversationally, you can describe system availability in terms of nines. A two nines (available 99% of the time) system would be built differently from a five nines system (99.999%).

Outside the realm of high availability, what could we call a system available only 80% of the time? It’s less than 90% (“one nine”), so it would strictly be zero nines. To be more specific, we’ll need to introduce fractional nines. Having done that, we could refer to it as 0.7 nines.

Let’s go through the math.

Natural nines

Start with the natural numbers. We have f:ℕ↦ℝ.

NinesAvailability (%)
190
299
399.9
499.99
599.999

Simplify by considering availability as a fraction (in [0,1]) rather than a percentage:

NinesAvailability
10.9
20.99
30.999
40.9999
50.99999

Note that this is exactly

availability ( n ) = 1 - 0.1 n

In addition to the natural numbers, this function is defined for all reals. To plot using R:

avail <- function(n) { return(data.frame(n, a = 1 - 0.1 ^ n))}

d_nat <- avail(1:7)
d_real <- avail(seq(0, 7, 0.1))

svg(file = 'output.svg', width = 7, height = 5)

ggplot() +
  geom_line(data = d_real, aes(x = n, y = a), color = 'red') +
  geom_point(data = d_nat, aes(x = n, y = a)) +
  coord_cartesian(ylim = c(0.75, 1), xlim = c(0, 6)) +
  xlab('Nines') + ylab('Availability') +
  scale_x_continuous(breaks=scales::pretty_breaks())

dev.off()

Nines to availability

Here are some examples not restricted to natural nines.

“Nines”Availability
00.0
0.10.2056718
0.50.6837722
10.9
1.50.9683772
3.50.9996838

Since the function is invertible, consider:

nines ( a ) = - log 10 ( 1 - a )
Availability“Nines”
0.00.0
0.090.04095861
0.50.30103
0.80.69897
0.91

So 80% availability is 0.69897, or approximately 0.7, “nines”. Likely nothing to boast about, but quantification is the first step.

(The 0.09 is included to foil attempts to consider a 9% available system as “one nine”: it’s 0.04 nines. However, extreme chutzpah may be appropriate in situations where a system is available less than ten percent of the time.)

(Music: Alkaline Trio, “We’ve Had Enough”)
(More from this year, or the front page? [K])