Can We Stop With the Uptime Percentages?
28 points by giacomo_cavalieri
28 points by giacomo_cavalieri
When clicking, I expected a different point, to be honest: one hour of complete downtime per day and rock solid outside, and one day of downtime per month are quite close in percentages, but quite different in behaviour. Not to mention two seconds of downtime every minute and no long downtime for years!
An awful lot of IT services in most companies could run with 2 seconds of downtime per minute for years without anyone knowing. For anything which has retries and human-noticeable latencies in the first place, it might already be the normal, accepted case.
I think the overall uptime percentage is not very useful. I suspect the only reason we're talking about uptime percentages is due to SLAs and contracts but disruptions matter more in reality.
If a shop website stops working for one hour every month, it doesn't have to matter, especially if a temporary page is setup to provide a notice. On the other hand, if it's down 2ms every second, maybe it's going to lose requests issued during that time, and over the course a typical visit, that's probably going to impact almost every user.
A more interesting piece of information is the expected disruption and how to handle them: maybe retry two seconds later or instead re-issue failed/timed-out requests at once; maybe that but with other delays. That's useful for engineers but also end-users who need to learn that themselves otherwise. If a website is down, users typically want a ballpark estimate for recovery: in an hour, tomorrow, in a few days (or some notification mechanism).
This was one of the things I thought about when mentioning that case.
I think there are even many «continuous safety monitoring» systems that could be fine with 2 seconds (but never more) downtime per minute as is. But if you are in the case where 2 seconds at a time matter at all, having this every minute might be bad…
Statistics can be a reasonable way to summarize large amounts of data, so I'm not sure we should just throw them out. For example, 99.99% uptime over the last year does give you an indication of reliability and it is better than 99.9%. You can obviously improve the stats with a breakdown of planned downtime, downtime outside of service hours, discounted for impacted users, etc.
But the audience for status pages isn’t just infra people anymore. It’s increasingly everybody.
I don't think the general audience cares about reliability, and I'm not sure if they will even attempt to find the status page in most cases. Instead they will ask their search engine or agent "is x down". If they end up on the status page, they will probably look at the red lines and the "Ongoing Incidents" heading.
The author doesn't suggest throwing out statistics, but adding contextual information.
Necessary context, as it turns out: what does "99.99% uptime over the last year" mean?
Obviously uptime is measured by a round trip database query through the application from an external service once every five minutes, so network outages that don't happen on the path between that service and the datacenter can't even appear. There's a performance component, of course: if the query doesn't return with the right answer ("OK") within 30 seconds, that's counted as a fail.
Obviously the uptime measurement excludes planned maintenance windows, right? Says so in the SLA. There's a maintenance window every weekend from 1am Saturday through 11pm Sunday; since it usually isn't taken and almost every user is in the same time zone and doesn't work on weekends, nobody notices.
And so on: context turns out to be mportant.
We could try using the odds formula p/(100-p). So at 98.7% uptime there's a 98.6/(100-98.6) ≈ 1/70 chance of downtime.
Alternatively translate it from a scale of 0-100% uptime to a scale of 0-∞ "reliability".
GitHub Actions: 12 hours affected in the last 30 days (98.31% uptime).
or translate that to github action might go down for 24 minutes today.
The big myth of the "information age" is that in order to have an "information economy" we just need a comprehensive education system to equip people for "knowledge work". The reality is that the percentage of people who are qualified to do more than milk a cow or swing a hammer only increases a few points above year-1800 levels no matter how much educational opportunity you provide. In other words, most people aren't educable to what used to be called a "high school" level, and can't figure out how many hours of downtime per month correspond to 98% uptime, to one sig fig, without taking their shoes off. But we need to "compete" so we rig the system to give them nice certificates proclaiming them members of the society of the learned and put them in professional jobs. Then, to limit the blast radius, we hamstring everyone with regulations written for (and by) the most cretinous idiots, and wonder why nothing is ever done correctly or on time. But it's okay, a solution is on the way — just pay people to keep the chairs warm while AI does the thinking. That surely won't make anything worse.
How was your day?