Files
nexus/sreweekly/articles/194/07-magic-numbers-and-second-guessing-slos-why-is-96-better-than-95.html
2026-09-12 17:23:01 +08:00

236 lines
8.8 KiB
HTML

<!DOCTYPE HTML>
<html lang="en-us">
<head>
<meta charset="utf-8">
<title>Magic Numbers and second guessing SLOs - why is 96% better than 95%? - UnixDaemon: In search of (a) life</title>
<meta name="author" content="map[name:Dean Wilson]">
<meta name="description" content="">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href='/index.xml' rel="alternate" title="UnixDaemon: In search of (a) life" type="application/atom+xml">
<link rel="canonical" href="https://www.unixdaemon.net/sysadmin/magic-numbers-and-second-guessing-slos/">
<link href="https://www.unixdaemon.net/favicon.png" rel="shortcut icon">
<link href="https://www.unixdaemon.net/css/screen.css" media="screen, projection" rel="stylesheet" type="text/css">
<link href="https://www.unixdaemon.net/css/font-awesome.min.css" media="screen" rel="stylesheet" type="text/css">
<link href='https://fonts.googleapis.com/css?family=Nunito:400,300,700' rel='stylesheet' type='text/css'>
<meta name="google-site-verification" content="xyisveClGOK3aUjA5QIPkeGjVV_TfExAxXhIh5yt5nU" />
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-46204499-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div class="container">
<div class="left-col">
<div class="intrude-less">
<header id="header" class="inner"><div class="profilepic">
</div>
<nav id="main-nav"><ul class="main">
<li><a href="https://www.unixdaemon.net/">Home</a></li>
<li><a href="https://www.unixdaemon.net/about/">About</a></li>
</ul>
</nav>
<nav id="sub-nav">
<div class="social">
<a class="twitter" href='https://twitter.com/unixdaemon' title="Twitter">Twitter</a>
<a class="github" href='https://github.com/deanwilson' title="GitHub">GitHub</a>
<a class="linkedin" href='https://www.linkedin.com/in/deanswilson' title="LinkedIn">LinkedIn</a>
<a class="rss" href='/index.xml' title="RSS">RSS</a>
</div>
<nav id="main-nav"><ul class="main">
<li><a href="https://www.unixdaemon.net/ansible/">/ansible/</a>
<a href="https://www.unixdaemon.net/books/">/books/</a></li>
<li><a href="https://www.unixdaemon.net/career/">/career/</a>
<a href="https://www.unixdaemon.net/cloud/">/cloud/</a></li>
<li><a href="https://www.unixdaemon.net/commandline/">/commandline/</a>
<a href="https://www.unixdaemon.net/events/">/events/</a></li>
<li><a href="https://www.unixdaemon.net/firefox/">/firefox/</a>
<a href="https://www.unixdaemon.net/geekstuff/">/geekstuff/</a></li>
<li><a href="https://www.unixdaemon.net/gui/">/gui/</a>
<a href="https://www.unixdaemon.net/linux/">/linux/</a></li>
<li><a href="https://www.unixdaemon.net/meta/">/meta/</a>
<a href="https://www.unixdaemon.net/misctech/">/misctech/</a></li>
<li><a href="https://www.unixdaemon.net/movies/">/movies/</a>
<a href="https://www.unixdaemon.net/network/">/network/</a></li>
<li><a href="https://www.unixdaemon.net/nottech/">/nottech/</a>
<a href="https://www.unixdaemon.net/online/">/online/</a></li>
<li><a href="https://www.unixdaemon.net/perl/">/perl/</a>
<a href="https://www.unixdaemon.net/programming/">/programming/</a></li>
<li><a href="https://www.unixdaemon.net/puppet/">/puppet/</a>
<a href="https://www.unixdaemon.net/security/">/security/</a></li>
<li><a href="https://www.unixdaemon.net/sites/">/sites/</a>
<a href="https://www.unixdaemon.net/sysadmin/">/sysadmin/</a></li>
<li><a href="https://www.unixdaemon.net/tools/">/tools/</a>
<a href="https://www.unixdaemon.net/unixdaemon/">/unixdaemon/</a></li>
</ul>
</nav>
</nav>
</header>
</div>
</div>
<div class="mid-col">
<div class="mid-col-container">
<div id="content" class="inner">
<div itemscope itemtype="http://schema.org/Blog">
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
<h1 class="title" itemprop="name">Magic Numbers and second guessing SLOs - why is 96% better than 95%?</h1>
<div class="date"><time datetime='Wed, Nov 13, 2019' data-updated="true" itemprop="datePublished">Wed, Nov 13, 2019</time>
</div>
<div class="tags">
<a href="https://www.unixdaemon.net/categories/sysadmin"> sysadmin </a>
</div>
<div class="entry-content" itemprop="articleBody"><p>I&rsquo;ve had a half written draft of this post sitting in a folder for the
last six months and I&rsquo;ve not been able to shake the root cause so I&rsquo;m
going to publish it and see what the feedback teaches me. But first
the heresy - Service Level Objectives make me uncomfortable.</p>
<p>I have no issue with the idea that you need some form of measurement and
tracking to ensure you&rsquo;re maintaining an acceptable level of service but
when reading posts on SLOs, or watching recorded conference sessions,
the concept seems to imply some rigour and background process to
determine the numbers to work towards that feels decoupled from
any hard details and often comes across as either a guesstimate or just a
Current Representation of Actual Percentages.</p>
<p>Maybe it&rsquo;s the industry I&rsquo;m currently in and the unique position it
affords. As a Government department there&rsquo;s no explicit per transaction
financial goals. Cheaper and quicker is better but if we go over a per
page serving cost of say 5p per page no one loses their job or brand new
Mercedes bonus pot. A few of my previous roles were incredibly
financially focused and knew how much they should be making every minute
broken down by day and hour usage trends. I can see how service level
objectives work in that world and I&rsquo;d be a lot more comfortable with the
concepts adoption if every use had something like this behind it:</p>
<p>Let&rsquo;s assume we work for ${ecommerce}.com and we always exactly hit our
SLO in terms of successful requests and never go above or below it.
Hopefully it&rsquo;ll be quite easy to pull together our opening position.</p>
<ul>
<li>Our SLO is 95%</li>
<li>We get 100,000 visits a day</li>
<li>That&rsquo;s 95,000 successful visits</li>
<li>We make a sale in 5% of visits</li>
<li>Which means we make 4,750 sales in a day</li>
<li>Our average sale is 100USD so we make 475,000 USD a day</li>
</ul>
<p>With this kind of detail I can see how SLOs can help inform the discussion:</p>
<ul>
<li>Our new SLO will be 97%</li>
<li>That&rsquo;s 97,000 successful visits.</li>
<li>We still make a sale in 5% of visits</li>
<li>Which means we make 4,850 sales in a day</li>
<li>Our average sale is still 100USD but now we make 485,000 USD a day</li>
</ul>
<p>In this scenario if we raised our SLO, and our game to match it, we
would make an extra 10,000 USD each day. These numbers make it easier to build
a case and decide how much engineering time and financial outlay we are
willing to commit to possibly making that extra money and it shows what
happens if we backslide in availability</p>
<p>Unfortunately very few of the SLO posts and talks I&rsquo;ve seen give any kind
of breakdown like this. Instead they seem to rely on either picking an
acceptable amount of downtime and encoding that or taking the current
uptime percentage and elevating it beyond happenstance into a guiding
principle. I guess my question would be: &ldquo;If you changed your SLO value
up or down 1-5 percentage points, what does that mean? What happens?&rdquo;</p>
<p>Maybe I&rsquo;m looking for more than Service Level Objectives are offering or
maybe the early adopters are all finding their way through it and the
pioneering posts are deliberately simplified either to encourage people to
take a look or hide the complexity of actual numbers that have no
context outside of their home organisation but considering all the
cheer leading I&rsquo;d expect there to be more than just a helpful baseline
that people can have in the back of their mind. So, where does that
leave me? Continually questioning the process while trying to write
enough SLOs that I either develop Stockholm syndrome or it finally
clicks and that little nagging voice in the back of my head stops saying
its just reliability theatre.</p>
</div>
</article>
<div class="share">
<div class="addthis_toolbox addthis_default_style ">
</div>
</div>
</div>
</div>
</div>
<footer id="footer" class="inner">Copyright &copy; 2025
Dean Wilson
Design credit: <a href="http://shashankmehta.in/archive/2012/greyshade.html">Shashank Mehta</a>
</footer>
</div>
</div>
</body>
</html>