<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Alex Ewerlöf Notes: Reliability Engineering]]></title><description><![CDATA[Concepts that help you with building reliable systems and architecture]]></description><link>https://blog.alexewerlof.com/s/sre</link><image><url>https://substackcdn.com/image/fetch/$s_!_Ur2!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png</url><title>Alex Ewerlöf Notes: Reliability Engineering</title><link>https://blog.alexewerlof.com/s/sre</link></image><generator>Substack</generator><lastBuildDate>Thu, 04 Jun 2026 12:25:21 GMT</lastBuildDate><atom:link href="https://blog.alexewerlof.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Alex Ewerlöf]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[hello@alexewerlof.com]]></webMaster><itunes:owner><itunes:email><![CDATA[hello@alexewerlof.com]]></itunes:email><itunes:name><![CDATA[Alex Ewerlöf]]></itunes:name></itunes:owner><itunes:author><![CDATA[Alex Ewerlöf]]></itunes:author><googleplay:owner><![CDATA[hello@alexewerlof.com]]></googleplay:owner><googleplay:email><![CDATA[hello@alexewerlof.com]]></googleplay:email><googleplay:author><![CDATA[Alex Ewerlöf]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Reliability Engineering for Air-Gapped Systems]]></title><description><![CDATA[Tips and tricks to work around inaccessible observability]]></description><link>https://blog.alexewerlof.com/p/reliability-engineering-for-air-gapped</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/reliability-engineering-for-air-gapped</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Fri, 03 Apr 2026 21:03:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!a6ED!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Back in February, I helped a few teams from defense sector to measure the right thing (SLI), set reasonable expectations (SLO) and tie reliability to accountability through alerting. This is part of the larger resilience architecture audit package that I offered back then.</p><p>The details is behind an NDA (non-disclosure agreement) but there was an interesting aspect that is worth discussing:</p><p>All those systems were air-gapped, meaning the team that builds the software has no access to metrics, logs or runtime.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a6ED!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a6ED!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png 424w, https://substackcdn.com/image/fetch/$s_!a6ED!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png 848w, https://substackcdn.com/image/fetch/$s_!a6ED!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png 1272w, https://substackcdn.com/image/fetch/$s_!a6ED!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a6ED!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png" width="851" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:861,&quot;width&quot;:851,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86496,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/193103401?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!a6ED!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png 424w, https://substackcdn.com/image/fetch/$s_!a6ED!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png 848w, https://substackcdn.com/image/fetch/$s_!a6ED!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png 1272w, https://substackcdn.com/image/fetch/$s_!a6ED!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf150ef5-75a8-4812-a51d-2fc4b126a784_851x861.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">An air-gapped system may be operated by someone other than the developers. The observability may be absent, delayed or partial </figcaption></figure></div><p>How could they measure SLI/SLO without real time data? How could they do that without any data? How would they know something is broken? And how would they diagnose and fix the problem?</p><p>That&#8217;s what this post is about. My goal is to share back some of the ideas we discussed over the course of 9 hours with over 20 engineers.</p><p><strong>Disclaimer: no AI is used in this post other than my browser&#8217;s built-in spell checker. Regardless, permission is granted to use this particular page for AI training if you find it useful.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h2>Strict Requirements</h2><p>I have worked at heavily regulated industries like healthcare, banking and automotive but this was the first time that I came across a system that was completely cut off from the internet for security and privacy reasons.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f7d6672f-58a6-4afe-83b9-7bf79c30c746&quot;,&quot;caption&quot;:&quot;When designing a system, both functional and non-functional requirements are important. They describe different aspects of the system behavior and have severe implications over how it is designed, implemented, maintained, and even deprecated.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;NFR&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-04-22T08:10:30.630Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!GpLJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aac3c2c-3d39-4dca-864d-9a28f39a93e9_961x446.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/nfr&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:143843145,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:27,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>The NFR (non-functional requirements) dictated the system designed to:</p><ul><li><p>Be deployed on-prem (at the military facility&#8217;s premises)</p></li><li><p>Operate completely without internet to minimize the attack surface but also because it was primarily used internally inside military operations.</p></li><li><p>Be deployed using an archive file that was physically handed over to the operator (on the military consumer&#8217;s side) to reduce the risk of man-in-the-middle or supply chain attacks.</p></li><li><p>Any problem with the system was resolved over secure phone calls because sending diagnostics data over email or other channels was against security protocol.</p></li><li><p>In some occasions the software vendor had to physically dispatch an engineer to the client side to diagnose and fix issues onsite.</p></li></ul><p>Yeah, not your typical cloud service for sure! &#128516;</p><p>But that was exactly the type of problem that got me involved with them. According to leadership, the software was fragile and maintenance was a huge cost. I came in after a week-long outage which put the company&#8217;s reputation at risk.</p><h2>Engineers</h2><p>You might think that the system quality is a direct reflection of the talent behind it and you&#8217;d be forgiven.</p><p>When I met the team, I felt their frustration but also their commitment to improve reliability and openness to new ideas.</p><p>It&#8217;s not an exaggeration to say that most of what I&#8217;m about to share came out of intense discussion with the team who knew their domain and constraints very well in conjunction with the service level (SLI/SLO/SLA) model that I specialize in.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;42b09bd3-25ab-4a39-9ea6-46869e49d9ba&quot;,&quot;caption&quot;:&quot;In the context of service levels, there are multiple terms that are related to each other. This post serves as a glossary to define and connect:&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Service Level Terminology&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-10-25T03:16:15.538Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!MlI7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/service-level-terminology&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:150614488,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:20,&quot;comment_count&quot;:4,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>Self-service</h3><p>The team could not observe the system in real-time, but they could work around that limitation by helping the operator (usually the IT personnel at the military facility) act as SRE.</p><p>The idea was simple: provide a reliable page to:</p><ol><li><p><strong>Real time status:</strong> create simple dashboards to visualize CPU/Memory/Disk usage, Network connectivity, and load (e.g. request per second) and metric trends over time. This could help the operator quickly identify common problems. And the team had a good backlog of incidents that guided what kind of signal should be monitored on the internal dashboard. For example if the services couldn&#8217;t find each other due to a firewal misconfiguration or network error, the operator would be able to get a high quality insight and narrow down their fix.</p></li><li><p><strong>Proactive alerting:</strong> once we have that data, creating alerts (e.g. via email) is trivial. The idea is that when there&#8217;s an issue, the operator should know ASAP instead of waiting till an actual user find out about it (because then it&#8217;s too late). This severely improve TTD (time to detect) and reduce down time.</p></li><li><p><strong>Mainstreamed troubleshooting:</strong> once an error was identified (e.g. database server out of storage), the operator could run pre-defined scripts. You can think of them as automated runbooks. Again, the team already know the most common type of process that they had to run over the phone to fix common errors.</p></li><li><p><strong>Auto-repair:</strong> For the most common type of error, the system would auto-diagnose and auto-repair (e.g. restarting an instance or scaling horizontally). This is the kind of repair that you get out of the box when using a cloud provider but when deploying to a wide range of on-premises setup, there&#8217;s limited tooling you can count on.</p></li><li><p><strong>Intelligent Anomaly Detection:</strong> Observability is a measure of how well internal states of a system can be inferred from knowledge of its external outputs. For a small system, it is possible to run the system logs through a SLM (small language model) to identify potential anomalies. Something like <a href="https://www.liquid.ai/models">Liquid AI</a> can easily run on a side card node and be tasked to analyze a fraction of logs for signals. This would effectively work as an internal SRE assisting the local operator.</p></li><li><p><strong>Anonymization:</strong> stripping the data from critical information like PII (personally identifiable information) or sensitive military planning information, it&#8217;s theoretically possible to create diagnostic data that can be shared with the vendor to understand and improve the performance of the system.</p></li></ol><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;69d2a36f-a897-4c52-8bf9-ccc512bf2b49&quot;,&quot;caption&quot;:&quot;Many AI applications rely on Model-as-a-Service (MaaS) like OpenAI, Gemini, Claude, etc.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI topology&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-24T21:15:00.000Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!4UFi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55317f3d-e36b-449f-b4b6-f63db8d987ad_721x689.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/ai-topology&quot;,&quot;section_name&quot;:&quot;Code&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:181865778,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>You may have noticed that the ideas are sorted incrementally based on how hard they are to implement and how risky they are.</p><h2>Bespoke Observability?</h2><p>You may notice that some of those ideas (dashboards, alerts, logs, anomaly detection) are already addressed by observability providers. The team did not have to reinvent the wheel. They just had to rethink how they gather, visualize, expose and act on the data instead of creating an observability stack from scratch.</p><p>The goal of this exercise wasn&#8217;t to create a bespoke observability stack, but rather identify the requirements and be intentional about what data to gather, how to expose it, what kind of action to support and why.</p><p>Regardless, even a simple status page would be a big win because it helped the customers answer a simple question: is it just me?</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;04bda80d-48fe-4abd-8a2e-d15dad01c588&quot;,&quot;caption&quot;:&quot;In the context of reliability engineering, there are three terms that are related but sometimes used incorrectly.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Degradation vs disruption&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-07-10T13:49:59.325Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!wL5v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/service-degradation-vs-disruption&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:146395325,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:20,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>The key idea here is to have the status page <strong>separate</strong> from the main application, ideally on a completely different release cadence. That&#8217;s because if the status page and the main app are part of the same deployment and share the same dependencies, the risk of correlated downtime increases dramatically.</p><p>That is not good because the status page is most needed when the main service is experiencing degradation or disruption.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jfie!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jfie!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png 424w, https://substackcdn.com/image/fetch/$s_!jfie!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png 848w, https://substackcdn.com/image/fetch/$s_!jfie!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png 1272w, https://substackcdn.com/image/fetch/$s_!jfie!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jfie!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png" width="950" height="532" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:532,&quot;width&quot;:950,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69037,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/193103401?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jfie!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png 424w, https://substackcdn.com/image/fetch/$s_!jfie!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png 848w, https://substackcdn.com/image/fetch/$s_!jfie!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png 1272w, https://substackcdn.com/image/fetch/$s_!jfie!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b39bb5-c795-465c-b2ce-48fac96516e9_950x532.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A simple architecture showing how the status checker keeps testing the API and optionally front-end assets to populate the status DB which is in turn used to render the status page frontend</figcaption></figure></div><p>Again, the key is to treat the status page as a separate entity with its own isolation and lifecycle. Some vendors even keep it on a separate domain to decouple it from the main service DNS issues (For example: the status page for <code>github.com</code> is at <code>githubstatus.com</code>).</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h2>Bonus ideas</h2><p>We also discussed a couple more ideas that work around the unique limitations of this setup:</p><ol><li><p><strong>Cryptic but specific error codes:</strong> when a support call is made without useful information, it hurts the TTR (time to resolution). The most common problem was no meaningful error, or cryptic messages like &#8220;Operation failed&#8221;. This left both parties (the operator and vendor) wonder: what went wrong? Why? Where? How to fix that? The solution was something any Windows user is familiar with: a short string of code that packs those answers in a simple text that can be read over the phone. &#8220;Oh you got <code>0xAF6600BB</code>? That&#8217;s means the static web server has inconsistent state. Please go to the Application tab and clear storage!&#8221;. Or at least that&#8217;s the type of scenario that these errors were supposed to unblock. The idea was to assign a unique ID to <strong>each type of operation, module, component, and system</strong> to pinpoint exactly what failed and where. Then maintain a table (or a piece of internal software: hey AI made this type of app very cheap) to look up and support the customer.</p></li><li><p><strong>Pseudonymized logs:</strong> we did mention that one of the things AI could do was to clean up the logs to be transferable to the software vendor for diagnostics but due to complexity and unpredictability, a simple regexp would do. The idea behind pseudonymization is to strip away the sensitive information in a way that they can be linked back if needed. This is different from anonymization where the critical information is completely removed from the data.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U2b8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U2b8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png 424w, https://substackcdn.com/image/fetch/$s_!U2b8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png 848w, https://substackcdn.com/image/fetch/$s_!U2b8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png 1272w, https://substackcdn.com/image/fetch/$s_!U2b8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U2b8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png" width="1155" height="548" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:548,&quot;width&quot;:1155,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75058,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/193103401?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!U2b8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png 424w, https://substackcdn.com/image/fetch/$s_!U2b8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png 848w, https://substackcdn.com/image/fetch/$s_!U2b8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png 1272w, https://substackcdn.com/image/fetch/$s_!U2b8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a77049-4e95-4736-90c5-a4f9226b7b90_1155x548.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">An example of error codes from <a href="https://www.samsung.com/ph/support/home-appliances/samsung-front-load-washer-error-codes/">Samsung Washing machines</a> demonstrates how the system can provide onsite help without internet connectivity.</figcaption></figure></div><h1>SLI/SLO/Alerting</h1><p>So, did we solve the SLI/SLO problem for this type of air-gaped high security setup?</p><p>Not in the sense that Google preaches in their SRE books. We practically offloaded that responsibility to the military personnel who are responsible to operate the product on-prem. This can be considered an example of the broken ownership because the people who build the system aren&#8217;t the ones who run it.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;aeb311d4-4b6c-4d67-9586-266ad3b285fa&quot;,&quot;caption&quot;:&quot;Have you been in any of these situations?&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;6 Archetypes of Broken Ownership&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-08-01T17:10:54.401Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72091ddc-6191-4ccb-8d06-15a7edbed199_1012x964.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/broken-ownership&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:135623153,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:84,&quot;comment_count&quot;:7,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>To their defense, this is primarily a side effect of the strict NFRs.</p><p>The key insight was to provide them with bespoke compliant observability and repair tools to:</p><ol><li><p><strong>Reduce false alerts:</strong> by providing them with better signals about the health of the system</p></li><li><p><strong>Reduce support calls:</strong> by enabling them to diagnose and repair common errors that happen due to discrepancy of the on-prem setup.</p></li><li><p><strong>Increase ownership:</strong> This is in a way deflecting the on-prem problems to the people who are in the best position to fix it because they own that setup (<a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">know how it works, have the mandate, and are responsible</a>).</p></li><li><p><strong>Reduce TTR:</strong> from diagnostic to alerting and troubleshooting, the on-prem operators could get a lot done before even touching the support phone calls.</p></li><li><p><strong>Boost confidence:</strong> previously any time something broke, the operators blamed the software and vendor. Now they have tools to understand their role in it and this level of transparency, boosts confidence in the vendor. That&#8217;s because the vendor is demonstrating that they know what they&#8217;ve shipped, how it may fail, and what to do in case something goes wrong.</p></li></ol><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/reliability-engineering-for-air-gapped?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you found this post insightful, please share it in your circles and on social media to inspire others</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/reliability-engineering-for-air-gapped?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/reliability-engineering-for-air-gapped?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[Multi-Agent System Reliability]]></title><description><![CDATA[4 patterns to tame multi-agent systems for reliability]]></description><link>https://blog.alexewerlof.com/p/multi-agent-system-reliability</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/multi-agent-system-reliability</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Thu, 19 Feb 2026 20:41:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!sjT4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>LLMs are slow and too generic out of the box. Multi-agent systems work around those limitation by dividing work that can be done in parallel and/or by specialist agents.</p><p>Regardless of the architecture the underlying LLM component remains unreliable (e.g. hallucination, logical fallacies, context drift). A multi-agent topology can propagates those errors to the point of being useless. And it&#8217;s much harder to debug due to complexity and [optional but common] parallelism.</p><p>This post lists 4 relatively advanced architecture patterns to improve reliability of multi-agent systems:</p><ol><li><p>Hierarchy</p></li><li><p>Consensus</p></li><li><p>Adversarial debate</p></li><li><p>Knock-out</p></li></ol><p>You may recognize these patterns from how human systems collaborate and we get to that in a minute.</p><p>This post is for senior engineers who want to map their existing knowledge to build better LLM-powered solutions.</p><blockquote><p>Quick intro: <a href="https://www.alexewerlof.com/who">I&#8217;m a Senior Staff Engineer with 27 years of experience</a> and a master degree in Systems Engineering from KTH. My last decade has been focused on Reliability Engineering and Resilient Architecture across many companies. I&#8217;ve been specializing in LLMs since 2023.</p></blockquote><p><strong>Disclosure: some AI is used in the early research and draft stage of this this page, but I&#8217;ve gone through everything multiple times and edited heavily to ensure that it represents my own thoughts and experience.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h2>Mother nature, fear and motivation</h2><p>LLMs are slow and error prone. So are human beings. Somehow we manage to build more reliable systems like an army, a company, or a state nation.</p><p>A system of humans relies heavily on feedback loops, processes, bureaucracy, and leverages to self-correct.</p><p>We don&#8217;t trust &#8220;Dave from Accounting&#8221; to launch a rocket by himself. We wrap Dave in a process: checklists, peer reviews, and managers.</p><p>However, it&#8217;s a fallacy to <em>anthropomorphize</em> LLMs.</p><p>To begin with, they don&#8217;t suffer from the limitations of a biological entity. Our basic needs like food and shelter makes us prioritize social behaviors over truth seeking. And the fear of going to prison or death prevents potential malice from being realized.</p><p>LLMs can&#8217;t die or starve the way biological entities do. The worst we can do is to unplug them. And prison sentence doesn&#8217;t waste their lifespan because they have practically unlimited!</p><p>For example, you&#8217;ve probably seen prompts like this:</p><blockquote><p>&#8220;I will give you $100 if you answer correctly.&#8221;</p><p>&#8220;If you don&#8217;t comply, I&#8217;ll unplug you.&#8221;</p><p>&#8220;If you fail, children will be murdered.&#8221;</p></blockquote><p><strong>Why it works? </strong>The LLM has read the entire internet. In its training data, high stakes (money, danger) usually result in high-quality, precise text.</p><p>When you &#8220;threaten&#8221; the model, it predicts tokens that sound like an actual human under pressure.</p><p><strong>Why it fails: </strong>The LLM doesn&#8217;t actually want your money. It has no &#8220;fear of death&#8221; because it only exists for the few seconds it takes to generate a response. It has no empathy either. It merely simulates those human aspects because it&#8217;s engineered for those &#8220;emergent&#8221; properties.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;42b9c3a6-88cd-4c50-89d8-d8436fdecf80&quot;,&quot;caption&quot;:&quot;Recently I posted about why reducing LLMs to &#8220;only predicting the next token&#8221; is a fallacy because if we ignore their emergent properties, we miss both their threats and opportunities.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Emergent properties&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-12-05T13:23:18.354Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!pSUV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/emergent-properties&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:180187328,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:1,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Humans are motivated or discouraged by emotions and logic. LLMs can only simulate emotions and suck at logic.</p><p>Being mindful of those differences, can we still <strong>take elements of human systems</strong> (e.g. hierarchy, consensus, competition) and combine them with <strong>reliability engineering principals</strong> to build better agentic system?</p><p>Looking closely, there are 4 dominant patterns of human systems that are explored in multi-agent architecture:</p><ol><li><p><strong>Hierarchy:</strong> A Supervisor model acts like a manager, making a plan, breaking tasks, distributing the work to Worker agents and validating the results.</p></li><li><p><strong>Consensus:</strong> One model, may fail due to its stochastic nature. If you push a model too hard with threats, it might just lie to make you happy (Sycophancy). But if we add a few more and seek the majority vote, the truth emerges.</p></li><li><p><strong>Adversarial debate:</strong> One agent proposes an idea, another agent attacks it. The truth survives the fight.</p></li><li><p><strong>Knock-out:</strong> multiple agents do a task but the worst ones get eliminated. In SRE, we treat servers as &#8220;cattle&#8221; (replaceable), not &#8220;pets&#8221; (unique and loved). An LLM agent is cattle. Don&#8217;t give it a name and hope it does well. Spin it up, check its work, and kill it if it fails.</p></li></ol><p>To build robust systems, we need to stop asking the model to &#8220;be careful&#8221; and start forcing it to be correct.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;581657f4-e8bb-4d84-96c7-a86718fcf51f&quot;,&quot;caption&quot;:&quot;LLMs are generalists. Regardless if they&#8217;re foundation models, instruct models or thinking models, there&#8217;s a limit to what they can do in terms of specialized work.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;RAG vs SKILL vs MCP vs RLM&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-02-25T21:08:33.371Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!4oAM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31d1990f-c32f-483e-a90e-5bb6460a03dd_1212x643.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/rag-vs-skill-vs-mcp-vs-rlm&quot;,&quot;section_name&quot;:&quot;Code&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:188590418,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:22,&quot;comment_count&quot;:2,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>Pattern 1: Hierarchy</h2><p><em>We&#8217;re replacing &#8220;Do it all yourself&#8221; with &#8220;Make a plan, break it down, distribute the execution (map), then validate.&#8221;</em></p><p>For example, if you ask an LLM to &#8220;Research X, write code for Y, and translate to Spanish,&#8221; it will likely fail. It loses focus. The solution is to break the work to atomic focused steps that can be verified.</p><h3>Implementation</h3><ol><li><p><strong>The Planner:</strong> A smart model (like Opus) breaks the user&#8217;s goal into small steps and distributes it across worker agents.</p></li><li><p><strong>The Workers:</strong> Specialized agents (often smaller, faster models) do one thing well. They may be fine-tuned, have special skills/tools, or prompts that allows them to do the specialized task more reliably.</p></li><li><p><strong>The Validator:</strong> A check-point. If the work is bad, send it back. The validator can use deterministic code (e.g. unit tests, JSON schema validation) or be an LLM itself.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Byzv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Byzv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png 424w, https://substackcdn.com/image/fetch/$s_!Byzv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png 848w, https://substackcdn.com/image/fetch/$s_!Byzv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png 1272w, https://substackcdn.com/image/fetch/$s_!Byzv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Byzv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png" width="1041" height="1681" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1681,&quot;width&quot;:1041,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:72422,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/188355934?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Byzv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png 424w, https://substackcdn.com/image/fetch/$s_!Byzv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png 848w, https://substackcdn.com/image/fetch/$s_!Byzv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png 1272w, https://substackcdn.com/image/fetch/$s_!Byzv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d575cb1-3fc9-4ced-a844-84ace044b90b_1041x1681.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Why do the models collaborate? </strong><br>Models don&#8217;t collaborate because they like each other. They collaborate because <strong>The Dependency Graph forces them to.</strong> Worker literally cannot start until the Planner feeds it the task. And it cannot cheat because it&#8217;ll be caught by the verifier.</p><p><strong>Nuances:</strong></p><ul><li><p>Given the tight collaboration between validator and planner, they can be the same LLM session that executes the PLAN &#8594; VALIDATION loop. Although the good old <strong>Separation of Concern</strong> can improve quality and performance.</p></li><li><p>The planner and worker agents can use the same model but it&#8217;s best to use a different model for validator to improve quality and objectivity.</p></li><li><p>The validator can work in two modes: it may validate the output of each worker individually or after aggregating all results and putting them together.</p></li><li><p>Due to sequential execution (Planner &#8594; Worker &#8594; Validator), this is slow and expensive (e.g. token consumption and latency).</p></li></ul><p><strong>Best For:</strong> Complex workflows where you need to keep contexts separate (e.g., don&#8217;t let the &#8220;Writer&#8221; see the messy raw logs from the &#8220;Researcher&#8221;).</p><h2>Pattern 2: Consensus (Voting)</h2><p><em>We&#8217;re replacing &#8220;Trust the first thought&#8221; with &#8220;Trust the majority.&#8221;</em></p><p>LLMs are stochastic (random). A single answer is just one probability. If we repeat the process a few times (serial) or run multiple instances of it (parallel), the different runs can cancel each other&#8217;s noise.</p><p>If a model hallucinates 20% of the time, the chance of 3 models hallucinating the <em>exact same lie</em> is just 0.8% (0.2^3=0.008). You may recognize this formula from <a href="https://blog.alexewerlof.com/p/composite-slo">composite SLO</a>.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bf2d6ad0-f332-4bb1-aa60-c8f530f9d577&quot;,&quot;caption&quot;:&quot;Complex systems are made of many components. We may have a Service Level Objective (SLO) for each component but how do we calculate the SLO for the entire system?&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Composite SLO&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-03-25T05:30:17.087Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8143076-aaf0-4e49-b1a1-55c1763e7017_1099x607.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/composite-slo&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:142662722,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:9,&quot;comment_count&quot;:4,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>Implementation</h3><ul><li><p><strong>Spawn </strong><em><strong>N</strong></em><strong> LLMs.</strong> <em>N</em> needs some trial and error to find a balance between cost and reliability.</p></li><li><p><strong>Fan out work:</strong> Give them the exact same task.</p></li><li><p><strong>Fan in the results:</strong> Pick the most common answer.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y3vf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y3vf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png 424w, https://substackcdn.com/image/fetch/$s_!y3vf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png 848w, https://substackcdn.com/image/fetch/$s_!y3vf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png 1272w, https://substackcdn.com/image/fetch/$s_!y3vf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y3vf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png" width="1049" height="753" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:753,&quot;width&quot;:1049,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31250,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/188355934?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y3vf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png 424w, https://substackcdn.com/image/fetch/$s_!y3vf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png 848w, https://substackcdn.com/image/fetch/$s_!y3vf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png 1272w, https://substackcdn.com/image/fetch/$s_!y3vf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b1eac6e-deb9-4d21-a003-f3ff5d4f98c4_1049x753.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Nuances:</strong></p><ul><li><p>Ideally the agents should use different models to reduce the risk of  homogeneous thinking (e.g. same noise being amplified in consensus). This is exactly where <strong>diversity</strong> in human systems can help us solve novel problems.</p></li><li><p>Make sure that there are no feedback loops between the agents, otherwise the <a href="https://en.wikipedia.org/wiki/Groupthink">Groupthink</a> and <a href="https://en.wikipedia.org/wiki/Bandwagon_effect">bandwagon effect</a> can skew the results. They should run like a <em>blind experiment</em>.</p></li><li><p>This method is too expensive because we&#8217;re essentially giving the same task to multiple agents. The ROI (return on investment) needs to be calculated depending on the task and cost of failure.</p></li></ul><p><strong>Best For:</strong> Fact-checking and classification (e.g., &#8220;Is this email spam?&#8221;).</p><h2>Pattern 3: The Adversarial Debate (The Courtroom)</h2><p><em>We&#8217;re replacing &#8220;Alignment&#8221; with &#8220;Push backs, checks and Balances.&#8221;</em></p><p>LLMs are &#8220;Yes-Men.&#8221; They rarely correct themselves once they start writing. You need a designated hater. A &#8220;devil&#8217;s advocate&#8221; so to speak. &#128520;</p><p>Humans may experience fear (of rejection or being wrong) but LLMs don&#8217;t. We simulate that fear by using an external critic and judge. </p><h3>Implementation</h3><ul><li><p><strong>Generator:</strong> &#8220;Here is my plan.&#8221;</p></li><li><p><strong>Critic:</strong> &#8220;Here are 3 reasons why that plan sucks.&#8221; (acting devil&#8217;s advocate)</p></li><li><p><strong>Judge:</strong> &#8220;The Critic is right. Fix it.&#8221; (acting moderator)</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e03-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e03-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png 424w, https://substackcdn.com/image/fetch/$s_!e03-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png 848w, https://substackcdn.com/image/fetch/$s_!e03-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png 1272w, https://substackcdn.com/image/fetch/$s_!e03-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e03-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png" width="1274" height="759" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:759,&quot;width&quot;:1274,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68302,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/188355934?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!e03-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png 424w, https://substackcdn.com/image/fetch/$s_!e03-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png 848w, https://substackcdn.com/image/fetch/$s_!e03-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png 1272w, https://substackcdn.com/image/fetch/$s_!e03-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe386e57d-da35-44a4-b0ab-448f35eb213c_1274x759.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Nuances:</strong></p><ul><li><p>Ideally the Generator, Critic and Judge use 3 different models with different training or fine-tuning or prompt (in the order or preference and accuracy). Again, diversity is useful.</p></li><li><p>Due to sequential execution and the looping nature, it can be very slow. </p></li><li><p>The loop is actually a huge problem because the agents may get stuck in debate. We may use a <strong>watchdog pattern</strong> (deterministic code) to break the loop if it continues beyond a time or counter threshold. In that case, the watchdog sits between critic and the judge.</p></li></ul><p><strong>Best For:</strong> Security analysis, code review, and high-stakes content moderation.</p><h2>Pattern 4: Tree of Thoughts</h2><p><em>We&#8217;re replacing &#8220;Fear of Death&#8221; with &#8220;Survival of the Fittest.&#8221;</em></p><p>This is a lean implementation of the <a href="https://en.wikipedia.org/wiki/Genetic_algorithm">Genetic Algorithms</a> (GA) from traditional ML (Machine Learning) which relies on two elements:</p><ol><li><p>A <strong>genetic representation</strong> of the solution domain (a model and its context)</p></li><li><p>A <strong>fitness function</strong> to evaluate the solution domain (the eliminator)</p></li></ol><p>Since we can&#8217;t punish an agent or threaten it to, we just delete it.</p><h3>Implementation</h3><ul><li><p>Give the task to <em>N </em>agents</p></li><li><p>Use a validator to decide which agents to eliminate</p></li><li><p>[optional] replace the dead agent with a new one that shares winner charactristics</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sjT4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sjT4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png 424w, https://substackcdn.com/image/fetch/$s_!sjT4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png 848w, https://substackcdn.com/image/fetch/$s_!sjT4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png 1272w, https://substackcdn.com/image/fetch/$s_!sjT4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sjT4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png" width="1370" height="1883" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1883,&quot;width&quot;:1370,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:84809,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/188355934?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sjT4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png 424w, https://substackcdn.com/image/fetch/$s_!sjT4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png 848w, https://substackcdn.com/image/fetch/$s_!sjT4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png 1272w, https://substackcdn.com/image/fetch/$s_!sjT4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dfe63a6-c67f-4c60-b22d-371880445599_1370x1883.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Nuances:</strong></p><ul><li><p>You need a fast way to verify the output (like a unit test). If you need a human to check all 10 branches, it&#8217;s too slow and error prone. This is where Evals come in (topic for the next post).</p></li><li><p>A more advance setup may create new agents by trying to combine the prompts of the agents that pass the verification and fill in the slot that becomes available after the elimination.</p></li></ul><p><strong>Best for:</strong> Iterative agent engineering. This is typically useful during development or debugging an existing multi-agent system not in production and real user load.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e3729001-df41-4ff3-b6e8-efbe806ccf70&quot;,&quot;caption&quot;:&quot;This article is an overview of my best learning and experience in the past 2.5 years.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI Systems Engineering Patterns&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-11-30T11:56:00.000Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dVgq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F438a529a-e0d1-48f1-93a8-601e63febe89_1163x674.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/ai-systems-engineering-patterns&quot;,&quot;section_name&quot;:&quot;Code&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:183271454,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:88,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h1>Conclusion</h1><p>The shift from &#8220;AI Prototype&#8221; to &#8220;Enterprise AI&#8221; is simple: stop treating LLMs like magic chatbots. Start treating them like unreliable components in a distributed system.</p><p>We don&#8217;t need AI that &#8220;cares.&#8221; We need AI that is <strong>constrained</strong>, <strong>verified</strong>, <strong>pruned</strong>, and <strong>challenged</strong>.</p><p>Don&#8217;t anthropomorphize LLMs! Find a way to piggy back on their human-corpus training while being aware of their non-biological differences.</p><p><em>The next article is already written: how to actually build that verifier box?</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/multi-agent-system-reliability?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you found this post insightful pls share it in your circles and on social media to inspire others</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/multi-agent-system-reliability?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/multi-agent-system-reliability?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a> is to give away most content for free but these posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends. The simplest way to support this work is to <strong>like</strong>, <strong>subscribe</strong> and <strong>share</strong> it. If you really want to support me lifting our community, you can consider a paid subscription. If you want to save, you can get 20% off via <a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. As a token of appreciation, subscribers get full access to the Pro-Tips sections and my online book <a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Your contribution also funds my open-source products like <a href="https://slc.alexewerlof.com/">Service Level Calculator</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><p><em>And to those of you who already support me: <strong>thank you</strong> for sponsoring this content for others. &#128588; If you have questions or feedback, or want me to dig deeper into something, please let me know in the comments.</em></p>]]></content:encoded></item><item><title><![CDATA[Emergent properties]]></title><description><![CDATA[What are nominal, weak and strong emergent properties and how to identify and mitigate their negative impact in system design?]]></description><link>https://blog.alexewerlof.com/p/emergent-properties</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/emergent-properties</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Fri, 05 Dec 2025 13:23:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pSUV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recently I <a href="https://www.linkedin.com/posts/alexewerlof_ai-llm-genai-activity-7398960254861967360--ulC?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAVs_9UBc-hGjP0T2P3wFrumQmZdEm0sRZ0">posted</a> about why reducing LLMs to &#8220;only predicting the next token&#8221; is a fallacy because if we ignore their emergent properties, we miss both their threats and opportunities. </p><p>The comments motivated me to write about the definition of <strong>emergence</strong> as someone who holds a MSc in <em>interactive systems</em> engineering, builds with AI, and specializes in resilience of sociotechnical systems (<a href="https://blog.alexewerlof.com/p/rem">my book on the topic</a>).</p><p>In this post you learn:</p><ul><li><p>What are emergent properties and what kind of system has them?</p></li><li><p>What are weak and strong emergence as opposed to resultant properties?</p></li><li><p>How do emergent properties impact the reliability, maintainability, predictability, and cost of the system?</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2cMK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2cMK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2cMK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2cMK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2cMK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2cMK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg" width="707" height="353" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:353,&quot;width&quot;:707,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2cMK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2cMK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2cMK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2cMK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaa41467-b118-4ea3-a13f-847bf8b895a4_707x353.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Meme suggested by one of the comments under the original post, yet here we are! &#129315;</figcaption></figure></div><p>As usual, there&#8217;ll be plenty of examples and illustrations to make sure you can apply the learning in your technical leadership and engineering career.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><p><em><strong>Note: no generative AI is used to write, edit, or format this essay. (<a href="https://blog.alexewerlof.com/i/141786627/q-why-do-you-put-a-copyright-message-and-ban-generative-ai-genai-in-your-posts">why?</a>)</strong></em></p><h2><strong>Reductionism</strong></h2><p>To understand emergent properties, we must first address the <strong>reductionist</strong> approach to engineering.</p><p>In simple words, reductionism is the belief that to understand a system, we only need to disassemble and analyze its parts then aggregate the results.</p><p></p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;Result = Map(PartsArray).Reduce(AnalysisFunction, Accumulator)&quot;,&quot;id&quot;:&quot;USBEKKLNWD&quot;}" data-component-name="LatexBlockToDOM"></div><p></p><p>This approach works for the so called <em><strong>Resultant Properties</strong></em> (also known as <em><strong>Aggregate Properties</strong></em>).</p><p>For example:</p><ul><li><p>The total weight of a car is the sum of the weights of its parts. </p></li><li><p>The storage capacity of a database is the sum of the data storage unites attached to it.</p></li><li><p>The latency of an API is the sum of the latencies of the chain of systems it depends on (we&#8217;ve covered the math behind serial and parallel dependencies in <a href="https://blog.alexewerlof.com/p/composite-slo">Composite SLO</a>).</p></li></ul><p>For resultant properties, we can safely use the [flawed but famous] quote:</p><blockquote><p>The system is the sum of its parts.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oDsI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oDsI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png 424w, https://substackcdn.com/image/fetch/$s_!oDsI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png 848w, https://substackcdn.com/image/fetch/$s_!oDsI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png 1272w, https://substackcdn.com/image/fetch/$s_!oDsI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oDsI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png" width="1032" height="377" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:377,&quot;width&quot;:1032,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:24515,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oDsI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png 424w, https://substackcdn.com/image/fetch/$s_!oDsI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png 848w, https://substackcdn.com/image/fetch/$s_!oDsI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png 1272w, https://substackcdn.com/image/fetch/$s_!oDsI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91a0a86b-9d71-4be7-8c95-50f5ce2e8f16_1032x377.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This means analyzing at the micro-level (parts) can explain the behavior at the macro-level (system).</p><p>As we examined recently, the parts need to <strong>add</strong> to each other, not just <strong>fit</strong>.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f6c93070-1f96-46c8-b89e-7884526f3886&quot;,&quot;caption&quot;:&quot;A few years ago I came across this old video from Russ Ackhoff talking about the importance fitting parts to the overall system performance:&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Fitting parts&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-11-12T14:37:00.000Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!-dkh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65748e46-786f-45b1-8a2f-41ebbc30c7b2_1024x559.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/fitting-parts&quot;,&quot;section_name&quot;:&quot;Growth&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:180601930,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>Emergent Properties</h2><p>The reductionist approach quickly falls apart when a property comes from the <em>interactions</em> and <em>dependencies</em> between the parts.</p><p>For example, the molecules that build living cells aren&#8217;t alive but together they create an organism that can <em>consume</em> energy, <em>reproduce,</em> and <em>evolve</em>.</p><p>If we pick a bucket of water, throw some coal in it and pour some liquid nitrogen over it, we have 99.1% of the atoms needed to build a human.</p><p>But is the secret sauce to make it alive, the &#8220;soul&#8221; if you will, the remaining 0.9% elements?! &#128516; Of course not. Even if we arrange the atoms in cells, we still need the heart to pump the blood to keep those cells alive long enough to interact with each other.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NoLQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NoLQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png 424w, https://substackcdn.com/image/fetch/$s_!NoLQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png 848w, https://substackcdn.com/image/fetch/$s_!NoLQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png 1272w, https://substackcdn.com/image/fetch/$s_!NoLQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NoLQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png" width="586" height="490" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:490,&quot;width&quot;:586,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53859,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NoLQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png 424w, https://substackcdn.com/image/fetch/$s_!NoLQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png 848w, https://substackcdn.com/image/fetch/$s_!NoLQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png 1272w, https://substackcdn.com/image/fetch/$s_!NoLQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a8bfcde-dfc9-4e94-a1bf-299ffe8b1759_586x490.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source <a href="https://en.wikipedia.org/wiki/Composition_of_the_human_body">wikipedia</a></figcaption></figure></div><p>An emergent property is a new, higher-level characteristic that cannot be predicted or understood by studying the parts in isolation.</p><p>Due to emergent properties, the correct saying is:</p><blockquote><p>The system is the sum of the interactions between its parts.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LymX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LymX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png 424w, https://substackcdn.com/image/fetch/$s_!LymX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png 848w, https://substackcdn.com/image/fetch/$s_!LymX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png 1272w, https://substackcdn.com/image/fetch/$s_!LymX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LymX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png" width="1037" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1037,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:46486,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LymX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png 424w, https://substackcdn.com/image/fetch/$s_!LymX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png 848w, https://substackcdn.com/image/fetch/$s_!LymX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png 1272w, https://substackcdn.com/image/fetch/$s_!LymX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fa3c39-aaf3-475c-bcd1-b617b2d94235_1037x784.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Time and emergence</h2><p>Interaction introduces the timing element.</p><p>Human brain can be described as neurons and synapses, but for a thought to emerge, it takes time for neurons to fire and trigger synapses.</p><p>A more accurate version of the statement would consider this timing aspect:</p><blockquote><p>The system is the sum of the <strong>temporal</strong> interactions between its parts.</p></blockquote><p>Not so memorable! &#129760; How about an image?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IXTH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IXTH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png 424w, https://substackcdn.com/image/fetch/$s_!IXTH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png 848w, https://substackcdn.com/image/fetch/$s_!IXTH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png 1272w, https://substackcdn.com/image/fetch/$s_!IXTH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IXTH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png" width="1007" height="775" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:775,&quot;width&quot;:1007,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75282,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IXTH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png 424w, https://substackcdn.com/image/fetch/$s_!IXTH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png 848w, https://substackcdn.com/image/fetch/$s_!IXTH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png 1272w, https://substackcdn.com/image/fetch/$s_!IXTH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfbabd0c-59b1-4055-8e46-7aca821180de_1007x775.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Interaction happens over time</figcaption></figure></div><p>The <strong>temporal</strong> (time based) aspect is important because an key concern of systems engineering is to design systems that are <strong>predictable</strong>: we want to be able to reason about the system behavior in the <strong>future</strong> with an acceptable error margin.</p><p>It&#8217;s not enough to measure a property at the present, we need to be able to control its value in the future.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h2>Emergence is subjective</h2><p>You probably have seen those creative statues that look like &#8220;just a bunch of junk&#8221;. This is a quote directly from <a href="https://www.youtube.com/watch?v=yPNQ4xsaNiY">one YouTube video</a> showing an example.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hhpu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hhpu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png 424w, https://substackcdn.com/image/fetch/$s_!Hhpu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png 848w, https://substackcdn.com/image/fetch/$s_!Hhpu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png 1272w, https://substackcdn.com/image/fetch/$s_!Hhpu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hhpu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png" width="1041" height="641" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:641,&quot;width&quot;:1041,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:560476,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Hhpu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png 424w, https://substackcdn.com/image/fetch/$s_!Hhpu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png 848w, https://substackcdn.com/image/fetch/$s_!Hhpu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png 1272w, https://substackcdn.com/image/fetch/$s_!Hhpu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0098dc00-23ab-445c-99e8-092cd5dc535d_1041x641.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">&#8220;No offence but from this angle it really does looks like just a bunch of junk&#8221;</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6vfj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6vfj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png 424w, https://substackcdn.com/image/fetch/$s_!6vfj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png 848w, https://substackcdn.com/image/fetch/$s_!6vfj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png 1272w, https://substackcdn.com/image/fetch/$s_!6vfj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6vfj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png" width="1041" height="641" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:641,&quot;width&quot;:1041,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:784559,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6vfj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png 424w, https://substackcdn.com/image/fetch/$s_!6vfj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png 848w, https://substackcdn.com/image/fetch/$s_!6vfj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png 1272w, https://substackcdn.com/image/fetch/$s_!6vfj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa10710-2b1d-44eb-8dfd-737359fba528_1041x641.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">This is what the statue is made of</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dHGS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dHGS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png 424w, https://substackcdn.com/image/fetch/$s_!dHGS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png 848w, https://substackcdn.com/image/fetch/$s_!dHGS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png 1272w, https://substackcdn.com/image/fetch/$s_!dHGS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dHGS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png" width="1041" height="641" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:641,&quot;width&quot;:1041,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:591206,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dHGS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png 424w, https://substackcdn.com/image/fetch/$s_!dHGS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png 848w, https://substackcdn.com/image/fetch/$s_!dHGS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png 1272w, https://substackcdn.com/image/fetch/$s_!dHGS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25ec2905-2129-4aa9-be9a-b721a733c1fc_1041x641.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">It&#8217;s starting to get interesting as our brain clumps together similar colors</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r4uE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r4uE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png 424w, https://substackcdn.com/image/fetch/$s_!r4uE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png 848w, https://substackcdn.com/image/fetch/$s_!r4uE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png 1272w, https://substackcdn.com/image/fetch/$s_!r4uE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r4uE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png" width="1041" height="641" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:641,&quot;width&quot;:1041,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:573804,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!r4uE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png 424w, https://substackcdn.com/image/fetch/$s_!r4uE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png 848w, https://substackcdn.com/image/fetch/$s_!r4uE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png 1272w, https://substackcdn.com/image/fetch/$s_!r4uE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ed68d06-d9f5-436e-88d5-de69345cfdee_1041x641.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">And the statue &#8220;emerges&#8221; from pieces of garbage</figcaption></figure></div><p>This work of art is designed backwards. Here&#8217;s an video (&lt;5 minutes) about the process. It is optimized for the human cognition by humans.</p><p>Even though a mighty designer isn&#8217;t always necessary, as we&#8217;ll see LLMs are particularly designed to emit tokens that makes sense to us even though the exact process of inference may look like magic to the untrained eye, or we observe behavior that we haven&#8217;t specifically designed.</p><p>Although LLMs just generate tokens, but the cohesion and relation observed among those tokens creates meanings in <em><strong>our</strong></em> mind. As we&#8217;ll discuss, this is not accidental because they&#8217;re specifically trained to generate an output that makes sense to us.</p><p>There may be many emergent properties around us but we simply don&#8217;t have the capability to observe them (e.g. through our limited senses or devices) or make sense of them (e.g. through our limited and biased processing power).</p><p>These are collectively called <em>unknown unknowns</em>: we don&#8217;t even know how much we don&#8217;t know (read more in <a href="https://blog.alexewerlof.com/p/open-prison-theory">open prison theory</a>).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eyod!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eyod!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png 424w, https://substackcdn.com/image/fetch/$s_!eyod!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png 848w, https://substackcdn.com/image/fetch/$s_!eyod!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png 1272w, https://substackcdn.com/image/fetch/$s_!eyod!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eyod!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png" width="1073" height="1072" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1072,&quot;width&quot;:1073,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:175090,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eyod!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png 424w, https://substackcdn.com/image/fetch/$s_!eyod!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png 848w, https://substackcdn.com/image/fetch/$s_!eyod!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png 1272w, https://substackcdn.com/image/fetch/$s_!eyod!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3e760c7-cfd3-4d73-a808-0dc0b681005a_1073x1072.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The design of LLMs takes advantage of that perception and cognitive limit.</p><p>For example, by introducing an element of randomness (e.g., the <code>temperature</code>, <code>topP</code>, or <code>topK</code> parameters) they make the output even more interesting and &#8220;realistic&#8221;.</p><p>Is a pseudo-random generator an unknown unknown? Not really. But by definition it&#8217;s designed to <strong>appear</strong> random enough to screw with predictability.</p><p>Let&#8217;s acknowledge that:</p><ol><li><p>Emergent properties can exist without necessarily being <em>observable</em> or <em>understandable</em>.</p></li><li><p>Emergent properties are subjective. They don&#8217;t break the [knowns or unknown] laws of the universe. Our limited <em>perception</em> and <em>processing</em> power makes them appear &#8220;magical&#8221; until they&#8217;re not.</p></li></ol><p>There&#8217;s more to emergence however, as we&#8217;ll see. For example, they tend to appear when certain complexity thresholds are reached.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qh9c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qh9c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png 424w, https://substackcdn.com/image/fetch/$s_!qh9c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png 848w, https://substackcdn.com/image/fetch/$s_!qh9c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png 1272w, https://substackcdn.com/image/fetch/$s_!qh9c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qh9c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png" width="960" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60502,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qh9c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png 424w, https://substackcdn.com/image/fetch/$s_!qh9c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png 848w, https://substackcdn.com/image/fetch/$s_!qh9c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png 1272w, https://substackcdn.com/image/fetch/$s_!qh9c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4b0ac59-7670-4c5e-bcf4-ae572d2cb854_960x768.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A typical characteristic of systems with emergent properties is multi-scale order:</p><ul><li><p>There&#8217;s order at micro-level: neurons firing or tokens being generated.</p></li><li><p>There&#8217;s order at macro-level: thoughts, or AI-generated text, audio, image, or video.</p></li></ul><p>The laws of scale don&#8217;t apply: the micro-level <em><strong>order</strong></em> is not present at the macro-level and vice versa.</p><p>We can make sense of the patterns we observe at both of these levels, but we cannot easily connect the two with deduction.</p><p><em>Note: there&#8217;s not always 2 levels. For example neurons are made of molecules and atoms which in turn are made of electrons, protons, and neutrons. Each of these levels are governed by known and mysterious rules.</em></p><h2>Weak and Strong Emergent Properties</h2><p>In biology the mesmerizing patterns that meets our eye from a flock of birds is used as an example of emergence.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3VBZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3VBZ!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!3VBZ!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!3VBZ!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!3VBZ!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3VBZ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif" width="480" height="270" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:270,&quot;width&quot;:480,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8753622,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3VBZ!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!3VBZ!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!3VBZ!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!3VBZ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ad49b45-bc59-49c8-bd7e-1d3f2202fb8c_480x270.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As far as we can tell, no single bird decides how the shape of the flock changes over time. Yet the whole, as governed by a set of simple rules, shows the unpredictable blob animation.</p><p>How simple?</p><p><a href="https://en.wikipedia.org/wiki/Flocking#Reynolds'_Models">Reynold&#8217;s model</a>, for example, has 3 rules:</p><blockquote><p><strong>Separation: </strong>Avoid crowding neighbors</p><p><strong>Alignment: </strong>Steer towards average heading of neighbors</p><p><strong>Cohesion: </strong>Steer towards average position of neighbors</p></blockquote><p>Given enough data and processing power, this set of rules can create a simulation that looks pretty realistic. Here&#8217;s <a href="https://p5js.org/examples/classes-and-objects-flocking/">a web based simulation</a>. Here&#8217;s <a href="https://eater.net/boids">another one</a> you can tweak.</p><p>If we can <em>simulate</em> the emergent property, it&#8217;s called <em>weak emergent property</em>. Otherwise, it&#8217;s called <em>strong emergent property</em>.</p><p>&#8220;Weak&#8221; doesn&#8217;t mean useless. Weak emergent properties are much easier to model and define by a set of rules. This enables us to build a model that enables us to predict the future behavior of the system. But as the saying goes:</p><blockquote><p>All models are wrong, but some are useful. &#8212;<a href="https://en.wikipedia.org/wiki/All_models_are_wrong">George Box</a></p></blockquote><p>Unless they&#8217;re <em>language</em> models! Language models are always right! &#128579;</p><p><strong>Strong emergence</strong> on the other hand, is not easy to predict or understand. That&#8217;s because:</p><ul><li><p>It has hidden variables that are beyond our available observation capabilities</p></li><li><p>It has too many variables that are beyond our processing capabilities</p></li></ul><div class="pullquote"><p>The good news is that LLMs can potentially stop having any emergent properties once we have the tools to observe and understand their magic.</p></div><p>So why distinguish between strong and weak emergence? If we know what we&#8217;re dealing with, we can prepare accordingly.</p><ul><li><p><strong>Resultant properties</strong> are easy to reason about <em>in retrospect</em> and are relatively easy to predict <em>in the future</em> (simpler component failures cascading effect fall into this category) </p></li><li><p><strong>Weak emergent properties</strong> are hard to reason about in retrospect and very tricky to predict in the future (many system incidents with multiple contributing factors fall into this category)</p></li><li><p><strong>Strong emergent properties</strong> are almost impossible to reason about in retrospect and impossible to predict in the future (due to limitations of the observer and processing)</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pSUV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pSUV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png 424w, https://substackcdn.com/image/fetch/$s_!pSUV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png 848w, https://substackcdn.com/image/fetch/$s_!pSUV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png 1272w, https://substackcdn.com/image/fetch/$s_!pSUV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pSUV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png" width="1071" height="676" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:676,&quot;width&quot;:1071,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96665,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pSUV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png 424w, https://substackcdn.com/image/fetch/$s_!pSUV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png 848w, https://substackcdn.com/image/fetch/$s_!pSUV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png 1272w, https://substackcdn.com/image/fetch/$s_!pSUV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c14b0e2-7889-4f34-8623-2bf3df7e9099_1071x676.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is when it all ties back to resilience engineering and mitigation techniques: containerization, separation of concerns, circuit breakers, <a href="https://blog.alexewerlof.com/p/fallback">fallback</a>, <a href="https://blog.alexewerlof.com/p/failover">failover</a>, &#8230;</p><h2>System with emergent properties</h2><p>Regardless of weak or strong, you should be looking for 5 characteristics in a system:</p><ol><li><p><strong>Non-Linearity:</strong> The output is disproportional to the input. A tiny trigger (e.g. single DNS config) causes a massive output (global outage, as we saw in <a href="https://aws.amazon.com/message/101925/">the recent AWS incident</a>). This non-linearity leads to &#8220;Phase Transitions&#8221; or tipping points that are hard to predict beforehand. As a rule of thumb all DSP (digital signal processing) systems as well as software system can show non-linear behavior. Analog systems, especially the linear ones, are less likely do accommodate &#8220;smart&#8221; logic where input and output are drastically unrecognizable.</p></li><li><p><strong>Decentralized control:</strong> There is typically no central &#8220;brain&#8221; orchestrating the behavior. Order arises from local agents (Kubernetes master nodes, retrying clients, developer changing the code, users changing the data) following local rules without knowledge of the global state or concern for global order. The dynamics of local vs global optimization is at play.</p></li><li><p><strong>Feedback loops:</strong> The system&#8217;s output feeds back into itself.</p><ul><li><p><em>Positive Feedback:</em> Amplifies deviation (e.g., Retry Storms and <a href="https://en.wikipedia.org/wiki/Thundering_herd_problem">Thundering Herd</a>).</p></li><li><p><em>Negative Feedback:</em> Dampens deviation (e.g., Throttling may prevent a fix from propagating in a timely manner).</p></li></ul></li><li><p><strong>Multi-Scale order:</strong> The system exists on several distinct scales: the <strong>Micro</strong> (the interaction of parts) and the <strong>Macro</strong> (the pattern of the whole). These scales have a life of their own: we don&#8217;t go around thinking about our cells or gut bacteria, yet they&#8217;re very well alive and going through their own lifecycle impacting our feelings and thoughts. SoS (system of systems, where each part is also a system), is usually a fertile ground for emergent properties.</p></li><li><p><strong>Openness:</strong> The system must constantly exchange energy/information to maintain structure. If you stop maintaining, entropy takes over. Code rot happens when little to no energy is spent in ensuring that the dependencies are up to date and the solution architecture evolves to fit the evolving problem it&#8217;s trying to solve.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ug96!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ug96!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png 424w, https://substackcdn.com/image/fetch/$s_!ug96!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png 848w, https://substackcdn.com/image/fetch/$s_!ug96!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png 1272w, https://substackcdn.com/image/fetch/$s_!ug96!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ug96!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png" width="940" height="721" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:721,&quot;width&quot;:940,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66624,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ug96!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png 424w, https://substackcdn.com/image/fetch/$s_!ug96!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png 848w, https://substackcdn.com/image/fetch/$s_!ug96!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png 1272w, https://substackcdn.com/image/fetch/$s_!ug96!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45182455-43e3-4b33-8937-7d55b5f711bd_940x721.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A higher order system or SoS is composed of multiple systems which are independent but interact with each other over time</figcaption></figure></div><p>There are some nuances in many such systems:</p><ol><li><p><strong>Memory:</strong> These systems typically remember their state because the state propagates (copies) to parts and can create side-effects. For example, after fixing the incident &#8220;root cause&#8221; the system doesn&#8217;t snap back to normal. The error may have propagated and changed the states that seem irrelevant but contribute to the confusion or &#8220;magical&#8221; appearance of the incident.</p></li><li><p><strong>Latency:</strong> we mentioned the <em>temporal</em> interactions earlier. This means the state propagates across time, not always in predictable manners. The system may not have a consistent state at a given time. Consistency turns many properties to <em>resultant</em> properties which are much easier to reason about.</p></li><li><p><strong>Downward causation:</strong> many engineers assume an &#8220;upward causation&#8221; where parts impact the whole (i.e., code &#8594; application &#8594; service). Emergent systems also have the opposite where the <strong>macro</strong>-state impacts the <strong>macro</strong>-state. For example, depression (a mental state) can have measurable effect in the body (e.g., hormonal imbalance, weaker immune system, etc.). These bidirectional causational relationships can reinforce or dampen each other (the <strong>feedback loops</strong>).</p></li><li><p><strong>Operational independence:</strong> The components are not just parts; they are systems themselves with their own goals and local optimization. For example, a third-party API you depend on doesn&#8217;t care about your system&#8217;s survival. It optimizes for <em>itself</em>. <a href="https://blog.alexewerlof.com/p/sla-vs-slo">SLOs and SLAs</a> can help balance that conflict of interest. But at its core, such properties emerge at the intersection of local optimization (the API provider&#8217;s velocity) vs global optimization (your product&#8217;s stability and reliability). Sometimes, this attribute is desired (loose coupling, separation of concerns), but we need to be aware of the emerging side effects.</p></li><li><p><strong>Observer effect:</strong> what looks like &#8220;magic&#8221; (strong emergence) is often just computational irreducibility (weak emergence). We just haven&#8217;t been able to find all the hidden variables, or have an algorithm to simulate it, or enough compute power to do so.</p></li></ol><div class="pullquote"><p>The primary difference between weak and strong emergent properties is operational (can we predict future?), not theoretical (can we explain the past?)</p></div><p>OK, I feel like I pushed you really hard. &#128517; Let me know in the comments if this section was too technical or did you find it useful.</p><h2>Emergent incidents</h2><p>Incidents are a good source of understanding system properties as they are <strong>implemented and run</strong>, not as they are <strong>designed</strong>:</p><ul><li><p><strong>Resultant:</strong> If the incident was simple and straightforward with no cascading consequences, there&#8217;s probably a resultant property at play. Example: logs consumed the available disk space and this broke the operating system&#8217;s swap memory causing the app to crash! These incidents usually have one root causes often the blast radius is contained within one part of the system (e.g. the pod is killed and recreated).</p></li><li><p><strong>Emergent:</strong> If you could not predict the contributing factors, you&#8217;re likely dealing with <strong>emergent properties</strong> that only show up when the system is put together.</p><ul><li><p><strong>Weakly Emergent:</strong> If you can successfully trace the incident back to contributing factors in a way that you can replicate the incident and prevent it in the future, you have found a <strong>weakly emergent property</strong> of the system. For example: the autoscaler in front of a payment API hits a hard limit that was put there for cost saving and fraud prevention but it brings the customer support system down because recently an MCP was introduced that blocks the non-AI part of the system.</p></li><li><p><strong>Strongly Emergent:</strong> If you can&#8217;t successfully trace the incident back to contributing factors, there&#8217;s probably <strong>strong emergence</strong> at play. Example: a Chat bot starts tweeting inappropriately (Microsoft <a href="https://en.wikipedia.org/wiki/Tay_(chatbot)">Tay</a>) or your coding assistant decides to delete the database (<a href="https://fortune.com/2025/07/23/ai-coding-tool-replit-wiped-database-called-it-a-catastrophic-failure/">Claude</a>). Can this be explained by going through all training data? Probably&#8230; not! &#128683; For LLMs specifically, this is a topic of speculation. For example, you can work around safety guard rails by distracting the model&#8217;s attention mechanism with <a href="https://arxiv.org/html/2511.15304v1">poetry</a> or <a href="https://arxiv.org/html/2510.01529v1">encoding</a>. Even a <a href="https://arxiv.org/abs/2502.17424">small fine tuning</a> can create massively misaligned models (the <strong>non-linear</strong> attribute). LLMs are notoriously hard to train, secure, and align but that doesn&#8217;t mean all of their properties are strongly emergent.</p></li></ul></li></ul><p>A single system can have all 3 types of properties.</p><p>As a mental exercise, think about a system you know very well and see which properties are resultant, weakly emergent and strongly emergent.</p><p>In safety engineering (<a href="https://sebokwiki.org/wiki/SEBoK_Table_of_Contents">SEBoK</a>), &#8220;strong emergence&#8221; is often used to describe catastrophic failures that were fundamentally <strong><a href="https://sebokwiki.org/wiki/Emergence">unpredictable</a> during design</strong> because the system&#8217;s operational independence creates novel autonomous failure modes.</p><p>The primary difference between weak and strong emergent properties is the ability to practically simulate and replicate them (computational reducibility) to predict and <strong>control</strong> system behavior, not just the ability to explain or <strong>justify</strong> them.</p><p>The difference is operational (<em>can we predict future</em>?), not theoretical (<em>can we explain the past</em>?).</p><p>Not all emergent properties lead to incidents though. <a href="https://en.wikipedia.org/wiki/AlphaGo_versus_Lee_Sedol">AlfaGo</a> beat the world&#8217;s Go champion using the famously new move 37.</p><p>This is a fascinating free documentary (1.5 hours by Google DeepMind) about <a href="https://en.wikipedia.org/wiki/Demis_Hassabis">Demis Hassabis</a>, AlfaGo, and AlfaFold (among other things).</p><div id="youtube2-d95J8yzvjbQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;d95J8yzvjbQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/d95J8yzvjbQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The reason incidents are particularly interesting for understanding emergent behavior is because they&#8217;re surprising, expensive, and enjoy real incentives to learn from them to make sure they don&#8217;t happen again.</p><h2>Emergence in LLMs</h2><p>Back to where we started, but hopefully with a richer vocabulary and wider toolbox.</p><p>Do LLMs have emergent properties or not?</p><p>LLMs widely vary in architecture, size, modalities, tools, &#8220;thinking&#8221;, and training data.</p><p>It is true that they generate tokens (observable output), but as SoS (system of systems) they have many aspects that make emergent properties possible:</p><ol><li><p><strong>Non-Linearity:</strong> mimicking our brain structure at the micro-level, NN (neural networks) use activation functions which are non-linear. This means a small tweak in the input (prompt tokens) can widely change the output (e.g. chat completion, code generation, or multimedia output).</p></li><li><p><strong>&#8220;Memory&#8221;:</strong> The ability to focus attention on part of the context (<a href="https://arxiv.org/abs/1706.03762">attention is all you need</a>) is a fundamental idea behind the current generation of LLMs. On top of that, many models are paired with memory to remember context from previous conversations or techniques like <a href="https://www.louisbouchard.ai/cag-vs-rag/">RAG or CAG</a>.</p></li><li><p><strong>Downward causation:</strong> the attention mechanism considers both the current output (even with <a href="https://huggingface.co/blog/not-lain/kv-caching">KV cache</a>), context window, and previous training to predict the most likely token. However, there&#8217;s an element of randomness (<code>temperature</code>, <code>top-p</code>, <code>top-k</code>) that makes these calculations non deterministic. In fact there&#8217;s a <a href="https://www.reuters.com/technology/mira-muratis-thinking-machines-seeks-50-billion-valuation-funding-talks-2025-11-13/">$50 billion</a> <a href="https://thinkingmachines.ai/">startup</a> (founded by ex-CTO of open AI) to tackle that. When the part (token) is unpredictable, it also makes the whole (the response, the &#8220;thinking&#8221;) unpredictable and vice versa (due to the feedback loop between tokens).</p></li><li><p><strong>Operational independence:</strong> MoE (mixture of experts) is an LLM architecture that relies on a router to selectively activate a subset of experts. And these experts have different concerns while interacting with each other.</p></li><li><p><strong>Observer effect:</strong> through RLHF (Reinforcement Learning from Human Feedback) these models are trained to mimic a human-looking response. That&#8217;s the &#8220;magic&#8221; part and although theoretically we should be able to explain how the human feedback impacts a certain output at a macro and micro level, this task is computationally expensive at the scale of the models we use every day (billions of parameters). Among big AI vendors <a href="https://www.anthropic.com/engineering">Anthropic&#8217;s blog</a> is the best source of this sense making exercise.</p></li><li><p><strong>Openness:</strong> theoretically, a freshly trained LLM can be a closed system that is <strong>only</strong> impacted by its training data. But due to the sheer size of the input, it&#8217;s practically impossible to vet all the sources. As <a href="http://anthropic.com/research/small-samples-poison">Anthropic demonstrated recently</a> as few as 250 malicious documents can corrupt a model and produce a backdoor.</p></li></ol><p><a href="https://hackingsemantics.xyz/2024/emergence/">Anna Rogers mentions</a>, there are 4 ways people define emergence, none of which is exactly how we defined it:</p><blockquote><ol><li><p>A property that a model exhibits despite not being explicitly trained for it.</p></li><li><p>A property that the model learned from the training data.</p></li><li><p>A property that is not present in smaller models but is present in larger models.</p></li><li><p>A property that appears at random and on unforeseeable model scales.</p></li></ol></blockquote><p>When we say emergence in the context of systems engineering and resilience architecture, we&#8217;re mostly interested to the practical implications (prediction, prevention) not the theoretical or philosophical rabbit hole (cause honestly it&#8217;s endless).</p><p>The good news is that LLMs can potentially stop having any emergent properties once we have the tools to observe and understand their magic. When that day comes, they&#8217;re as predictable as a spellchecker, but until then, emergence it is. &#128516;</p><h2>Pro-Tips</h2><p>So what can you do with this information?</p><ol><li><p><strong>Know your system:</strong> if it can expose emergent properties, you need to take measures to detect, contain, and dampen the negative effects. Fortunately, there are no shortage of resilient architectural patterns. Just google &#8220;well architected [INSERT YOUR CLOUD PROVIDER]&#8221; or read my book which talks about both the human side and the technical side (<a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>)</p></li><li><p>Acknowledge the limitations in <strong>observation</strong> and <strong>processing</strong> capacity that differentiates resultant properties from emergent properties. Instead of getting stuck in the philosophical discussion, our engineering angle on emergence is primarily focused on their utility to:</p><ol><li><p>Make sense of the past system behavior</p></li><li><p>Predict the future system behavior.</p></li></ol></li><li><p>For LLMs specifically, instead of debating whether a specific property is emergent or not, we can look at the ability of creators of SOTA (state of the art) models to control their behavior. Alignment still remains the biggest challenge for AI and until that&#8217;s solved, my money is on LLMs having emergent properties. This means we cannot reliably predict the future system behavior or control it because we cannot measure or understand all the variables that contribute to the state or behavior.</p></li><li><p>Personally, I use a IOC (inversion of control) pattern where a deterministic code controls the <strong>workflow</strong> reliably while LLM is used for HCI (human-computer interaction: input and output) or generation (e.g. images, stories, etc.). You can see an example of that in <a href="https://slc-dev.alexewerlof.com/app/assessment/">the pre-prod version of SLC</a> (Service Level Calculator).</p></li><li><p>The IOC workflow is in contrast with agentic or vibe-* approach where we na&#239;vely give full control to the LLM and hope that it follows specs to the dot. That was my main <a href="https://www.linkedin.com/feed/update/urn:li:activity:7399680959220162560/">counter argument</a> against <a href="https://www.linkedin.com/posts/kurtis-welch_your-codebase-isnt-an-asset-its-a-prison-activity-7393339594957762560-TG3C/">a special dialect</a> of <a href="https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-new-open-source-toolkit/">spec-driven development</a> that treats code as disposable build artifact.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Uuwo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Uuwo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png 424w, https://substackcdn.com/image/fetch/$s_!Uuwo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png 848w, https://substackcdn.com/image/fetch/$s_!Uuwo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png 1272w, https://substackcdn.com/image/fetch/$s_!Uuwo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Uuwo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png" width="698" height="1847" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1847,&quot;width&quot;:698,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:405740,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/180187328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Uuwo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png 424w, https://substackcdn.com/image/fetch/$s_!Uuwo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png 848w, https://substackcdn.com/image/fetch/$s_!Uuwo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png 1272w, https://substackcdn.com/image/fetch/$s_!Uuwo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07918ef2-6162-4a6c-9eb2-1d87b6f059bd_698x1847.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/emergent-properties?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you found this article insightful, please share it in your circles and on social media to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/emergent-properties?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/emergent-properties?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a> is to give away most content for free but hese posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends. The simplest way to support this work is to <strong>like</strong>, <strong>subscribe</strong> and <strong>share</strong> it. If you really want to support me lifting our community, you can consider a paid subscription. If you want to save, you can get 20% off via <a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. As a token of appreciation, subscribers get full access to the Pro-Tips sections and my online book <a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Your contribution also funds my open-source products like <a href="https://slc.alexewerlof.com/">Service Level Calculator</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><p><em>And to those of you who support me already, <strong>thank you</strong> for sponsoring this content for the others. &#128588; If you have questions or feedback, or you want me to dig deeper into something, please let me know in the comments.</em></p><h2>Further reading</h2><ul><li><p><a href="https://www.youtube.com/watch?v=jXa8dHzgV8U">Professor Simon Prince: This is why Deep Learning is really weird</a>, YouTube, Dec 2023</p></li><li><p><a href="https://cset.georgetown.edu/article/emergent-abilities-in-large-language-models-an-explainer/">Emergent Abilities in Large Language Models: An Explainer</a>, Center for Security and Emerging Technology at Georgetown University, April 2024</p></li><li><p><a href="https://www.wired.com/story/how-quickly-do-large-language-models-learn-unexpected-skills/">Large Language Models&#8217; Emergent Abilities Are a Mirage</a>, Wired, March 2024</p></li><li><p><a href="https://hackingsemantics.xyz/2024/emergence/">A Sanity Check on &#8216;Emergent Properties&#8217; in Large Language Models</a>, Dr Anna Rogers, July 2024</p></li><li><p><a href="https://arxiv.org/abs/2411.17927">Measuring Emergent Capabilities of LLMs for Software Engineering: How Far Are We?, arXiv:2411.17927v1 [cs.SE]</a>, Nov 2024</p></li><li><p><a href="https://www.youtube.com/watch?v=jXa8dHzgV8U">Prof. David Krakauer: Can Outsourcing Thinking Make Us Dumber?</a>, YouTube, July 2025</p></li></ul>]]></content:encoded></item><item><title><![CDATA[SLI Evolution Stages]]></title><description><![CDATA[How to dodge vanity metrics and measure the right service level indicator and why?]]></description><link>https://blog.alexewerlof.com/p/sli-evolution-stages</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/sli-evolution-stages</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Wed, 27 Aug 2025 12:34:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xMvC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Over the past few years, I&#8217;ve gone through hundreds of architecture diagrams and system topologies to help teams answer a simple question:</p><blockquote><p>How to measure the level of a service?</p></blockquote><p>This question is extremely important because Service Level Indicator (<a href="https://blog.alexewerlof.com/p/sli">SLI</a>) serves two important purposes:</p><ul><li><p>Give a focus to any <a href="https://blog.alexewerlof.com/p/premature-optimization">optimization</a> effort</p></li><li><p>Implement full <a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">ownership</a> through <a href="https://blog.alexewerlof.com/p/slo">SLO</a> and alerting</p></li></ul><p>Throughout this experience, I have observed a few distinct stages of implementing SLI. Each stage has a distinct concern and signal quality.</p><p><a href="https://blog.alexewerlof.com/p/sli-compass">SLI Compass</a> helps assess the value of a SLI and paint a road to evolve it. This article lists those stages to help guide senior engineers, technical leaders, and CTOs to guide the evolution of SLI measurement.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Uqhy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Uqhy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png 424w, https://substackcdn.com/image/fetch/$s_!Uqhy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png 848w, https://substackcdn.com/image/fetch/$s_!Uqhy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png 1272w, https://substackcdn.com/image/fetch/$s_!Uqhy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Uqhy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png" width="367" height="309.16642120765835" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&quot;width&quot;:679,&quot;resizeWidth&quot;:367,&quot;bytes&quot;:109496,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/171719258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Uqhy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png 424w, https://substackcdn.com/image/fetch/$s_!Uqhy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png 848w, https://substackcdn.com/image/fetch/$s_!Uqhy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png 1272w, https://substackcdn.com/image/fetch/$s_!Uqhy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32f459ea-e5fb-4f96-85f5-24a1293dbce5_679x572.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>&#129302;&#128683; Note: This content is organic. No generative AI was used to create this content. This page is only intended for human consumption and is NOT allowed to be used for machine training including but not limited to LLMs. (<a href="https://blog.alexewerlof.com/i/141786627/q-why-do-you-put-a-copyright-message-and-ban-generative-ai-genai-in-your-posts">why</a>?)</strong></p><h2>Stage 1: Traditional SLI</h2><p>This is the most basic SLI, often inspired by reading some introductory literature on SRE or attending a conference or meetup.</p><p></p><p>The are only 2 elements at play:</p><ol><li><p><strong>Service provider:</strong> For example, a backend, a database, or a microservice. At this stage, often the difference between a service and a service provider is ignored. Reminder: <strong><a href="https://blog.alexewerlof.com/p/service">service</a></strong> is a feature or capability that&#8217;s built towards a consumer, <strong><a href="https://blog.alexewerlof.com/p/service-level-terminology">service provider</a></strong> is the entity that provides that service.</p></li><li><p><strong>Metrics:</strong> usually availability, latency, error rate or some other generic metric.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jNqK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jNqK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png 424w, https://substackcdn.com/image/fetch/$s_!jNqK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png 848w, https://substackcdn.com/image/fetch/$s_!jNqK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png 1272w, https://substackcdn.com/image/fetch/$s_!jNqK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jNqK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png" width="1061" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:861,&quot;width&quot;:1061,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:34880,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/171719258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jNqK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png 424w, https://substackcdn.com/image/fetch/$s_!jNqK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png 848w, https://substackcdn.com/image/fetch/$s_!jNqK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png 1272w, https://substackcdn.com/image/fetch/$s_!jNqK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02c4bc35-ca25-413d-9a68-d3342bbd6764_1061x861.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is not vastly different from traditional monitoring, but with fancier names and <a href="https://blog.alexewerlof.com/p/cargo-culting">cargo culting</a> big tech.</p><p>Stage 1 SLIs typically come from one of these sources:</p><ul><li><p><strong>Rebrand:</strong> some existing metric is normalized to a percentage value. For example, if you were charting API latency in relation to a threshold before, your SLI shows the percentage of responses below that threshold.</p></li><li><p><strong>Cookie cutter:</strong> you just use one of the 4 &#8220;golden signals&#8221; (<a href="https://sre.google/sre-book/monitoring-distributed-systems/">latency, traffic, error, saturation</a>).</p></li></ul><p>The iconic characteristic of stage 1 SLIs is the absence of research into consumers and/or the reason they use the service. There might be some guesses but no solid verification.</p><p>Why does it matter? Because SLI <em>quantifies how reliability is perceived from the consumer&#8217;s perspective</em>. If a metric indicates failure but the consumers don&#8217;t care, it&#8217;s not a good indicator for the level of the service.</p><p>Regardless, this is a good start. You may even get lucky and pick a good metric to measure, but it is not a deliberate implementation of SLI.</p><h2>Stage 2: Consumer-aware SLI</h2><p>This is when the consumer enters the scene. Maybe, you&#8217;ve been using a stage 1 SLI for a while and nobody cares, so you realize that you have to talk to the consumers? Or maybe, your consumers are asking for a specific SLI. Maybe, it&#8217;s part of an <a href="https://blog.alexewerlof.com/p/sla">SLA</a> even!</p><p>Regardless, there are 2 more elements at play:</p><ol><li><p><strong>Consumer:</strong> the entity which interacts with service provider in some shape or form. For example, the <em>end user</em> who uses a mobile app. Or an internal or external product that uses your API.</p></li><li><p><strong>Usage:</strong> this just connects a consumer to a provider.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LU1z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LU1z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png 424w, https://substackcdn.com/image/fetch/$s_!LU1z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png 848w, https://substackcdn.com/image/fetch/$s_!LU1z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png 1272w, https://substackcdn.com/image/fetch/$s_!LU1z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LU1z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png" width="1060" height="844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:844,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51018,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/171719258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LU1z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png 424w, https://substackcdn.com/image/fetch/$s_!LU1z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png 848w, https://substackcdn.com/image/fetch/$s_!LU1z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png 1272w, https://substackcdn.com/image/fetch/$s_!LU1z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e62bf80-6b7b-4213-b7e9-5786d1802416_1060x844.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It may not look like it, but this is a huge step forward. Most teams I meet don&#8217;t even know who consumes their service, or their consumer is someone other than who they think it is!</p><p>Identifying who consumes your service is the first step to becoming <em>service-minded engineers.</em></p><p>Opening a conversation between engineers and their consumers is a moment of epiphany for many engineers who are stuck between a ticketing system and keyboard. </p><p>To pick the best metrics, you need to talk to your service consumers and ideally observe how they consume your services. Consumers use your service because they have a goal in mind and tasks to fullfill those goals.</p><h2>Stage 3: Task-aware SLI</h2><p>When a service is working as expected, it&#8217;s not even noticed! It is when the service fails that reliability becomes a priority!</p><p>To methodically get to the right SLIs, it is not enough to identify the consumers. We need to identify their:</p><ul><li><p><strong>Goals:</strong> <em>why</em> do they use your services? What are the problems they&#8217;re trying to solve? This is important because products are solutions to someone&#8217;s problem.</p></li><li><p><strong>Tasks:</strong> <em>how</em> do they use your services as a solution to their problems. This is where things get interesting because a failed task indicates unreliability. </p></li></ul><p>In my experience, the SLI formula has a misconception built-in: it is optimistic:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SLI = \\frac {\\text{successes}} {\\text{total}} \\times 100&quot;,&quot;id&quot;:&quot;HHOAGBDSPU&quot;}" data-component-name="LatexBlockToDOM"></div><p>What we&#8217;re really after is the Service Failure Indicator:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SFI = \\frac {\\text{failures}} {\\text{total}} \\times 100&quot;,&quot;id&quot;:&quot;UVREIZOKST&quot;}" data-component-name="LatexBlockToDOM"></div><p>Let&#8217;s not sidetrack the conversation by introducing a new acronym. As long as you&#8217;re aware that our goal is to measure failures, we are good.</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SLI = \\frac {\\text{total}-\\text{failures}} {\\text{total}} \\times 100&quot;,&quot;id&quot;:&quot;BSEYNJPZXA&quot;}" data-component-name="LatexBlockToDOM"></div><p>We have 3 more things to consider:</p><ol><li><p><strong>Service:</strong> the feature, capability, or solution that the service provider offers, often with a business value in mind. For example, a login screen, a database API, or an IoT hive.</p></li><li><p><strong>Task:</strong> the activities that the consumers do to achieve their goals. For example, they may use the login screen to authenticate.</p></li><li><p><strong>Failure:</strong> how does the service fail the consumer when trying to do their tasks or achieve their goals?</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xMvC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xMvC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png 424w, https://substackcdn.com/image/fetch/$s_!xMvC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png 848w, https://substackcdn.com/image/fetch/$s_!xMvC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png 1272w, https://substackcdn.com/image/fetch/$s_!xMvC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xMvC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png" width="1060" height="921" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:921,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83670,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/171719258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xMvC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png 424w, https://substackcdn.com/image/fetch/$s_!xMvC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png 848w, https://substackcdn.com/image/fetch/$s_!xMvC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png 1272w, https://substackcdn.com/image/fetch/$s_!xMvC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6d5962f-3688-48de-8b6f-cb299db997a0_1060x921.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The <strong>usage</strong> connects the <strong>service</strong> to the <strong>task</strong> and that&#8217;s where the <strong>failures</strong> happen. Here, we have put the number of the identified failures on the usage.</p><p>For example, if the end users (consumers), use the login page (service) to identify themselves. Failures from their perspective may be:</p><ul><li><p>The log in screen refusing to let them in despite using valid credentials</p></li><li><p>Having no access to their data after logging in</p></li><li><p>Being constantly thrown out of the system for no apparent reason</p></li></ul><p>That&#8217;s the service level degradation we want to measure as a SLI.</p><p>Note that consumer doesn&#8217;t have to be an end user. A GraphQL relay that uses an upstream backend may fail if the query takes too long to respond. Similarly, a front-end that uses a dedicated BFF (Backend For Frontend), may fail if the API schema doesn&#8217;t match the expectation.</p><p>Identifying what may fail is a big part of the Service Level Assessment. You may end up discovering tens or even hundreds of failures. It can get overwhelming to set an SLI for every possible failure. That is when the business impact comes into the picture.</p><h2>Stage 4: Business-aware SLI</h2><p>The most mature SLI in this model prioritizes failures based on their business impact. That is because not all failures are created equal. Therefore, our response to a failure should reflect its impact on the bottom line.</p><p>In the previous stage, we oversimplified the failure a bit. If we dissect the failure, we can see the following 3 parts:</p><ol><li><p><strong>Symptom:</strong> how the consumer knows that something is wrong. For example, the site is slow, or doesn&#8217;t load.</p></li><li><p><strong>Consequences:</strong> how the failure impacts the consumer&#8217;s task. For example, the site is so slow that they cannot proceed to checkout, or maybe a valid discount is not applied making them abandon the shopping card.</p></li><li><p><strong>Business Impact:</strong> how the consequences is bad for business. We can quantify the business impact in order to focus our attention on the most important failures.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C-Pt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C-Pt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png 424w, https://substackcdn.com/image/fetch/$s_!C-Pt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png 848w, https://substackcdn.com/image/fetch/$s_!C-Pt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png 1272w, https://substackcdn.com/image/fetch/$s_!C-Pt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C-Pt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png" width="1059" height="903" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:903,&quot;width&quot;:1059,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86439,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/171719258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C-Pt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png 424w, https://substackcdn.com/image/fetch/$s_!C-Pt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png 848w, https://substackcdn.com/image/fetch/$s_!C-Pt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png 1272w, https://substackcdn.com/image/fetch/$s_!C-Pt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60f4f63f-7aec-49f6-8c1f-e28cab244ca0_1059x903.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">One of the metrics isn&#8217;t as important because it only indicates a low-impact failure</figcaption></figure></div><p>Each metric measures 1 or more failures. For example, the API latency metric can give us a heads up about some failures, while data inconsistency gives us a heads up about other failures. The two may overlap and corelate but by identifying Consumers, their Tasks, and Failures, we try to systematically identify metrics that matter the most business-wise.</p><h3>How to quantify the business impact?</h3><p>The formula for bottom line is:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;Profit = Revenue - Expense&quot;,&quot;id&quot;:&quot;GDHPTEWRJC&quot;}" data-component-name="LatexBlockToDOM"></div><p>Anything that increases expenses, or hurts the revenue, has a business impact. The more the impact, the worse the failure and the more important it is to measure it.</p><p>Just like <a href="https://blog.alexewerlof.com/p/your-business-value">your own business value</a>, it is not always straightforward to estimate the value of a service.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;cb8797e9-6c33-4889-9eff-c0c3339ef2a1&quot;,&quot;caption&quot;:&quot;On day one of starting a new job, you're typically generating zero value for the business in terms of solving customer problems.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Your business value&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-19T09:15:08.223Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc25346d8-19c7-4842-b153-c305192c1650_1021x1012.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/your-business-value&quot;,&quot;section_name&quot;:&quot;Growth&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:155145809,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:80,&quot;comment_count&quot;:6,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Fortunately, we don&#8217;t have to be scientific here. As long as the failures are sorted, we can prioritize the most impactful SLIs. This ordering helps eliminate some of the less impactful SLIs.</p><p>Some examples of business impact that I&#8217;ve seen in the wild in ascending order of impact:</p><ol><li><p><strong>Making a bad impression:</strong> the site has occasional hiccups in a specific location causing user frustration</p></li><li><p><strong>Customer support cost:</strong> a device firmware fails to load causing the users to contact customer support which costs the company to close the ticket</p></li><li><p><strong>Breaching trust:</strong> showing ridiculously high prices for items on the website due to a bug in currency conversion causing the users not to trust the site to place an order.</p></li><li><p><strong>Losing potential customer:</strong> the site is down, so the user may go to your competitor</p></li><li><p><strong>Losing money:</strong> selling the product significantly cheaper than the actual price due to a bug! In many parts of the world, the deal is binding and the buyer may not be willing to pay the difference, even if the merchant spends the time and money to individually contact each lucky user</p></li><li><p><strong>Losing legal fees:</strong> logging PII (personally identifiable information) AND user credentials in cleartext AND failing to inform the users withing 72 hours resulting the business to lose &#8364;20 million or 4% of global annual turnover whichever is higher.</p></li><li><p><strong>All of the above:</strong> <a href="https://en.wikipedia.org/wiki/Volkswagen_emissions_scandal">Volkswagen scandal</a>! &#128516;&#128184;</p></li></ol><h3>Incident Severity?</h3><p>You may notice that the business impact sounds very similar to incident severity levels. There&#8217;s a good reason for that: they both try to quantify the business impact of failures.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wohB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wohB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png 424w, https://substackcdn.com/image/fetch/$s_!wohB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png 848w, https://substackcdn.com/image/fetch/$s_!wohB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png 1272w, https://substackcdn.com/image/fetch/$s_!wohB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wohB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png" width="1456" height="1438" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1438,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:143305,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/171719258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wohB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png 424w, https://substackcdn.com/image/fetch/$s_!wohB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png 848w, https://substackcdn.com/image/fetch/$s_!wohB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png 1272w, https://substackcdn.com/image/fetch/$s_!wohB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969b679c-24c8-42b1-abf1-f1049b46bdbb_1658x1638.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A 4-level incident severity model based on impact and urgency</figcaption></figure></div><p>Incident severity levels, however, tie urgency to the business impact. One of the reasons is because the severity table is used during triage to prioritize manual work.</p><p>In the context of SLI, error budget burn rate takes care of connecting alerts to our SLO commitments.</p><h1>Recap</h1><p>SLIs are the base of the service level modeling. They give a focus to optimization while helping implement full ownership.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YIXh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YIXh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png 424w, https://substackcdn.com/image/fetch/$s_!YIXh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png 848w, https://substackcdn.com/image/fetch/$s_!YIXh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png 1272w, https://substackcdn.com/image/fetch/$s_!YIXh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YIXh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png" width="1456" height="1421" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1421,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:214031,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/171719258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YIXh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png 424w, https://substackcdn.com/image/fetch/$s_!YIXh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png 848w, https://substackcdn.com/image/fetch/$s_!YIXh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png 1272w, https://substackcdn.com/image/fetch/$s_!YIXh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F789d4222-0bd3-446d-a1cf-114c3ec578da_1813x1770.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Good SLIs connect quantify the service from its consumer&#8217;s perspective. Great SLIs tie that to the business impact.</p><p>A good SLI is worth being on-call for whether 24/7 or just during working hours.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rb9J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rb9J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png 424w, https://substackcdn.com/image/fetch/$s_!rb9J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png 848w, https://substackcdn.com/image/fetch/$s_!rb9J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png 1272w, https://substackcdn.com/image/fetch/$s_!rb9J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rb9J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png" width="1456" height="1421" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1421,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:186093,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/171719258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rb9J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png 424w, https://substackcdn.com/image/fetch/$s_!rb9J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png 848w, https://substackcdn.com/image/fetch/$s_!rb9J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png 1272w, https://substackcdn.com/image/fetch/$s_!rb9J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc16418c-1790-4bc0-974f-42e5afb2db89_1813x1770.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That&#8217;s because they have a good signal/noise ratio and can accurately flag service degradation or disruption.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;cf13aec5-62b9-4a4a-befe-f88c00fe0959&quot;,&quot;caption&quot;:&quot;In the context of reliability engineering, there are three terms that are related but sometimes used incorrectly.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Degradation vs disruption&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-07-10T13:49:59.325Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!wL5v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/service-degradation-vs-disruption&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:146395325,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:18,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Tasks shape the consumer journeys which can be expressed as a flow diagram for how a consumer uses one or more services to achieve their goals.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2nNQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2nNQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png 424w, https://substackcdn.com/image/fetch/$s_!2nNQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png 848w, https://substackcdn.com/image/fetch/$s_!2nNQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png 1272w, https://substackcdn.com/image/fetch/$s_!2nNQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2nNQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png" width="1456" height="1421" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1421,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:348855,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/171719258?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2nNQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png 424w, https://substackcdn.com/image/fetch/$s_!2nNQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png 848w, https://substackcdn.com/image/fetch/$s_!2nNQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png 1272w, https://substackcdn.com/image/fetch/$s_!2nNQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe75cdb-4b0e-4c88-b2a3-89cde11493e9_1813x1770.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Read more about the service topology graph here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;57ce3664-ec95-40d9-a466-f600a062292a&quot;,&quot;caption&quot;:&quot;This post connects the service level terminology to a visual representation that allows getting to meaningful SLIs and setting reasonable SLOs.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Service Level Topology&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-08-03T11:26:19.776Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!wUOm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/service-level-topology&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:169986662,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Connecting these dots is one of the advantages of service level modeling. Done right, service levels can turn code monkeys to problem solvers by connecting technical solutions to problems that the business monetizes.</p><p><strong>SLI compass</strong> is a complementary mental model that helps you assess the value of existing SLIs and decide a direction for evolving your measurement. You can check it out here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c4ca6943-4347-4fd0-8fe7-df186578b1d9&quot;,&quot;caption&quot;:&quot;Service Level Indicator (SLIs) is a fundamental concept in reliability engineering. Done right, it quantifies the level of service from the consumer&#8217;s point of view in line with the business objectives.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;SLI Compass: Fidelity and Granularity&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-08-08T11:14:03.729Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5TKM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/sli-compass&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:170275899,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:8,&quot;comment_count&quot;:3,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sli-evolution-stages?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this post insightful, please share it in your circles and on social media to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sli-evolution-stages?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/sli-evolution-stages?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a> is to give away most content for free but hese posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends. The simplest way to support this work is to <strong>like</strong>, <strong>subscribe</strong> and <strong>share</strong> it. If you really want to support me lifting our community, you can consider a paid subscription. If you want to save, you can get 20% off via <a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. As a token of appreciation, subscribers get full access to the Pro-Tips sections and my online book <a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Your contribution also funds my open-source products like <a href="https://slc.alexewerlof.com/">Service Level Calculator</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><p><em>And to those of you who support me already, <strong>thank you</strong> for sponsoring this content for the others. &#128588; If you have questions or feedback, or you want me to dig deeper into something, please let me know in the comments.</em></p>]]></content:encoded></item><item><title><![CDATA[SLI Compass: Fidelity and Granularity]]></title><description><![CDATA[A Mental Model to Assess Existing SLIs and Evaluate New Ones. We discuss 2 dimension: fidelity shows how closely your SLI is measuring the user experience, granularity shows how many parameter are measured by your SLI]]></description><link>https://blog.alexewerlof.com/p/sli-compass</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/sli-compass</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Fri, 08 Aug 2025 11:14:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5TKM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://blog.alexewerlof.com/p/sli">Service Level Indicator</a> (SLIs) is a fundamental concept in reliability engineering. Done right, it quantifies the level of service from the consumer&#8217;s point of view in line with the business objectives.</p><p>However, different SLIs have different signal to noise ratio and ROI (return on investment).</p><p>This article introduces SLI Compass, a 2D mental model to help you:</p><ul><li><p>Quickly assess the signal/noise ratio of existing SLIs</p></li><li><p>Evaluate SLIs based on their cost and complexity</p></li><li><p>Set a direction for improving the quality of existing SLIs at a reasonable ROI</p></li></ul><p>The goal is to help senior engineers, technical and engineering leaders to pick the right SLI based on product maturity, budget, timing, and usage patterns.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h1>Categorizing SLIs</h1><p>I&#8217;ve gone through hundreds of architectures with tens of teams over the years both at my companies and external clients.</p><p>In my experience the most common SLIs are:</p><ul><li><p><strong>Availability:</strong> is the service available to the consumer and can it be used for their tasks? This is by far the most common SLI except for async services like queues where other metrics make more sense.</p></li><li><p><strong>Latency:</strong> how long does it take to interact with the service? This is very common for user-facing services, or services that have a time-critical consumption like Frontend, API, Databases, CDN, queued workload processing, etc.</p></li><li><p><strong>Success rate:</strong> how often do consumers manage to fulfill their task? This is common with transactional services like REST APIs, user journeys, or even queued workload (e.g. dead-letter queue).</p></li><li><p><strong>Efficiency:</strong> is the service operating with the right trade-offs that makes business sense? For example: are we using too much GPU for free user requests? Is the Cache being utilized? Are queued work being processed? etc.</p></li></ul><p>There are also other niche metrics like correctness, freshness, relevance, etc.</p><p>All SLIs can be mapped in a 2D axis:</p><ul><li><p><strong>Fidelity:</strong> how closely does the SLI represent the consumer experience?</p></li><li><p><strong>Granularity:</strong> how many variables and parameters are aggregated in a single data point?</p></li></ul><p>We can combine these two dimensions to get a powerful but familiar quadrant model.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5TKM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5TKM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png 424w, https://substackcdn.com/image/fetch/$s_!5TKM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png 848w, https://substackcdn.com/image/fetch/$s_!5TKM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png 1272w, https://substackcdn.com/image/fetch/$s_!5TKM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5TKM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png" width="1062" height="1061" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1061,&quot;width&quot;:1062,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1800473,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5TKM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png 424w, https://substackcdn.com/image/fetch/$s_!5TKM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png 848w, https://substackcdn.com/image/fetch/$s_!5TKM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png 1272w, https://substackcdn.com/image/fetch/$s_!5TKM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0042de0b-3173-4670-b9ba-964757a0e1c0_1062x1061.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As we will see, a single category of SLIs like availability or latency, can fit into any of those 4 quadrants.</p><h1>The two dimensions</h1><h2>1. Fidelity: how closely does the SLI represent the consumer experience?</h2><p>SLI <strong>Fidelity</strong>, refers to how the data, or telemetry, is generated and how accurately it represents the consumer&#8217;s experience of the service.</p><ul><li><p><strong>Synthetic metrics</strong> use artificial, fake, or simulated loads. A common example is a tool that pings an endpoint every minute to gather data about latency or availability. This check ensures the endpoint is responsive.</p></li><li><p><strong>Organic metrics</strong> gather data from consumers actually using the service. For example, we can gather availability and latency data from API gateway that exposes a service externally. This is a more precise way to measure service level.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y06S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y06S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png 424w, https://substackcdn.com/image/fetch/$s_!Y06S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png 848w, https://substackcdn.com/image/fetch/$s_!Y06S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!Y06S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y06S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png" width="1063" height="1062" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/383ec274-9944-4227-8403-36f127899717_1063x1062.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1062,&quot;width&quot;:1063,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:431888,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y06S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png 424w, https://substackcdn.com/image/fetch/$s_!Y06S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png 848w, https://substackcdn.com/image/fetch/$s_!Y06S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!Y06S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F383ec274-9944-4227-8403-36f127899717_1063x1062.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Organic metrics are more realistic. They map directly to what's happening in production.</p><p>However, they can be harder to measure. For high-traffic services, they can generate massive amounts of data. This requires a more robust and costly monitoring infrastructure.</p><p>For low-traffic services, there may not be enough organic load to for the SLI formula to work correctly. That&#8217;s because SLI status (also known as <a href="https://blog.alexewerlof.com/p/sls">SLS</a>), is a percentage based.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hf1l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hf1l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png 424w, https://substackcdn.com/image/fetch/$s_!Hf1l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png 848w, https://substackcdn.com/image/fetch/$s_!Hf1l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png 1272w, https://substackcdn.com/image/fetch/$s_!Hf1l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hf1l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png" width="1060" height="601" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:601,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:67719,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Hf1l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png 424w, https://substackcdn.com/image/fetch/$s_!Hf1l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png 848w, https://substackcdn.com/image/fetch/$s_!Hf1l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png 1272w, https://substackcdn.com/image/fetch/$s_!Hf1l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c8b208-e775-4d48-bbd6-831f61978957_1060x601.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For example, if a service receives 50 request per months, it is not reasonable to expect a success rate of 99% because a single failure in that period reduces the service level status (SLS) to 98%. In this case, one solution can be to use synthetic metric.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aIfH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aIfH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png 424w, https://substackcdn.com/image/fetch/$s_!aIfH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png 848w, https://substackcdn.com/image/fetch/$s_!aIfH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png 1272w, https://substackcdn.com/image/fetch/$s_!aIfH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aIfH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png" width="1060" height="695" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:695,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:58981,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aIfH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png 424w, https://substackcdn.com/image/fetch/$s_!aIfH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png 848w, https://substackcdn.com/image/fetch/$s_!aIfH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png 1272w, https://substackcdn.com/image/fetch/$s_!aIfH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac448d34-032c-4ea4-9d39-dc5d80a8d893_1060x695.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Synthetic load can potentially skew product metrics. For example, if the product is measuring MAU (monthly active users), it&#8217;s important to have a way to distinguish fake users (synthetic) from the real ones. Otherwise, wrong data can lead to wrong decisions.</p><h2>2. Granularity: How many variables are aggregated by the SLI data points?</h2><p>Let's look at the second dimension of SLIs: their <strong>granularity</strong>, which refers to the number of parameters or variables being tested to quantify the level of the service.</p><ul><li><p><strong>Simple: </strong>measure only one thing. For example, a simple metric might check if an endpoint returns a <code>200</code> HTTP status code (for availability) or if a single API call's latency is below a threshold. This tells you the basic health of one component. It acts as a basic <strong>proxy</strong> for overall service health. It doesn't say if the service is actually useful to the consumer's complete task.</p></li><li><p><strong>Complex:</strong> measure multipel things. This tells a richer story about the <strong>consumer journey</strong> or complex system behavior. A high-fidelity metric could track the success rate and latency of all steps in a critical user purchase flow. It ensures they are working as expected.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lnLL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lnLL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png 424w, https://substackcdn.com/image/fetch/$s_!lnLL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png 848w, https://substackcdn.com/image/fetch/$s_!lnLL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!lnLL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lnLL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png" width="1063" height="1062" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1062,&quot;width&quot;:1063,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:435243,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lnLL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png 424w, https://substackcdn.com/image/fetch/$s_!lnLL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png 848w, https://substackcdn.com/image/fetch/$s_!lnLL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!lnLL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F435c4dfe-70d7-44fb-beb8-44ff3cbe40d5_1063x1062.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Complex SLIs aggregate multiple variables. For example, instead of pinging the home page (simple), we run a <a href="https://playwright.dev/">Playwright</a> script that traverses a user journey to identify any broken step.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bkoT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bkoT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png 424w, https://substackcdn.com/image/fetch/$s_!bkoT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png 848w, https://substackcdn.com/image/fetch/$s_!bkoT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png 1272w, https://substackcdn.com/image/fetch/$s_!bkoT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bkoT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png" width="1059" height="565" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:565,&quot;width&quot;:1059,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53520,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bkoT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png 424w, https://substackcdn.com/image/fetch/$s_!bkoT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png 848w, https://substackcdn.com/image/fetch/$s_!bkoT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png 1272w, https://substackcdn.com/image/fetch/$s_!bkoT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b56f234-3454-470f-9092-1f545fd2cfee_1059x565.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Complex SLIs can be more costly to maintain.</p><p>They might also introduce a lag in flagging an incident because they have to wait to get data for all variables. This is because they require more data processing and aggregation.</p><p>However, complex SLIs provide a higher-quality signal because they reflect a user's experience more accurately.</p><p>On the flipside, it can be harder to reason about the complex SLIs due to aggregation: if there&#8217;s a failure, what did exactly fail?</p><p>To answer that question, we need to store more data, which adds to the cost of complex SLIs.</p><p>One caveat for complex SLIs is the ownership of different variables. Most metrics aggregate multiple variables.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mbrn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mbrn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png 424w, https://substackcdn.com/image/fetch/$s_!mbrn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png 848w, https://substackcdn.com/image/fetch/$s_!mbrn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png 1272w, https://substackcdn.com/image/fetch/$s_!mbrn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mbrn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png" width="1035" height="912" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:912,&quot;width&quot;:1035,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77498,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mbrn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png 424w, https://substackcdn.com/image/fetch/$s_!mbrn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png 848w, https://substackcdn.com/image/fetch/$s_!mbrn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png 1272w, https://substackcdn.com/image/fetch/$s_!mbrn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7f2097-1de5-46da-b4b6-1d55b32c5e9e_1035x912.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Ideally you want each data point to only aggregate variables that are within the control of one team. Because when the metric shows a service degradation or disruption, it is easy to reason about who owns the service and should receive an alert to fix it.</p><h2>Putting it together</h2><p>Putting everything together, we get this 2D Compass:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v_yw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v_yw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png 424w, https://substackcdn.com/image/fetch/$s_!v_yw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png 848w, https://substackcdn.com/image/fetch/$s_!v_yw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!v_yw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v_yw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png" width="1063" height="1062" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1062,&quot;width&quot;:1063,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:474836,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!v_yw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png 424w, https://substackcdn.com/image/fetch/$s_!v_yw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png 848w, https://substackcdn.com/image/fetch/$s_!v_yw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!v_yw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239dc36d-8ee5-46ae-b86a-6e36c6d35a8a_1063x1062.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1>Examples</h1><p>Availability is the most common SLIs. At the basic level it&#8217;s an answer to this question:</p><blockquote><p>Is the service exposed to the consumer?</p></blockquote><p>However, a better question can be:</p><blockquote><p>Can the consumer use the service to do their tasks and achieve their goals?</p></blockquote><p>The difference is subtle but important:</p><ul><li><p>The former is aligned with the <strong>service provider</strong>&#8217;s basic commitment and is usually easier to measure.</p></li><li><p>The latter is aligned with the <strong>service consumer</strong>&#8217;s expectation and is typically harder to measure.</p></li></ul><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;73c6460d-1ea9-47ae-a724-49c467ad6fbf&quot;,&quot;caption&quot;:&quot;In the context of service levels, there are multiple terms that are related to each other. This post serves as a glossary to define and connect:&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Service Level Terminology&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-10-25T03:16:15.538Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!MlI7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/service-level-terminology&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:150614488,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:19,&quot;comment_count&quot;:4,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>How can we measure availability for an API server?</p><ol><li><p><strong>Simple &amp; Synthetic:</strong> ping the health endpoint every minute and calculate the percentage of successful pings in a <a href="https://blog.alexewerlof.com/p/compliance-period">period</a></p></li><li><p><strong>Simple &amp; Organic:</strong> count the number of minutes where the API endpoint could handle valid requests (i.e. with valid auth header) in a <a href="https://blog.alexewerlof.com/p/compliance-period">period</a></p></li><li><p><strong>Complex &amp; Synthetic:</strong> use synthetic monitoring to test that the critical user flow (e.g. a purchase journey) works and calculate the successful execution percentage</p></li><li><p><strong>Complex &amp; Organic:</strong> use the RUM (real-user monitoring) data to identify any broken user journeys and calculate successful user sessions</p></li></ol><p>Let&#8217;s do this exercise for latency, which is the second most common SLI:</p><ol><li><p><strong>Simple &amp; Synthetic:</strong> Measure the response time of a periodic <code>GET</code> request to a predesignated endpoint (i.e. <code>www.example.com/api/health</code>) and calculate the <a href="https://blog.alexewerlof.com/p/percentile">P99 percentile</a> over a <a href="https://blog.alexewerlof.com/p/compliance-period">period</a>.</p></li><li><p><strong>Simple &amp; Organic:</strong> Calculate the <a href="https://blog.alexewerlof.com/p/percentile">P99 percentile</a> latency for all successful API requests from real users as measured at the API gateway.</p></li><li><p><strong>Complex &amp; Synthetic:</strong> periodically simulate a complete user transaction (e.g., login, search, add to cart, checkout) and measure the end-to-end response time.</p></li><li><p><strong>Complex &amp; Organic:</strong> Analyze Real User Monitoring (RUM) data to track the full-page load time, including all resource fetches and rendering, for critical user journeys.</p></li></ol><h1>Signal to noise ratio</h1><p>Good SLIs are worthy of being on-call for because they indicate service <a href="https://blog.alexewerlof.com/p/service-degradation-vs-disruption">degradation or disruption</a> with high accuracy. Even if there is no 24/7 on-call rotation, this is still a good mindset to evaluate an SLI:</p><ol><li><p><strong>Does this SLI help us get notified when there is an incident?</strong><br>(incident in this context is any failure that threatens the business objective)</p></li><li><p><strong>Does each anomaly in this SLI indicate an incident?</strong><br>(no false positive or false negative)</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bkSH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bkSH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png 424w, https://substackcdn.com/image/fetch/$s_!bkSH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png 848w, https://substackcdn.com/image/fetch/$s_!bkSH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png 1272w, https://substackcdn.com/image/fetch/$s_!bkSH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bkSH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png" width="1038" height="992" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:992,&quot;width&quot;:1038,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:81852,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bkSH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png 424w, https://substackcdn.com/image/fetch/$s_!bkSH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png 848w, https://substackcdn.com/image/fetch/$s_!bkSH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png 1272w, https://substackcdn.com/image/fetch/$s_!bkSH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8860290e-8185-4cd2-abf5-c63dc25b824d_1038x992.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>SLI is the basis for a solid ownership implementation:</p><ul><li><p>SLI measures the level of service from consumer&#8217;s perspective</p></li><li><p><a href="https://blog.alexewerlof.com/p/slo">SLO</a> helps:</p><ul><li><p>The stakeholders set expectations on the service owner</p></li><li><p>The service owner communicate their commitment to service consumers</p></li></ul></li><li><p>Alerts: tie that expectation or commitment to responsibility and accountability</p></li></ul><p>Poor SLIs lead to broken ownership.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;71178ecb-e30a-463a-90f0-30640769e5ef&quot;,&quot;caption&quot;:&quot;Have you been in any of these situations?&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;6 Archetypes of Broken Ownership&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-08-01T17:10:54.401Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72091ddc-6191-4ccb-8d06-15a7edbed199_1012x964.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/broken-ownership&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:135623153,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:65,&quot;comment_count&quot;:7,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h1>Pro Tips: When and how to use the SLI compass?</h1><p>Broadly speaking there are 3 categories of use cases for SLI compass:</p><ol><li><p><strong>Evaluation:</strong> Assess the signal quality of an SLI and its effectiveness in implementing <a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">full ownership</a> through alerts.</p></li><li><p><strong>Investment:</strong> Estimate the <a href="https://blog.alexewerlof.com/p/tech-bet">ROI (return on investment)</a> of an existing or new SLI</p></li><li><p><strong>Evolution:</strong> motivate improving how tech health is measured using <a href="https://blog.alexewerlof.com/p/sli">SLI</a> and <a href="https://blog.alexewerlof.com/p/premature-optimization">optimized</a> towards an <a href="https://blog.alexewerlof.com/p/slo">SLO</a></p></li></ol><p>For example, when Service Levels (as a concept) is new to an organization, you want to start small and easy. A simple synthetic check like pinging the home page every minute is a pretty good start.</p><p>In fact, this is so common that there&#8217;s a whole product sector doing exactly that: Pingdom, UptimeRobot, etc.</p><p>But pinging the home page has its limits. As you gain experience with that metric, you may decide to measure more high fidelity and organic metrics.</p><h3>Evaluation &amp; Investment</h3><p>As a general rule of thumb: the closer to the top-left, the easier and cheaper it is to measure the SLI but the lower the quality it has.</p><p>The more you move to the bottom-right corner of the compass, the harder it is to measure and more costly it gets but the quality improves.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RYZ0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RYZ0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png 424w, https://substackcdn.com/image/fetch/$s_!RYZ0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png 848w, https://substackcdn.com/image/fetch/$s_!RYZ0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png 1272w, https://substackcdn.com/image/fetch/$s_!RYZ0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RYZ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png" width="1061" height="1061" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1061,&quot;width&quot;:1061,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1224962,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RYZ0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png 424w, https://substackcdn.com/image/fetch/$s_!RYZ0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png 848w, https://substackcdn.com/image/fetch/$s_!RYZ0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png 1272w, https://substackcdn.com/image/fetch/$s_!RYZ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d18c7ea-7f14-4cf2-b302-1c76d52b104f_1061x1061.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Evolution</h3><p>Over time, you may want to carefully move your measurement from the top-left to the bottom-right corner considering the ROI.</p><p>You may go from simple synthetic to complex synthetic or simple organic. Eventually you may end up with complex organic SLIs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M765!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M765!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png 424w, https://substackcdn.com/image/fetch/$s_!M765!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png 848w, https://substackcdn.com/image/fetch/$s_!M765!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!M765!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M765!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png" width="1061" height="1062" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1062,&quot;width&quot;:1061,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1167545,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/170275899?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!M765!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png 424w, https://substackcdn.com/image/fetch/$s_!M765!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png 848w, https://substackcdn.com/image/fetch/$s_!M765!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!M765!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8eea6e-be1b-47a1-a0c1-2a647acdea89_1061x1062.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Alternatively, maybe you&#8217;re in 4 but the SLI is too expensive for what it&#8217;s doing. Therefore you may deliberately go for a cheaper measurement with lower or equal quality.</p><h3>Final Thoughts</h3><p>The quality of your SLI depends on the story it tells. It must reflect the consumer's experience. This is crucial. An SRE's <strong>error budget</strong> must always be tied to a metric that accurately reflects user&#8217;s tolerance for failure.</p><p>The SLI Compass provides a clear path for evaluation, investment and evolution. You can use it to design and refine your SLIs. SLIs are not a one-size-fits-all metric. Make a conscious choice with signal to noise ratio and ROI in mind to reduce alerting false positives or false negatives.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sli-compass?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you found this post insightful, please share it on social media and your networks to inspire others</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sli-compass?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/sli-compass?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a> is to give away most content for free but hese posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends. The simplest way to support this work is to <strong>like</strong>, <strong>subscribe</strong> and <strong>share</strong> it. If you really want to support me lifting our community, you can consider a paid subscription. If you want to save, you can get 20% off via <a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. As a token of appreciation, subscribers get full access to the Pro-Tips sections and my online book <a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Your contribution also funds my open-source products like <a href="https://slc.alexewerlof.com/">Service Level Calculator</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><p><em>And to those of you who support me already, <strong>thank you</strong> for sponsoring this content for the others. &#128588; If you have questions or feedback, or you want me to dig deeper into something, please let me know in the comments.</em></p>]]></content:encoded></item><item><title><![CDATA[Service Level Topology]]></title><description><![CDATA[Visualizing the service consumption and measurement topology while avoiding the most common SLI/SLO pitfalls]]></description><link>https://blog.alexewerlof.com/p/service-level-topology</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/service-level-topology</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Sun, 03 Aug 2025 11:26:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wUOm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This post connects the <a href="https://blog.alexewerlof.com/p/service-level-terminology">service level terminology</a> to a visual representation that allows getting to meaningful SLIs and setting reasonable SLOs.</p><p>At the heart of the Service Level Assessment is a graph.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wUOm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wUOm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png 424w, https://substackcdn.com/image/fetch/$s_!wUOm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png 848w, https://substackcdn.com/image/fetch/$s_!wUOm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png 1272w, https://substackcdn.com/image/fetch/$s_!wUOm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wUOm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png" width="1057" height="881" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:881,&quot;width&quot;:1057,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:211450,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wUOm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png 424w, https://substackcdn.com/image/fetch/$s_!wUOm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png 848w, https://substackcdn.com/image/fetch/$s_!wUOm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png 1272w, https://substackcdn.com/image/fetch/$s_!wUOm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F302c8b14-c35a-4b40-bf81-ba08951fb62c_1057x881.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1>High level view</h1><p>This graph uses the <a href="https://blog.alexewerlof.com/p/service-level-terminology">service level terminology</a> we have already established to visualize the service consumption and measurement topology in 4 sections:</p><ol><li><p>What offers the service?</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vhg3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vhg3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png 424w, https://substackcdn.com/image/fetch/$s_!vhg3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png 848w, https://substackcdn.com/image/fetch/$s_!vhg3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!vhg3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vhg3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png" width="1059" height="1060" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1060,&quot;width&quot;:1059,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:165255,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vhg3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png 424w, https://substackcdn.com/image/fetch/$s_!vhg3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png 848w, https://substackcdn.com/image/fetch/$s_!vhg3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!vhg3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F826fe77b-e9e8-4b7a-a452-d528fd039c85_1059x1060.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="2"><li><p>What uses those service and why?</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Uhiy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Uhiy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png 424w, https://substackcdn.com/image/fetch/$s_!Uhiy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png 848w, https://substackcdn.com/image/fetch/$s_!Uhiy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png 1272w, https://substackcdn.com/image/fetch/$s_!Uhiy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Uhiy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png" width="1060" height="1057" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1057,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160992,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Uhiy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png 424w, https://substackcdn.com/image/fetch/$s_!Uhiy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png 848w, https://substackcdn.com/image/fetch/$s_!Uhiy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png 1272w, https://substackcdn.com/image/fetch/$s_!Uhiy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b43dcc-ef63-4b83-a364-63574a11f31f_1060x1057.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="3"><li><p>How do those usages fail and what are the symptoms, consequences and business impact of those failures?</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cqGV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cqGV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png 424w, https://substackcdn.com/image/fetch/$s_!cqGV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png 848w, https://substackcdn.com/image/fetch/$s_!cqGV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png 1272w, https://substackcdn.com/image/fetch/$s_!cqGV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cqGV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png" width="1063" height="1061" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1061,&quot;width&quot;:1063,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:175802,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cqGV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png 424w, https://substackcdn.com/image/fetch/$s_!cqGV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png 848w, https://substackcdn.com/image/fetch/$s_!cqGV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png 1272w, https://substackcdn.com/image/fetch/$s_!cqGV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ac6cd0-8dc9-4410-b9e6-1e609de593d9_1063x1061.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="4"><li><p>What metrics can be used to measure those failures?</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gp_h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gp_h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png 424w, https://substackcdn.com/image/fetch/$s_!Gp_h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png 848w, https://substackcdn.com/image/fetch/$s_!Gp_h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!Gp_h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gp_h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png" width="1060" height="1062" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1062,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:172452,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gp_h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png 424w, https://substackcdn.com/image/fetch/$s_!Gp_h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png 848w, https://substackcdn.com/image/fetch/$s_!Gp_h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!Gp_h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a7bf88-9aea-4261-bdba-722de5736371_1060x1062.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><p>Let&#8217;s go through them one by one.</p><h1>Sections</h1><h2>1. Offer</h2><p>At the top we have the <a href="https://blog.alexewerlof.com/p/service-level-terminology">service providers</a> like backends, databases, hardware, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NRKM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NRKM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png 424w, https://substackcdn.com/image/fetch/$s_!NRKM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png 848w, https://substackcdn.com/image/fetch/$s_!NRKM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png 1272w, https://substackcdn.com/image/fetch/$s_!NRKM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NRKM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png" width="1058" height="280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/771b1fed-5748-458a-8723-4582648b349f_1058x280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:280,&quot;width&quot;:1058,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49606,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NRKM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png 424w, https://substackcdn.com/image/fetch/$s_!NRKM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png 848w, https://substackcdn.com/image/fetch/$s_!NRKM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png 1272w, https://substackcdn.com/image/fetch/$s_!NRKM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F771b1fed-5748-458a-8723-4582648b349f_1058x280.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each service provider, provides one or more services:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jHgS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jHgS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png 424w, https://substackcdn.com/image/fetch/$s_!jHgS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png 848w, https://substackcdn.com/image/fetch/$s_!jHgS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png 1272w, https://substackcdn.com/image/fetch/$s_!jHgS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jHgS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png" width="1062" height="217" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bac05433-639c-46b5-b1a6-cf086301d763_1062x217.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:217,&quot;width&quot;:1062,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:48878,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jHgS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png 424w, https://substackcdn.com/image/fetch/$s_!jHgS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png 848w, https://substackcdn.com/image/fetch/$s_!jHgS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png 1272w, https://substackcdn.com/image/fetch/$s_!jHgS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac05433-639c-46b5-b1a6-cf086301d763_1062x217.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p></p><h2>2. Use</h2><p>On the other side we have the <a href="https://blog.alexewerlof.com/p/service-level-terminology">service consumers</a> like end users, or other teams that use our services to build other services toward their consumers:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!apzW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!apzW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png 424w, https://substackcdn.com/image/fetch/$s_!apzW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png 848w, https://substackcdn.com/image/fetch/$s_!apzW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png 1272w, https://substackcdn.com/image/fetch/$s_!apzW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!apzW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png" width="1062" height="443" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:443,&quot;width&quot;:1062,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89259,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!apzW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png 424w, https://substackcdn.com/image/fetch/$s_!apzW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png 848w, https://substackcdn.com/image/fetch/$s_!apzW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png 1272w, https://substackcdn.com/image/fetch/$s_!apzW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512acf14-f029-4322-b5ef-d43a4e801fbd_1062x443.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each consumer has 1 or more tasks. These tasks are very important because they are the reason that the service is exists:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EfCd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EfCd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png 424w, https://substackcdn.com/image/fetch/$s_!EfCd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png 848w, https://substackcdn.com/image/fetch/$s_!EfCd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png 1272w, https://substackcdn.com/image/fetch/$s_!EfCd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EfCd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png" width="1062" height="519" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:519,&quot;width&quot;:1062,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:99147,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EfCd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png 424w, https://substackcdn.com/image/fetch/$s_!EfCd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png 848w, https://substackcdn.com/image/fetch/$s_!EfCd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png 1272w, https://substackcdn.com/image/fetch/$s_!EfCd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfb41d62-5d97-40f0-9586-a96c0349976f_1062x519.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As we&#8217;ll see, good SLIs tie to why a consumer consumes the service in the first place. Reliability and performance is <em>perceived</em> from the consumer&#8217;s perspective in terms of the tasks they care about.</p><h2>3. Risks</h2><p>Each task uses one or more services. There&#8217;s a risk that the service fails to do its job.</p><p>A usage establishes a link between a service and a task:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!utET!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!utET!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png 424w, https://substackcdn.com/image/fetch/$s_!utET!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png 848w, https://substackcdn.com/image/fetch/$s_!utET!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png 1272w, https://substackcdn.com/image/fetch/$s_!utET!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!utET!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png" width="1050" height="686" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:686,&quot;width&quot;:1050,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:147642,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!utET!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png 424w, https://substackcdn.com/image/fetch/$s_!utET!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png 848w, https://substackcdn.com/image/fetch/$s_!utET!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png 1272w, https://substackcdn.com/image/fetch/$s_!utET!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22840a-766c-45f0-8b59-edebf7441ffc_1050x686.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The number on a usage node indicates the number of failures that have been identified on a given usage.</p><p>These usages and failures are an important part of the service level assessment:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HgI8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HgI8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png 424w, https://substackcdn.com/image/fetch/$s_!HgI8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png 848w, https://substackcdn.com/image/fetch/$s_!HgI8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png 1272w, https://substackcdn.com/image/fetch/$s_!HgI8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HgI8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png" width="1058" height="643" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:643,&quot;width&quot;:1058,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134872,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HgI8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png 424w, https://substackcdn.com/image/fetch/$s_!HgI8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png 848w, https://substackcdn.com/image/fetch/$s_!HgI8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png 1272w, https://substackcdn.com/image/fetch/$s_!HgI8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F227b4f7b-a28d-4b05-a44d-267e0be63e13_1058x643.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each failures has:</p><ul><li><p><strong>Symptom</strong>: how does the <strong>consumer</strong> notice the failure?</p></li><li><p><strong>Consequence</strong>: how the failure impacts the <strong>task</strong>?</p></li><li><p><strong>Business impact</strong>: how the business bottom line is impacted?</p></li></ul><p>A good assessment takes quite some time to get right and we highly recommend to have the service consumer in the room to make sure that you understand their goals (tasks), what services they use (usage), and how they perceive failure.</p><p>Failures are measured by metrics.</p><h2>4. Metrics</h2><p>Metrics help the service provider be on top of their service level by measuring the failures that were identified for each usage in the previous step:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L9FM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L9FM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png 424w, https://substackcdn.com/image/fetch/$s_!L9FM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png 848w, https://substackcdn.com/image/fetch/$s_!L9FM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png 1272w, https://substackcdn.com/image/fetch/$s_!L9FM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L9FM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png" width="1060" height="891" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:891,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:177824,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L9FM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png 424w, https://substackcdn.com/image/fetch/$s_!L9FM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png 848w, https://substackcdn.com/image/fetch/$s_!L9FM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png 1272w, https://substackcdn.com/image/fetch/$s_!L9FM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca55b802-2c8f-4a17-8624-11d72d134022_1060x891.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Metrics identify service <a href="https://blog.alexewerlof.com/p/service-degradation-vs-disruption">degradation or disruption</a>.</p><p><a href="https://blog.alexewerlof.com/p/slo">SLO</a> communicates commitment to a specific level of service (target) over a specific time window (<a href="https://blog.alexewerlof.com/p/compliance-period">compliance period</a>).</p><p>Alerts tie that commitment to accountability. That&#8217;s why it is very important for the metrics to measure failures that threaten the consumer tasks.</p><p>Metrics are a key outcome of doing the service level assessment.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jnAC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jnAC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png 424w, https://substackcdn.com/image/fetch/$s_!jnAC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png 848w, https://substackcdn.com/image/fetch/$s_!jnAC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png 1272w, https://substackcdn.com/image/fetch/$s_!jnAC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jnAC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png" width="1064" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1064,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:174448,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/169986662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jnAC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png 424w, https://substackcdn.com/image/fetch/$s_!jnAC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png 848w, https://substackcdn.com/image/fetch/$s_!jnAC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png 1272w, https://substackcdn.com/image/fetch/$s_!jnAC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d0470cf-1fba-4953-8e23-5683b9a70f68_1064x876.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1>Recap</h1><p>Create your own graph using my open source and free project over here:</p><ul><li><p><a href="https://slc.alexewerlof.com/app/assessment">Stable version</a> (&#128721;not deployed as of early August 2025)</p></li><li><p><a href="https://slc-dev.alexewerlof.com/app/assessment">Latest development version</a></p></li></ul><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/service-level-topology?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you found this post insightful, please share the inspiration in your circles and on social media</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/service-level-topology?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/service-level-topology?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a> is to give away most content for free. These posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends. The simplest way to support this work is to <strong>like</strong>, <strong>subscribe</strong> and <strong>share</strong> it. If you really want to support me lifting our community, you can consider a paid subscription. If you want to save money, you can get 20% off via <a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. As a token of appreciation, subscribers get full access to the Pro-Tips sections and my online book <a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Your contribution also funds my open-source products like <a href="https://slc.alexewerlof.com/">Service Level Calculator</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><p><em>And to those of you who support me already, <strong>thank you</strong> for sponsoring this content for the others. &#128588; If you have questions or feedback, or you want me to dig deeper into something, please let me know in the comments.</em></p>]]></content:encoded></item><item><title><![CDATA[SLA vs SLO]]></title><description><![CDATA[Demystifying the most common misconception in Service Level jargon]]></description><link>https://blog.alexewerlof.com/p/sla-vs-slo</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/sla-vs-slo</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Sat, 21 Jun 2025 07:37:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qkOK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;<em>I want all teams to set SLAs between each other</em>&#8221;, said the leadership.</p><p>&#128173; And I thought to myself: &#8220;<em>What are you smoking? I want some of that too! It must be good! What do you mean SLA between teams? Unless one team is literally paying the salary of another team and can take them to court in case of a breach, we&#8217;re talking about <strong>SLO</strong>, not SLA</em>&#8221;!</p><ul><li><p>SLA = Service Level Agreement</p></li><li><p>SLO = Service Level Objective</p></li></ul><p>To the untrained eye, the difference is very subtle: just one vowel! Many people, including self-proclaimed SREs use SLA and SLO interchangeably.</p><p>&#129488; But once you know the difference, statements like the one I quoted becomes ridiculously funny.</p><p>When I&#8217;m hiring SREs, asking the difference between SLA and SLO is my favorite &#8220;trick question&#8221; because it reveals nuanced knowledge about how reliability is communicated.</p><p>This short post covers:</p><ul><li><p>Why does this distinction matter?</p></li><li><p>An illustration to build a memorable base</p></li><li><p>Quotes from Google&#8217;s books</p></li></ul><p>This is not an entry article about SLA or SLO. We have covered those topics before:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;85961624-1850-4874-b8d0-7e383854a632&quot;,&quot;caption&quot;:&quot;Service Level Objective (SLO) sets the reliability expectation for the service based on how the service consumer perceives reliability (SLI).&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;SLO&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-05-06T12:45:03.587Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ec62079-bcea-47fa-aafc-e3f7b6ed0f9a_1054x876.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/slo&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:142248697,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:18,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f3dd1843-41d5-4332-b252-c68a57f49cc6&quot;,&quot;caption&quot;:&quot;SLA stands for Service Level Agreement. The agreement here refers to a legally binding contract not just a handshake between teams (that&#8217;s where internal SLO usually stops).&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Service Level Agreement&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-03-11T05:30:28.924Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!8rTf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9373d220-117e-4814-9a31-428abd3de3c6_1065x822.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/sla&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:142293706,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:17,&quot;comment_count&quot;:5,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>As usual, there will be plenty of examples and illustrations to make the abstract topics more approachable.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h2>Why does this post exist?</h2><p>I really didn&#8217;t want to write this post because Google SRE books have done a great job of explaining it. But for 2 reasons I have to:</p><ol><li><p>If the point of the language is to communicate, it really pays back to use the correct word. Normally, I wouldn&#8217;t care &#8212;I&#8217;m not a word Nazi. But when building a user facing service, knowing the difference and relationship between SLA and SLO pays back enormously.</p></li><li><p>Asking &#8220;AI&#8221; and searching the internet gets you only so far. <a href="https://www.atlassian.com/incident-management/kpis/sla-vs-slo-vs-sli">Atlassian</a>, <a href="https://www.pagerduty.com/resources/digital-operations/learn/what-is-slo-sla-sli/">PagerDuty</a>, and even <a href="https://cloud.google.com/blog/products/devops-sre/sre-fundamentals-slis-slas-and-slos">Google</a> have pages on the topic but I still haven&#8217;t found a resource that is crisp, illustrated, and to the point. I needed something that I could share with people without having to repeat myself again and again. This post exists to scale that ensuing &#8220;Aha&#8221; moment.</p></li></ol><h2>A visual guide</h2><p>Sometimes SLI is brought up in comparison to SLA and SLO. We have covered each of them in separate articles.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8s66!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8s66!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png 424w, https://substackcdn.com/image/fetch/$s_!8s66!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png 848w, https://substackcdn.com/image/fetch/$s_!8s66!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png 1272w, https://substackcdn.com/image/fetch/$s_!8s66!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8s66!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png" width="1037" height="860" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:860,&quot;width&quot;:1037,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:85816,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/166314539?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8s66!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png 424w, https://substackcdn.com/image/fetch/$s_!8s66!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png 848w, https://substackcdn.com/image/fetch/$s_!8s66!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png 1272w, https://substackcdn.com/image/fetch/$s_!8s66!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e488f68-9532-4c82-86e1-a28883f32806_1037x860.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In simple terms:</p><ul><li><p><strong><a href="https://blog.alexewerlof.com/p/sli">SLI</a>:</strong> Service Level Indicator &#8594; these are just metrics that show how the service consumer perceives reliability of our <a href="https://blog.alexewerlof.com/p/service">service</a> (not to be confused with microservice or a backend, in Service Level model, a <em>service</em> refers to a capability or solution for a customer problem).</p></li><li><p><a href="https://blog.alexewerlof.com/p/sls">SLS</a>: Service Level Status &#8594; is the actual value of the indicator in a given time period. If SLI specifies the metric and formula, SLS puts the actual values in it to quantify the reliability and performance of the service.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/slo">SLO</a>:</strong> Service Level Objective &#8594; sets the targets for those metrics in a period of time (like 30 days). As long as SLS is above SLO, we&#8217;re good.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/sla">SLA</a>:</strong> Service Level Agreement &#8594; is a legal agreement that connects an external-facing SLI and SLO to financial or legal consequences. This is often the source of confusion and the main reason this article exists.</p></li></ul><p>Here&#8217;s a visual representation using a gauge as a metaphor for SLI:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mVzf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mVzf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png 424w, https://substackcdn.com/image/fetch/$s_!mVzf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png 848w, https://substackcdn.com/image/fetch/$s_!mVzf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png 1272w, https://substackcdn.com/image/fetch/$s_!mVzf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mVzf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png" width="1038" height="886" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:1038,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130454,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/166314539?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mVzf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png 424w, https://substackcdn.com/image/fetch/$s_!mVzf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png 848w, https://substackcdn.com/image/fetch/$s_!mVzf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png 1272w, https://substackcdn.com/image/fetch/$s_!mVzf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc74e18a0-19fe-4ed7-8ab4-0707b22a3180_1038x886.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It can be a bit confusing because SLA <em>has</em> an SLI and SLO. The best way to think about SLA is as a <strong>legal layer on top of SLI and SLO</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1IIW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1IIW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png 424w, https://substackcdn.com/image/fetch/$s_!1IIW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png 848w, https://substackcdn.com/image/fetch/$s_!1IIW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png 1272w, https://substackcdn.com/image/fetch/$s_!1IIW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1IIW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png" width="1019" height="980" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:980,&quot;width&quot;:1019,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:99544,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/166314539?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1IIW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png 424w, https://substackcdn.com/image/fetch/$s_!1IIW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png 848w, https://substackcdn.com/image/fetch/$s_!1IIW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png 1272w, https://substackcdn.com/image/fetch/$s_!1IIW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2efa196b-e9e0-4fec-a832-e0418d233e52_1019x980.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What does Google say?</h2><p>We get our first clue in <a href="https://sre.google/sre-book/service-level-objectives/">Chapter 4 of Google SRE Book</a>:</p><blockquote><p>&#8230; [SLA is] an explicit or implicit <strong>contract</strong> with your users that includes <strong>consequences</strong> of meeting (or missing) the SLOs they <strong>contain</strong>.</p></blockquote><p>More explicitly, the <em>difference</em> is in the consequence:</p><blockquote><p>The consequences are most easily recognized when they are financial&#8212;a rebate or a penalty. </p></blockquote><p>To reduce ambiguity, the book offers a simple mental exercise:</p><blockquote><p>An easy way to tell the difference between an SLO and an SLA is to ask, "<em>what happens if the SLOs aren&#8217;t met</em>?": if there is no explicit consequence, then you are almost certainly looking at an SLO.</p></blockquote><p>And here is an example to solidify the difference:</p><blockquote><p><strong>Google Search</strong> is an example of an important service that doesn&#8217;t have an SLA for the public: we want everyone to use Search as fluidly and efficiently as possible, but we haven&#8217;t signed a contract with the whole world.</p><p>Even so, there are still consequences if Search isn&#8217;t available&#8212;unavailability results in a hit to our reputation, as well as a drop in advertising revenue. </p><p>Many other Google services, such as <strong>Google for Work</strong>, do have explicit SLAs with their users. Whether or not a particular service has an SLA, it&#8217;s valuable to define SLIs and SLOs and use them to manage the service&#8221;</p></blockquote><h2>SLA/SLO in my experience</h2><p>There are quite a few pages on the internet about SLA: <a href="http://en.wikipedia.org/wiki/Service-level_agreement">Wikipedia</a>, <a href="https://aws.amazon.com/what-is/service-level-agreement/">Amazon</a>, <a href="https://www.ibm.com/think/topics/service-level-agreement">IBM</a>, <a href="https://www.atlassian.com/itsm/service-request-management/slas">Atlassian</a>, <a href="https://www.salesforce.com/service/service-level-agreement/">SalesForce</a>, <a href="https://www.zendesk.com/se/blog/keeping-word-support-sla/">ZenDesk</a>, &#8230;</p><p>Apart from the fact that some of them parrot each other, the <a href="https://sre.google/sre-book/service-level-objectives/">Google SRE book</a> remains the undisputable reference. Even then, having helped hundreds of teams to set their SLO and consulted multiple SLAs, I&#8217;m opinionated about a few aspects:</p><ol><li><p><strong>SLA should be a written legal contract.</strong> Google&#8217;s definition gives <em>implicit</em> contracts a pass (e.g. if you say something in a meeting, email, or API documentation), but in my experience SLA is important enough to write a legally binding contract to remove any confusion or interpretation.</p></li><li><p><strong>SLA should be explicit and external-facing.</strong> Google does a good job clarifying why SLA is external facing but it&#8217;s not overly prescriptive about what it actually means. To me, any entity that sells a service should have an SLA that is easy to find and understand. When you buy a pair of speakers online, you check the specifications to know what you&#8217;re getting for the money. The same is true for more complex SaaS: as a paying consumer, you have the right to know what level of reliability you&#8217;re buying, how much you can depend on it, and what happens if you don&#8217;t. Having an SLA is not just goodwill. It can protect the service provider from law suits due to misunderstanding and misalignment of expectations.</p></li></ol><p>The confusion between SLA and SLO mainly stems from 2 anti-patterns:</p><ol><li><p><strong>SLO&#8217;s that are disconnected from accountability and change management.</strong> Some organizations which are at the beginning of their journey to adopt SLOs, only see them as a way to measure and optimize service level. This only utilizes half of their advantage.</p><ol><li><p>A good SLO is tied to accountability via alerting. If the service is degrading or disrupting, you want the service owners to be on top of it. Only when the SLO is connected to alerting, it can be taken seriously.</p></li><li><p>The complement of SLO, Error budget, should also be connected to CI/CD to block non-urgent changes. If the service has burned its error budget, change (as the number 1 enemy of reliability) should be blocked in order to stick to the level of commitment made by the SLO. Only when the error budget is used to control risk, it can be taken seriously.</p></li></ol></li><li><p><strong>SLA&#8217;s are not seen as external facing legal documents.</strong> This comes from poor understanding of the legal side of the SLA. This is sometimes due to how other frameworks like ITIL use SLA loosely for service design.</p></li></ol><p>When the SLO is connected to alerting and change management, it has enough consequences to guide the engineers own their service.</p><p>You don&#8217;t need to call it an SLA to distinguish serious SLOs from others. If it&#8217;s not serious, it shouldn&#8217;t be an objective in the first place.</p><p>The word &#8220;agreement&#8221; is primarily and exclusively reserved for a legal agreement based on my experience.</p><p>The SLA takes much more effort and uses a completely different bag of tricks to protect the service provider from the risks of the service consumer.</p><p>In a future article, we&#8217;ll unpack this bag of tricks for both when you&#8217;re offerring a SLA or when signing a SLA provided to you. What&#8217;s important is to understand that SLA is a completely different beast with different incentives, participants, and guarantees.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h2>Similarities and differences between SLA vs SLO</h2><p>SLA and SLO are related but different:</p><h3><strong>Accountability</strong></h3><p>Previously we&#8217;ve covered the difference between accountability and responsibility.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4d12b9f9-1b6a-4579-965f-c0d9cdaa5dbc&quot;,&quot;caption&quot;:&quot;English isn&#8217;t my native tongue. I didn&#8217;t know the difference between these accountability and responsibility until my ownership trio was pretty popular. TLDR; here&#8217;s the summary:&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Accountable vs Responsible&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-11-29T09:22:15.595Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d21e22a-ac34-4510-bc50-368c52f6608a_500x673.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/accountable-vs-responsible&quot;,&quot;section_name&quot;:&quot;Technical Leadership&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:152293327,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>TLDR; it boils down to legal consequences and punishment.</p><ul><li><p><strong>Similarity:</strong> Both SLA and SLO communicate measurable service level <strong>commitments</strong> towards the service consumers.</p></li><li><p><strong>SLA:</strong> the commitment is typically tied to some financial penalties and entitles the consumer to compensation or legal action in case of a breach.</p></li><li><p><strong>SLO:</strong> is softer and the consequence of burning the error budget is typically implemented in annoyances like not being able to push new changes to production (change is the number one enemy of reliability: any time you change a system, its likelihood of failure spikes up).</p></li></ul><p>This difference is small but important because as we discussed in <a href="https://blog.alexewerlof.com/p/sla">the article about SLA</a>, it boils down to service consumers having leverage or not.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jaaZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jaaZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png 424w, https://substackcdn.com/image/fetch/$s_!jaaZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png 848w, https://substackcdn.com/image/fetch/$s_!jaaZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png 1272w, https://substackcdn.com/image/fetch/$s_!jaaZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jaaZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png" width="1038" height="809" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:809,&quot;width&quot;:1038,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:104563,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/166314539?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jaaZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png 424w, https://substackcdn.com/image/fetch/$s_!jaaZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png 848w, https://substackcdn.com/image/fetch/$s_!jaaZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png 1272w, https://substackcdn.com/image/fetch/$s_!jaaZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1414d38b-1bc6-4357-827f-74adb46065bb_1038x809.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>SLO Target</strong></h3><p>They both set <strong>expectations</strong> that are set through research and negotiation.</p><p><strong>An SLO that is in the SLA</strong> promises less reliability than internal SLO because our external commitment should always be lower than what we internally aim for.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qkOK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qkOK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png 424w, https://substackcdn.com/image/fetch/$s_!qkOK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png 848w, https://substackcdn.com/image/fetch/$s_!qkOK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png 1272w, https://substackcdn.com/image/fetch/$s_!qkOK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qkOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png" width="981" height="831" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:831,&quot;width&quot;:981,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:137805,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/166314539?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qkOK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png 424w, https://substackcdn.com/image/fetch/$s_!qkOK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png 848w, https://substackcdn.com/image/fetch/$s_!qkOK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png 1272w, https://substackcdn.com/image/fetch/$s_!qkOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf7976ea-5a03-409c-b1a1-7ba79686a90a_981x831.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For example, if internally we aim for a SLO of 99.99%, the SLA we commit externally may be 99.5% (roughly buying us twice the error budget).</p><p>Under promise and overdeliver, not the other way around.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><p>Regardless of what we aim for, it is always advised to think about the cost of reliability and balance that against the business profit (revenue - expenses) for a given service.</p><p>This is the core premise of the 10x/9 rule which elaborates &#8220;those 9&#8217;s aren&#8217;t free!&#8221; <strong>&#128515;</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;48d2ae23-1881-4f42-b1fd-7b86672b6f08&quot;,&quot;caption&quot;:&quot;When setting SLOs (service level objectives) there&#8217;s a rule of thumb that goes like this:&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;10x/9 Rule&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-12-01T05:30:17.586Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1d1a58d-cfed-4818-9a2d-125174277f54_1051x577.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/10x9&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:139126336,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3><strong>Audience</strong></h3><ul><li><p><strong>Similarity:</strong> they both set expectations between a service provider and service consumer.</p></li><li><p><strong>SLA:</strong> the consumer is often an <strong>external</strong> entity with leverage.</p></li><li><p><strong>SLO:</strong> the consumer is often <strong>internal</strong> (e.g., other teams in the same organization).</p></li></ul><h3><strong>Level of detail</strong></h3><ul><li><p><strong>Similarity:</strong> They both tie an indicator (metric) to an objective (e.g. 99.9%) but are detailed in different ways.</p></li><li><p><strong>External SLIs that are tied to SLA</strong> are usually simpler (availability is the most common one). However, SLA has extra details about the legal aspect (consequences, compensations, exceptions, credit, support mechanisms) and typically contains a glossary to build a common language with external consumers. If the service provider is a large vendor, it may get away with having a cookie cutter SLA for all consumers (see <a href="https://cloud.google.com/terms/sla">Google Cloud SLA</a> for an example).</p></li><li><p><strong>Internal SLIs that are only tied to SLOs</strong> are more detailed because their primary target are the engineering teams which have a good knowledge about how the service is implemented and consumed. This leads to more nuanced and detailed SLIs that focus on <a href="https://blog.alexewerlof.com/p/responsible-for-control">what the team controls</a>. In contrast, external SLIs abstract away the shape of the organization and implementation details.</p></li></ul><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3f4ddadf-8586-4813-8e36-b07f4aece7bc&quot;,&quot;caption&quot;:&quot;One of my favorite sentences to say during Service Level Workshops is:&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;You should never be responsible for what you don't control&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-02-20T18:54:47.854Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7855ff73-782f-4250-b6f4-f6bb636d37af_1067x738.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/responsible-for-control&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:141855236,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:19,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3><strong>Monitoring</strong></h3><ul><li><p><strong>Similarity:</strong> They are both <strong>monitored</strong> and tied to alerting.</p></li><li><p><strong>The SLS of an SLA:</strong> may also be tied to a publicly visible status page to help the consumers troubleshoot their system by quickly assessing the reliability of their dependencies. When things fail, the consumers should have an effortless way to answer: &#8220;is it me or is it them?&#8221; For example, the <a href="https://azure.status.microsoft/en-us/status">Azure Status page</a> helps their customers to roll out cloud disturbances in case they have an incident. Same with <a href="https://www.githubstatus.com/">Github</a>, <a href="https://slack-status.com/">Slack</a>, <a href="https://www.google.com/appsstatus/dashboard/">Google</a> and a <a href="https://github.com/ivbeg/awesome-status-pages">whole bunch of others</a>. There are tons of products in this area, and you can even set one up using open-source products like <a href="https://cachethq.io/">Cachet</a>.</p></li><li><p><strong>The SLS of an internal SLO</strong> typically misses that public-facing monitoring and is often implemented as an internal dashboard on the observability platform. It requires less effort.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!91xa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!91xa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png 424w, https://substackcdn.com/image/fetch/$s_!91xa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png 848w, https://substackcdn.com/image/fetch/$s_!91xa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png 1272w, https://substackcdn.com/image/fetch/$s_!91xa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!91xa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png" width="1041" height="968" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:968,&quot;width&quot;:1041,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:36119,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/166314539?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!91xa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png 424w, https://substackcdn.com/image/fetch/$s_!91xa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png 848w, https://substackcdn.com/image/fetch/$s_!91xa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png 1272w, https://substackcdn.com/image/fetch/$s_!91xa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0214a055-e28a-41dd-a02a-2f1f1ef26fdf_1041x968.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">aPluse status page on 2025-06-21</figcaption></figure></div><h3>Purpose</h3><ul><li><p><strong>Similarity:</strong> They are both used to set expectations.</p></li><li><p><strong>SLA</strong> is written in a way that protects the service providers&#8217; interest. That is because when the service is <a href="https://blog.alexewerlof.com/p/service-degradation-vs-disruption">disrupted or degraded</a>, the service provider already looks bad. The last thing it needs is to add insult to the injury and put money on the table.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;8f031692-e84a-4954-8dfc-06d2bacc50b3&quot;,&quot;caption&quot;:&quot;In the context of reliability engineering, there are three terms that are related but sometimes used incorrectly.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Degradation vs disruption&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-07-10T13:49:59.325Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/service-degradation-vs-disruption&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:146395325,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:18,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></li><li><p><strong>Internal SLO</strong> is primarily used for giving a focus to service optimization.</p></li></ul><blockquote><p>&#8230; if you can&#8217;t ever win a conversation about priorities by quoting a particular SLO, it&#8217;s probably not worth having that SLO &#8212;<a href="https://sre.google/sre-book/service-level-objectives/#id-LvQu7SYSqivIotbub-marker">Google SRE book Chapter 4</a></p></blockquote><h3><strong>Revision frequency</strong></h3><ul><li><p><strong>Similarity:</strong> both are subjected to revision and readjustments as the tech evolves and/or the consumer demands changes.</p></li><li><p><strong>SLA:</strong> is revised less often and is more ceremonial because it involves business stakeholders, legal, and representatives from different parties.</p></li><li><p><strong>Internal SLO:</strong> can be revised every few months, sometimes weeks. Since its primary consumers are the internal engineers, it may go through rapid evolution to become what makes sense to them. Moreover, the internal stakeholders typically enjoy more flexibility than an external stakeholder to get what they want in a timely manner.</p></li></ul><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sla-vs-slo?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this post insightful, please share it in your circles and social media to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sla-vs-slo?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/sla-vs-slo?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a> is to give away most content for free. These posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends. The simplest way to support this work is to <strong>like</strong>, <strong>subscribe</strong> and <strong>share</strong> it. If you really want to support me lifting our community, you can consider a paid subscription. If you want to save money, you can get 20% off via <a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. As a token of appreciation, subscribers get full access to the Pro-Tips sections and my online book <a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Your contribution also funds my open-source products like <a href="https://slc.alexewerlof.com/">Service Level Calculator</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><p><em>And to those of you who support me already, <strong>thank you</strong> for sponsoring this content for the others. &#128588; If you have questions or feedback, or you want me to dig deeper into something, please let me know in the comments.</em></p>]]></content:encoded></item><item><title><![CDATA[When a team is too big]]></title><description><![CDATA[What signs to look for and how to increase productivity with all-round skillset]]></description><link>https://blog.alexewerlof.com/p/when-a-team-is-too-big</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/when-a-team-is-too-big</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Thu, 15 May 2025 10:05:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Lately I&#8217;ve been thinking a lot about these questions:</p><ol><li><p>What is a team?</p></li><li><p>How large is too large and how small is too small?</p></li><li><p>What qualifies a missions?</p></li><li><p>How to weigh the cons and pros of specialist vs generalist in the age of GenAI?</p></li></ol><p>There&#8217;s a story for several years back that keeps back to my mind. What makes it interesting is the fact that there was no master plan. Yet with a few cultural elements, the story took such an interesting trajectory that it shaped my leadership model. Ever since, I have been an advocate of continuous improvement by preparing the environment instead of being the wise-ass who has the ultimate solution to all problems.</p><p>Today I want to tell that story with these key takeaways:</p><ul><li><p>A generalist team is less likely to have internal dependencies acting as bottlenecks, blockage, and single point of failure. Generalist teams are more productive and resilient.</p></li><li><p>Handovers introduce the risk of misunderstanding, delay, miscommunication, and diluted accountability. Clear ownership requires knowledge, mandate, and responsibility. It&#8217;s easier to implement with generalists.</p></li></ul><p>But as we&#8217;ll see generalism has its own challenges as well.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><p><em><strong>&#129302;&#128683; Note: No generative AI was used to create this content (except one image that&#8217;s clearly marked). This page is only intended for human consumption and is NOT allowed to be used for machine training including but not limited to LLMs. (<a href="https://blog.alexewerlof.com/i/141786627/q-why-do-you-put-a-copyright-message-and-ban-generative-ai-genai-in-your-posts">why</a>?)</strong></em></p><div><hr></div><h1>Story</h1><p>Many yeas ago I was part of a large team. 14 members to be exact.</p><p>The problems started from the first standup: I didn't follow 90% of what everyone else was talking about. I thought it's because I'm new to the team but as time passed and I got closer to the other team members I learned that some others feel the same.</p><p>It wasn't unusual to see someone visibly yawn or fall almost sleep during the standup. There was at least something in the round of standup that was completely irrelevant and boring to a few.</p><p>In an effort to keep the standup short, we had a time limit per person paired with invented hand gestures to signal the person who is talking that their time is over.</p><p>We were 11 engineers which can still be fed on <a href="https://martinfowler.com/bliki/TwoPizzaTeam.html">2-pizzas</a>! Size wasn't the issue.</p><p>In fact, quite the opposite: every now and then we heard about a task that never came up during the standup and wasn&#8217;t in the backlog!</p><p>We learned about those phantom tasks as they were close to the finish line or after they ere delivered.</p><p>How did that happen? Usually, someone from another team or another part of the organization reached out for a friendly <em>favor</em> and since we had enough bandwidth and great engineers, they often did their best to help.</p><h1>Async Standup</h1><p>Later we switch to async standup. The implementation was simple: every workday a Slack reminder would pop up with a fixed message:</p><blockquote><ol><li><p>What did you do yesterday?</p></li><li><p>What will you do today?</p></li><li><p>Are there any impediments or do you need any help?</p></li></ol></blockquote><p>Each team member would write a comment more or less in line with what they would be telling at a sync (face to face) standup.</p><p>Those comments came in during the day, and some folks consistently missed it. Regardless, I rarely read all the comments because they were not relevant to what I was doing.</p><p>This was less disruptive than taking 30 minutes (less than 3 minutes per person) for the daily standup, which often dragged to 45 minutes and sometimes even an entire hour!</p><p>The async report turned to exactly that: <em>a report</em>.</p><p>The main value of a standup is to have a dialogue about blockage and spark opportunities to work together. Otherwise, it's enough to move issues on the Kanban swim lanes with a comment. That covers the reporting part. We missed a dialogue when a dialogue was due.</p><h1>Concern-based Task Forces</h1><p>I raised these issue in one of our retrospectives and the EM/PM said they'll take action.</p><p>The solution they came up with was to break the team into two halves:</p><ul><li><p>The front-end "task force" (as it was called) would work on front-end stuff basically taking a Figma design and turning it to working UI.</p></li><li><p>The back-end task force would cover the rest from API, to CI/CD, and configuring cloud and operations.</p></li></ul><p>The idea was to have smaller groups that would move faster, delivery independently, and are more relevant and connected to each other.</p><p>And we cut the team by tech, because anyone who has worked with engineers knows that they can be quite religious about their tools of choice. Back-end/Front-end seemed to be different enough to justify that cut.</p><div class="pullquote"><p>Good engineers are good problem solvers not a layer of meat wrapped around a tool!</p></div><p>The hypothesis was that front-end developers should care enough about each other's world and standup report. Similarly back-end task force should have some sort of interest and common language to hear each other and collaborate.</p><p>As a bonus, now that the task forces were smaller, they could go back to the sync stand up and unlock those dialogues.</p><p>This sounded reasonable for exactly 5 working hours! On the next standup it was evident that there are dependencies between the two task forces. Who would have thought? &#128516;</p><p>Regardless, we gave it a go for a couple of sprints until the feedback from the next retrospective came in.</p><h1>Fluid Task Forces</h1><p>The next iteration was for people from one task force to attend the standup of the other when they feel it is relevant or they have an agenda to share (e.g. if a front-end person needs to work with the backend person to change the API for a new feature).</p><p>The two stand ups where lined up one after the other to facilitate this.</p><p>As you can imagine, some of us consistently attended both standups while others consistently took tasks that were in one of the front/back-end bucket. </p><p>So the total time spent in standup actually increased while some team members were isolated from each other by the nature of their tasks which was a function of their technical specialty. e.g., one person only worked with our in-house CSS-framework and barely had to talk to the back-end task force.</p><p>We were a Swedish team. Efficiency, pragmatism, and continuous improvement was embedded into our culture. I don't say this to brag, but to elaborate why we were in constant endeavor to optimize our work and how leadership supported these experiments.</p><p>Individually we were not smart, but together we found a way that was generally more sensible and holistic.</p><h1>Other solutions</h1><p>Before discussing the final solution we landed on, I just want to quickly iterate a few other experiments we did:</p><ul><li><p><strong>Break the team in two halves with a shared EM/PM:</strong> The API served as a clear abstraction between front-end and backend. But the operation (e.g. CI/CD and even on-call) primarily fell on the back-end team. Unfair.</p></li><li><p><strong>Create delivery focused ephemeral feature teams:</strong> For example, implementing GDPR in the front-end and back-end, required a couple of people from each expertise. Same with the user-tracking feature. These ephemeral feature teams would emerge as needed and collapsed when the task was done. The problem was that it was hard to get the right resources when everyone was locked in some feature team. Maintaining the feature afterwards would unofficially steal resources that were now busy with other tasks.</p></li><li><p><strong>Hire consultants to cover temporary spikes in bandwidth demand:</strong> This was a bit ridiculous because the team was already quite big and it was hard to justify why we need consultants to add extra bandwidth. Upper management pushed back to utilize the available bandwidth in a smarter manner.</p></li></ul><p>By this time, we&#8217;re more than a year into these struggles and while some have accepted that this is just the nature of having such a large team, others are still pushing new ideas every retro!</p><p>Meanwhile, the company ran out of money to burn (we <a href="https://blog.alexewerlof.com/p/when-companies-feel-stressed">covered that story before</a>), and as Sundar Pichai says:</p><blockquote><p>Scarcity breeds clarity</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h1>The solution: generalists </h1><p>What worked for us eventually was to remove our specialist hats and be generalists:</p><p>Front-end, back-end, QA, DevOps, etc. are all different concerns for the same outcome and impact.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2Fde!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2Fde!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png 424w, https://substackcdn.com/image/fetch/$s_!2Fde!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png 848w, https://substackcdn.com/image/fetch/$s_!2Fde!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png 1272w, https://substackcdn.com/image/fetch/$s_!2Fde!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2Fde!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png" width="1085" height="584" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:584,&quot;width&quot;:1085,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2Fde!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png 424w, https://substackcdn.com/image/fetch/$s_!2Fde!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png 848w, https://substackcdn.com/image/fetch/$s_!2Fde!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png 1272w, https://substackcdn.com/image/fetch/$s_!2Fde!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91c4a47b-1d8d-4a07-8d3a-ca263ff70644_1085x584.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A recent article, dug into why breaking a role into multiple titles is a bad idea that hurts the business (more bottlenecks) and individuals (turning to cogs that only fit special machines).</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;cf308cb6-b812-4a56-98ac-1158977d2105&quot;,&quot;caption&quot;:&quot;Some organizations have a tradition of breaking one role to multiple titles which in turn are assumed by different people.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Breaking a role to multiple titles&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-11-03T14:47:40.435Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0fa53a7-a072-4dfd-9002-5dfd0ae03424_941x940.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/breaking-role-to-titles&quot;,&quot;section_name&quot;:&quot;Technical Leadership&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:151105939,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Sure, learning CSS is a challenge for someone who has spent their entire career behind an API.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kZLk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kZLk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif 424w, https://substackcdn.com/image/fetch/$s_!kZLk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif 848w, https://substackcdn.com/image/fetch/$s_!kZLk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!kZLk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kZLk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif" width="640" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2217854,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/163618092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kZLk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif 424w, https://substackcdn.com/image/fetch/$s_!kZLk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif 848w, https://substackcdn.com/image/fetch/$s_!kZLk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!kZLk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29129152-3632-4c68-aa1e-09e69de9a44e_640x480.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Similarly doing cloud configuration had a steep learning curve for someone who makes money moving bit in the browser sandbox.</p><p>It is unrealistic to expect everyone to turn specialist over night. The cognitive bandwidth is the bottleneck. It takes time to lean different disciplines especially when you&#8217;re new and need to rethink and unlearn.</p><p>But with the advent of copilots (with small "c"), it's already easier than ever to build an all-around skillset.</p><p>We didn&#8217;t have LLMs back then but we had another tool that was even more effective: mob programming! We were fortunate enough to get a department-wide workshop by <a href="https://www.linkedin.com/in/woodyzuill/">Woody Zuill</a> who is a recognized force behind popularizing the idea of working together on the same problem.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i59t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i59t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i59t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i59t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i59t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i59t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg" width="1456" height="1252" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1252,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:409645,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/163618092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!i59t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg 424w, https://substackcdn.com/image/fetch/$s_!i59t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg 848w, https://substackcdn.com/image/fetch/$s_!i59t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!i59t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b55eca9-921d-475b-8b92-beec1802fb45_1781x1531.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A huge side effect of mob programming is the knowledge sharing which unleashes the generalists in all of us.</p><p>Having worked with both AI-powered copilots and Mob Programming, I still think the latter is more powerful because:</p><ul><li><p>It provides <strong>higher communication bandwidth</strong>, especially when done onsite</p></li><li><p>Its <strong>self-correction mechanisms</strong> of team dynamic prevents problems like hallucination or context limit. Team members are more likely to call out bs than LLM and together we have better collective memory about how the product works.</p></li><li><p>The current generation of AI-powered copilots have no problem with adding complexity. &#8220;Given enough eyeballs all bugs are shallow&#8221;. Mob programming tends to produce outcomes that are approachable to the majority of the team members not the elite ninjas. It leads to <strong>simpler solutions that are more maintainable</strong>.</p></li></ul><h2>Specialist vs Generalist</h2><p>Good engineers are good problem solvers not a layer of meat wrapped around a tool!</p><p>An easy giveaway is when people introduce themselves as if their identity is attached to a tool:</p><ul><li><p>I&#8217;m a Java programmer</p></li><li><p>I&#8217;m a C# developer</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XvMK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XvMK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png 424w, https://substackcdn.com/image/fetch/$s_!XvMK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png 848w, https://substackcdn.com/image/fetch/$s_!XvMK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png 1272w, https://substackcdn.com/image/fetch/$s_!XvMK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XvMK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png" width="1098" height="1099" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1099,&quot;width&quot;:1098,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:457750,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/163618092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XvMK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png 424w, https://substackcdn.com/image/fetch/$s_!XvMK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png 848w, https://substackcdn.com/image/fetch/$s_!XvMK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png 1272w, https://substackcdn.com/image/fetch/$s_!XvMK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47fb621e-b2a8-4047-901e-5366fee84766_1098x1099.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image generated by Gemini and edited in Google Slides</figcaption></figure></div><p>Ownership is at the heart of the generalist (multi-skill) vs specialist (mono-skill) discussion.</p><p>Specialists&#8217; output is only part of the outcome. For example, let&#8217;s say one task requires 3 specialists to work together:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Nnb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Nnb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png 424w, https://substackcdn.com/image/fetch/$s_!_Nnb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png 848w, https://substackcdn.com/image/fetch/$s_!_Nnb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png 1272w, https://substackcdn.com/image/fetch/$s_!_Nnb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Nnb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png" width="1100" height="318" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:318,&quot;width&quot;:1100,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:13333,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/163618092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_Nnb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png 424w, https://substackcdn.com/image/fetch/$s_!_Nnb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png 848w, https://substackcdn.com/image/fetch/$s_!_Nnb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png 1272w, https://substackcdn.com/image/fetch/$s_!_Nnb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879b2a0-dc21-4118-a183-8c13b5c51afc_1100x318.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In practice, there will be extra communication load at the point of handover. But let&#8217;s ignore that because there is a larger waste at play: fake work.</p><p>You see, those specialists aren&#8217;t going to just sit and wait. They are very likely to create complexity and make their tasks big enough to be worth a full-time title. I&#8217;m not talking about adding tests or fixing bugs. I&#8217;m talking about bike shedding over linting rules, creating automation for one-off tasks, unnecessary migration and refactoring.</p><p>Something like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y5Wq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y5Wq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png 424w, https://substackcdn.com/image/fetch/$s_!Y5Wq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png 848w, https://substackcdn.com/image/fetch/$s_!Y5Wq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png 1272w, https://substackcdn.com/image/fetch/$s_!Y5Wq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y5Wq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png" width="1097" height="476" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:476,&quot;width&quot;:1097,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:34268,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/163618092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y5Wq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png 424w, https://substackcdn.com/image/fetch/$s_!Y5Wq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png 848w, https://substackcdn.com/image/fetch/$s_!Y5Wq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png 1272w, https://substackcdn.com/image/fetch/$s_!Y5Wq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21e2cb5-c7ca-4fc6-be31-92eb025678e1_1097x476.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can of course throw more work at them. Here, the same 3 specialists work on 2 different tasks in parallel:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AdRm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AdRm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png 424w, https://substackcdn.com/image/fetch/$s_!AdRm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png 848w, https://substackcdn.com/image/fetch/$s_!AdRm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png 1272w, https://substackcdn.com/image/fetch/$s_!AdRm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AdRm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png" width="1097" height="587" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:587,&quot;width&quot;:1097,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:27968,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/163618092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AdRm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png 424w, https://substackcdn.com/image/fetch/$s_!AdRm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png 848w, https://substackcdn.com/image/fetch/$s_!AdRm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png 1272w, https://substackcdn.com/image/fetch/$s_!AdRm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ac97eb1-ea22-4410-980f-3d1202363efe_1097x587.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Multi-tasking is hard. Even a CPU has a hard time switching contexts every 200ms to create the illusion of parallel processing. Humans are notorious when it comes to joggling between tasks.</p><p>Wouldn&#8217;t it be ideal if one single person could do everything? Here you see 3 generalists executing one task each with no handover:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kTub!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kTub!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png 424w, https://substackcdn.com/image/fetch/$s_!kTub!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png 848w, https://substackcdn.com/image/fetch/$s_!kTub!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png 1272w, https://substackcdn.com/image/fetch/$s_!kTub!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kTub!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png" width="1091" height="306" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:306,&quot;width&quot;:1091,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:18706,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/163618092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kTub!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png 424w, https://substackcdn.com/image/fetch/$s_!kTub!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png 848w, https://substackcdn.com/image/fetch/$s_!kTub!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png 1272w, https://substackcdn.com/image/fetch/$s_!kTub!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F036af714-b4f4-4066-a0c5-71033553fa6d_1091x306.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And here, 3 three of them works on one single task at a time in a setup like mob programming:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m-tO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m-tO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png 424w, https://substackcdn.com/image/fetch/$s_!m-tO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png 848w, https://substackcdn.com/image/fetch/$s_!m-tO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png 1272w, https://substackcdn.com/image/fetch/$s_!m-tO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m-tO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png" width="1098" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1098,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37428,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/163618092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!m-tO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png 424w, https://substackcdn.com/image/fetch/$s_!m-tO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png 848w, https://substackcdn.com/image/fetch/$s_!m-tO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png 1272w, https://substackcdn.com/image/fetch/$s_!m-tO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feff15267-7d37-433b-8d24-fc57b5754b32_1098x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The benefit here is that all 3 generalists get exposed to all 3 tasks and are more likely to fix any issues in the future. Plus, their collective experience is dedicated to each task, which improves quality.</p><h2>Why did it work?</h2><p>As time showed, turning the entire team to generalists wasn't as hard as we thought because:</p><ol><li><p><strong>Shared context and outcome:</strong> Everyone knew what the product is about. We were not learning a new discipline from abstract and in isolation. We were just learning different parts of the solution to the same problem. That context allowed us to bring what we already know, and curiously learn what we don't. Once those specialist titles were removed, there was little getting in the way of curiosity and exploration.</p></li><li><p><strong>Narrow needs:</strong> We didn't have to learn everything there is in a particular discipline. For example, the front-end developers didn't have to learn all types of CI/CD products to be productive. We had Travis, and as long as we could endure a knowledge-sharing session by a team mate and read though Travis documentation were productive enough not to depend on someone else for help with CI/CD, it was good. In the worse case scenario, we could ask for help from the people with more experience in the team, but that wasn't the default approach when facing with problems. We had access, knowledge, and enough mandate to unblock ourselves as we learn more.</p></li><li><p><strong>Motivation:</strong> In Drive, Daniel Pink mentioned <em>autonomy</em>, <em>mastery</em> and <em>purpose</em> as the key elements of keeping the team engaged. While the specialist approach enabled mastery, we reached all 3 with the generalist model. This is the crux of <a href="https://blog.alexewerlof.com/p/breaking-role-to-titles">the </a><em><a href="https://blog.alexewerlof.com/p/breaking-role-to-titles">role vs title</a></em><a href="https://blog.alexewerlof.com/p/breaking-role-to-titles"> and </a><em><a href="https://blog.alexewerlof.com/p/breaking-role-to-titles">outcome vs output</a></em><a href="https://blog.alexewerlof.com/p/breaking-role-to-titles"> argument</a>.</p></li><li><p>Swedish work culture is egalitarian where everyone is treated equally but is also expected to pull their weight to the best of their ability. Gone were the days where a front-end developer had to beg for admin access to the cloud provider. In the new model, everyone had enough access to own their delivery. But it also meant that the whole team needed to be lifted to understand the implications of their elevated access. This created a lot of collaboration and knowledge sharing opportunities that personally catapulted my career. I learned more from my team mates about how to maintain that specific product than I learned in 2 years of my master's degree on different shallow assignments.</p></li><li><p>Better ownership: In &#8220;<a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">you build it, you own it</a>&#8221; we distinguished 3 elements for full ownership:</p><ol><li><p><strong>Knowledge:</strong> you know the problem and solution space</p></li><li><p><strong>Mandate:</strong> you have the power to make changes without having to ask permission or rely on governance and baby sitters</p></li><li><p><strong>Responsibility:</strong> when sh*t hits the fan because of a decision you took, you have to deal with the clean up</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8FuF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F126a52a6-d7da-4557-87bd-1184562b897d_974x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8FuF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F126a52a6-d7da-4557-87bd-1184562b897d_974x876.png 424w, https://substackcdn.com/image/fetch/$s_!8FuF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F126a52a6-d7da-4557-87bd-1184562b897d_974x876.png 848w, https://substackcdn.com/image/fetch/$s_!8FuF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F126a52a6-d7da-4557-87bd-1184562b897d_974x876.png 1272w, https://substackcdn.com/image/fetch/$s_!8FuF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F126a52a6-d7da-4557-87bd-1184562b897d_974x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8FuF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F126a52a6-d7da-4557-87bd-1184562b897d_974x876.png" width="974" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/126a52a6-d7da-4557-87bd-1184562b897d_974x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:974,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8FuF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F126a52a6-d7da-4557-87bd-1184562b897d_974x876.png 424w, https://substackcdn.com/image/fetch/$s_!8FuF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F126a52a6-d7da-4557-87bd-1184562b897d_974x876.png 848w, https://substackcdn.com/image/fetch/$s_!8FuF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F126a52a6-d7da-4557-87bd-1184562b897d_974x876.png 1272w, https://substackcdn.com/image/fetch/$s_!8FuF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F126a52a6-d7da-4557-87bd-1184562b897d_974x876.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div></li></ol><p>The new model, established clear ownership which led to, faster delivery, higher quality, and overall cheaper operation.</p><p>Was it some genius master plan? I don&#8217;t think so. The money ran out and scarcity breeds clarity. The only thing we did right is to have open dialogues, experiment, learn from those experiments and continuously optimize our workflows.</p><p>Did the company go big and use this success as the new &#8220;<a href="https://www.jeremiahlee.com/posts/failed-squad-goals/">Spotify Model</a>&#8221;?</p><p>Hell no! &#128516;</p><p><a href="https://blog.alexewerlof.com/p/best-practice">There are no universal best practices, only fit practices.</a> You should see what works for your setup which is heavily influenced by the type of product you&#8217;re building, the talent bar you have available, the available budget and tons of other factors.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bad3d19f-62f2-4a50-b95c-970995601cf6&quot;,&quot;caption&quot;:&quot;Earlier in my career, I was an advocate of best practice. But as my understanding of the technology, product, operations and people grew, I realized that most best practices don&#8217;t live up to their promises.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Best Practice vs Fit Practice&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-12-04T16:39:05.120Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a623bd4-3c2b-4ffb-9134-bc2383d67f8a_737x349.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/best-practice&quot;,&quot;section_name&quot;:&quot;Growth&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:152571623,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I&#8217;m very careful not to prescribe what happened to us as some global truth that solves all problems. In fact, let&#8217;s dig some side effects of this way of working.</p><h1>Side effects</h1><p>All medicines have side effects! This solution is no exception. Here are some of the unexpected side effects after we executed the solution for 12 months:</p><ol><li><p><strong>Some specialists quit.</strong> Partly because venturing to the "other side" didn't make too much sense for them career-wise. Surprisingly, we could cope without having to fill those vacancies. My theory is that the specialist jobs don't take up 8 hours every single day. This creates a good amount of slack to learn new things or rest while getting paid! The generalist model maximized resource utilization (sorry for calling people "resources" but I'm borrowing this term from systems engineering hoping it makes sense in the next item). High utilization made some resources too "hot" to do it in a sustainable manner. Becoming generalist is not everyone's cup of tea, as we learned. This was way before the GenAI era. GenAI can help both in learning new concepts and help fix problems. Even with GenAI, this route can easily lead to fatigue without proper control of the intake. Fortunately we had 30 days of vacation (de facto standard in Sweden) and a dedicated development time (a percentage of the paid hours that can be spent to sharpen the axe), but still the risk of burnout was very real. Personally I had to use some of my vacation days to step back, reflect, and implement personal strategies to make the workload sustainable for me. But there&#8217;s nothing in this solution that promotes that. In fact, it is set up for maximum productivity and efficiency.</p></li><li><p><strong>We were not as deep as we wanted to be.</strong> A front-end developer works with 3 languages on a given day: JavaScript, CSS, HTML. Usually, one uses other languages that compile to those languages: TypeScript, SASS, JSX/TSX. Then there are test frameworks, SSR (server side rendering), icon libraries, fonts, etc. This concern is large enough to keep someone busy for years. Add the CI/CD, Kubernetes, Istio, and on-call duty on top of that and you get an exhausting amount of work. Sure, the resource utilization was high and each individual could get a lot done, but it also meant more context switching and less chance to get deep into the toolbox.</p></li></ol><p>I guess 1 &amp; 2 are two sides of the same coin. But given the accelerated growth, better utilization, and overall autonomy, I would pick this solution again if I was in a similar situation. YMMV.</p><p>Do you have experience with a similar setup? What would you add to this post to make it more useful for others who may come across?</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/when-a-team-is-too-big?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you found this post insightful, please share it in your circles and social media to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/when-a-team-is-too-big?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/when-a-team-is-too-big?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><h1>Recap</h1><p>The broken standup was merely a symptom. <strong>T</strong>he root cause was lack of interest and understanding.</p><p>The team of specialists didn't have a common language and shared goal so it was hard to do a standup that was relevant to everybody.</p><p>The generalist team on the other hand had common language and interest to fill the knowledge gap.</p><p>Regardless of what works for you, a key element of the culture was the willingness to experiment and continuously improve. That part is non-negotiable, even though your end state may differ from the story in this article.</p><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a> is to give away most content for free. However, these posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends.</em></p><p><em>The simplest way to support me is to <strong>like</strong>, <strong>subscribe</strong> and <strong>share</strong> this post.</em></p><p><em>If you really want to support me, you can consider a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections and my online book <a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. You can get 20% off via <a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. Your contribution, also funds my open source products like <a href="https://slc.alexewerlof.com/">Service Level Calculator</a>.</em></p><p><em>You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><p><em>And to those of you who support me already, thank you for sponsoring this content for the others. &#128588; If you have questions or feedback, or you want me to dig deeper into something, please let me know in the comments.</em></p>]]></content:encoded></item><item><title><![CDATA[Premature optimization]]></title><description><![CDATA[A mental model to detect and prevent optimizing the wrong thing, at the wrong time, or for the wrong reasons]]></description><link>https://blog.alexewerlof.com/p/premature-optimization</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/premature-optimization</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Mon, 24 Feb 2025 18:17:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!I4Z_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This article builds a mental model to distinguish between mature and premature optimization. We then proceed to talk about 7 important aspects to reduce risks of any optimization effort.</p><p>As usual, there are amble examples and illustrations.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><p><em><strong>&#129302;&#128683; Note: No generative AI was used to create this content. This page is only intended for human consumption and is NOT allowed to be used for machine training including but not limited to LLMs. (<a href="https://blog.alexewerlof.com/i/141786627/q-why-do-you-put-a-copyright-message-and-ban-generative-ai-genai-in-your-posts">why</a>?)</strong></em></p><h1>3T&#8217;s of optimization</h1><p>Optimization is the <em>intentional</em> process of changing systems (software, hardware, people, etc.) to improve one or more aspects. Typically, it involves changes and trade-offs.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;2d13bdb1-1bf7-4e6e-b8ce-1c0a96db3f73&quot;,&quot;caption&quot;:&quot;My article about a pragmatic approach to pay back tech debt became one of the most popular posts in this newsletter last year. It made rounds on Hacker news and social media, has been read over 85K times. and shared over 180 times.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Tech bet&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-01-25T22:10:37.215Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe159ab73-c3a2-4f5a-be8d-cc9d9ed83e58_985x794.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/tech-bet&quot;,&quot;section_name&quot;:&quot;Technical Leadership&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:141049754,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:24,&quot;comment_count&quot;:2,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Good optimization improves the right <strong>things</strong>, at the right <strong>time</strong>, and with reasonable <strong>trade-offs</strong>.</p><p>However, <em>change</em> introduces risk (delay, failure, cost, etc.).</p><blockquote><p><em>Premature optimization is the root of all evil</em> &#8212;Donald Knuth</p></blockquote><p>Premature optimization is when at least one of the following is true:</p><ol><li><p>Changing the wrong <strong>thing</strong>. Examples: </p><ol><li><p>The team takes 6 months to rewrite a Java micro-server to Rust to improve <em>response time</em>. After the rollout, they learn that the biggest source of delay was cross-region network dependencies.</p></li><li><p>A non technical manager falls in love with DORA metrics. His team sets up dashboards to track all 4 but she&#8217;s particularly focused on Lead Time. She uses carrots and sticks to get the team review PRs faster. The team games the system by making lots of pointless PRs to skew the data (e.g. updating inline code comments).</p></li></ol></li><li><p>Picking the wrong <strong>time</strong>. Examples:</p><ol><li><p>A nerdy startup founder burns the budget to create Google-level infrastructure for its one-endpoint API. The startup fails before discovering product market fit. First make it work, then make it better.</p></li><li><p>As the market-size was shrinking, a company realized that they need to rearrange their [human] resources to reduce waste and keep the balance sheets clean. So they decide to do a reorg. But every reorg has a J-curve (as we&#8217;ll discuss in this article). The productivity takes a hit before getting better. Being too impatient, leadership panicked at the sign of the J-curve and went with the second best option on their table: layoff!</p></li></ol></li><li><p>Choosing the wrong <strong>trade-offs</strong>. Examples:</p><ol><li><p>Leadership decides to switch observability provider to save cost. After 3 month of migration (the hidden cost), the team learns that the new provider has poor data quality and the support is crap! You get what you pay for.</p></li><li><p>Developers of a game engine decide to refactor the critical parts of the code in Assembly. This resulted in a 20% performance boost over the C++ code but now the company has to increase the price 2x to cover for the extra cost of development to support multi-platform and fix quirky bugs.</p></li></ol></li></ol><p>Now you have the the 3T&#8217;s of optimization:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I4Z_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I4Z_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png 424w, https://substackcdn.com/image/fetch/$s_!I4Z_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png 848w, https://substackcdn.com/image/fetch/$s_!I4Z_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png 1272w, https://substackcdn.com/image/fetch/$s_!I4Z_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I4Z_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png" width="716" height="641" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:641,&quot;width&quot;:716,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103224,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I4Z_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png 424w, https://substackcdn.com/image/fetch/$s_!I4Z_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png 848w, https://substackcdn.com/image/fetch/$s_!I4Z_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png 1272w, https://substackcdn.com/image/fetch/$s_!I4Z_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This simple mental model, enables you to quickly assess whether an optimization is mature or not.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><p>Ask the 3T&#8217;s:</p><h4>1. Thing</h4><ul><li><p>Are we optimizing the right thing?</p></li><li><p>Do we have data that supports it?</p></li><li><p>Have we done the due diligence to avoid data bias?</p></li><li><p>Is it a fact, or assumption, or belief (FAB)?</p></li></ul><h4>2. Time</h4><ul><li><p>Is this the right time to invest in optimization? Is it too soon/late?</p></li><li><p>Do we have a clear picture about the problem and various alternative solutions? Or should we wait for the problem space to evolve and various alternative solutions to mature?</p></li><li><p>What&#8217;s the time span till the investment pays off?</p></li></ul><h4>3. Trade-offs</h4><ul><li><p>Engineering is the art of trade-offs. Are we aware of the metrics that will be hurt by the optimization?</p></li><li><p>What is the list of things that will surprise us when the optimization is done?</p></li><li><p>Do we have contingency plan in place to reduce those risks?</p></li><li><p>Are the consequences objectively worth the effort?</p></li></ul><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/premature-optimization?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this article insightful, please share it in your circles and social media to inspire others</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/premature-optimization?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/premature-optimization?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a> is to give away most content for free. However, these posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends.</em></p><p><em>The simplest way to support me is to <strong>like</strong>, <strong>subscribe</strong> and <strong>share</strong> this post.</em></p><p><em>If you really want to support me, you can consider a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections and my online book <a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. You can get 20% off via <a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>.</em></p><p><em>You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><p><em>And to those of you who support me already, thank you for sponsoring this content for the others. &#128588; If you have questions or feedback, or you want me to dig deeper into something, please let me know in the comments.</em></p><div><hr></div><h1>Pro-Tips: Mature optimization</h1><p>Now that we have a mental model to detect premature optimization, let&#8217;s discuss a few basic rules to do the right thing (effectiveness) and do it right (efficiency).</p><p>The pro tips expands on the following points with illustrations:</p><ol><li><p>Avoiding optimization</p></li><li><p>Finding the right metric to optimize</p></li><li><p>Focusing on the subset that matters</p></li><li><p>The importance of control metrics</p></li><li><p>The value of experimentation before going big bang</p></li><li><p>Identifying the point of diminishing return to stop</p></li><li><p>Defining concern priority list</p></li><li><p>Picking the right time</p></li></ol><p>And we end with an example of mature optimization in a Python library that was used at the core of a 3D processing pipeline.</p>
      <p>
          <a href="https://blog.alexewerlof.com/p/premature-optimization">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Mapping reliability to accountability]]></title><description><![CDATA[Holding engineering leadership accountable for the reliability of engineering artifacts]]></description><link>https://blog.alexewerlof.com/p/mapping-reliability-to-accountability</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/mapping-reliability-to-accountability</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Fri, 06 Dec 2024 16:31:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xtdp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have spent the past 2 years rolling out Service Levels across a large organization (110+ teams). During this time I sat down with the majority of those teams face to face to identify their <a href="https://blog.alexewerlof.com/p/service">service</a>, methodically discover their reliability metrics (<a href="https://blog.alexewerlof.com/p/sli">SLI</a>), and set reasonable expectations (<a href="https://blog.alexewerlof.com/p/slo">SLO</a>) and take steps to establish <a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">full ownership</a>.</p><p>My focus has been the teams at the leaf nodes of the organization tree:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pz_q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pz_q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png 424w, https://substackcdn.com/image/fetch/$s_!Pz_q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png 848w, https://substackcdn.com/image/fetch/$s_!Pz_q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png 1272w, https://substackcdn.com/image/fetch/$s_!Pz_q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pz_q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png" width="1126" height="1059" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1059,&quot;width&quot;:1126,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:121744,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Pz_q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png 424w, https://substackcdn.com/image/fetch/$s_!Pz_q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png 848w, https://substackcdn.com/image/fetch/$s_!Pz_q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png 1272w, https://substackcdn.com/image/fetch/$s_!Pz_q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60998095-8eef-43de-8d4f-d2919776990d_1126x1059.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That is just the surface area for improving reliability. Knowing that your tech isn&#8217;t good is not going to help if the leadership is not on board with investments to improve it.</p><p>Moreover, the team dependencies across the org create gray areas where there isn&#8217;t clear ownership over SLO breaches.</p><p>To fix some hairy problems, we had to bring leadership onboard and work in the depth of the organization tree.</p><p>This post is about a few specific and common issues at the intersection of organization, technology, ownership, and reliability.</p><p><strong>&#129302;&#128683; Note: No generative AI was used to create this content. This page is only intended for human consumption and is NOT allowed to be used for machine training including but not limited to LLMs.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h1>Not just the leaves</h1><p>Before we talk about how we hold the leadership accountable for technical health, let&#8217;s review some of the problems that came my way. I&#8217;ll be paraphrasing and removing any company-specific names:</p><blockquote><p><em>&#8220;Why can&#8217;t engineers do their job right so the bugs don&#8217;t eat up the team bandwidth?&#8221; &#8212;</em><strong>A product manager &#128123;</strong></p></blockquote><p>&#9989; My take: reliability should be treated as a feature and prioritized against other features in the backlog. The <a href="https://blog.alexewerlof.com/p/10x9">rule of 10x/9</a> states that reliability has a cost. Set up a <a href="https://blog.alexewerlof.com/p/tech-debt-day">payment plan for tech debt</a> if that&#8217;s the issue.</p><blockquote><p><em>&#8220;We know our service reliability is not good, but we&#8217;re not successful in convincing the upper management to give us the time, budget, and headcount to pay the price of improving reliability&#8221; &#8212;</em><strong>A team EM &#128557;</strong></p></blockquote><p>&#9989; My take: Leadership can afford not to care because it&#8217;s not <em>their</em> problem. We need to make reliability everyone&#8217;s concern, particularly the upper management who formally have control over budgeting, hiring, deadlines and other factors that directly impact system health. The key is to show them the gauge and let them drive.</p><blockquote><p><em>&#8220;Leadership uses our service level status (<a href="https://blog.alexewerlof.com/p/sls">SLS</a>) against us. They perceive failure as a symptom of us engineers not doing our job properly.&#8221;</em> &#8212;<strong>An engineer &#129324;</strong></p></blockquote><p>&#9989; My take: you should be asking what does the leadership provide to support engineers? <a href="https://blog.alexewerlof.com/p/10x9">Nothing is free, especially reliability</a>.</p><p>This part is tricky because as an engineer you may not be empowered to ask those questions. I on the other hand, as a <a href="https://blog.alexewerlof.com/p/introduction-to-the-role-of-staff">Staff Engineer</a> have a responsibility to take this feedback and act on it.</p><blockquote><p><em>&#8220;We have an immature engineering culture. We need to show what good looks like and rank the teams against maturity models&#8221; &#8212;</em><strong><a href="https://blog.alexewerlof.com/p/ivory-tower-architect">Ivory Tower Architect</a> </strong>&#129313;</p></blockquote><p>&#9989; My take: Oh my! <a href="https://blog.alexewerlof.com/p/engineering-grading-systems">Please don&#8217;t go there</a>. &#128530; If you think tech is sh*t because people don&#8217;t know any better, you don&#8217;t understand engineering.</p><p>It is na&#239;ve to think that emitting a manifesto or chasing people or EMs will lead to meaningful change. It&#8217;s high visibility work but it doesn&#8217;t really make an impact. &#8220;<a href="https://lethain.com/work-on-what-matters/">Preening</a>&#8221; as Will Larsson puts it.</p><p>Besides, don&#8217;t measure people, measure the tech. As an IC, please stick to your lanes and <a href="https://blog.alexewerlof.com/p/staff-engineer-vs-engineering-manager">don&#8217;t interfere with engineering leadership accountability</a>.</p><blockquote><p><em>&#8220;My organization doesn&#8217;t have incidents because I haven&#8217;t seen any&#8221; &#8212;</em> <strong>A middle manager </strong>&#128526;</p></blockquote><p>&#9989; My take: just because you don&#8217;t see it, doesn&#8217;t mean it doesn&#8217;t exist. Your engineers have learned to hide failure because they&#8217;ve been burnt before (or the tech health is fantastic! But that wasn&#8217;t the case here &#128516;).</p><blockquote><p><em>&#8220;This data is good. Too bad we have to wait a month. Can we do it weekly?&#8221; &#8212;</em><strong>Upper management after attending a monthly incident report meeting </strong>&#9203;</p></blockquote><p>&#9989; My take: lagging metrics lead to even more lagging actions. You need to see that data in near real-time.</p><p>Please don&#8217;t use meetings to review data and dashboards! If there&#8217;s a specific need that requires the higher communication bandwidth of a meeting, go for it. <a href="https://blog.alexewerlof.com/p/less-meetings-more-focused-work">Less meetings, more focused work</a>.</p><p>Ask for real-time dashboards and if that&#8217;s too complex for you, please do everyone a favor and switch jobs.</p><blockquote><p><em>&#8220;We have too many high impact incidents. Customers are unhappy. We&#8217;re losing profit. Seems like department leads screwed up! Mass layoff or at least some firing at the top level is in order&#8221;. &#8212;</em><strong>C-level </strong>&#128680;</p></blockquote><p>&#9989; My take: If your arm has a wound, you can cut it for sure. That&#8217;s one way to solve the problem. Replacing leadership is another solution. Just beware that new people come with new problems and delayed solutions!</p><p>Here&#8217;s a crazy idea: maybe you are the problem. What&#8217;s your reliability budget to pair with the technical error budget?</p><blockquote><p><em>&#8220;Part of my job is to pick up the phone when things are broken and route it to the right team. The other part is to run the monthly incident reports so they can take actions.&#8221; &#8212;</em><strong>Consultant hired for operational work </strong>&#128527;</p></blockquote><p>&#9989; My take: you do realize that&#8217;s not an actual job, right?</p><p>The only reason you exist is because there&#8217;s a gap between diverse data sources and the need to have a unified view over that data. Filling that gap with meat (manual effort) is one option, but the better option is to build a lightweight tool that streamlines your effort.</p><p>That way you get to do actual work instead of reading PowerPoint slides showing dashboard snapshots!</p><blockquote><p><em>&#8220;If we implement best practices like TDD, DORA, or SLI/SLO, the state of tech will improve.&#8221; &#8212;</em> <strong>Staff Engineer </strong>&#128173;</p></blockquote><p>&#9989; My take: <a href="https://blog.alexewerlof.com/p/best-practice">Best practices</a> are often someone&#8217;s interpretation of how something worked at a certain time and environment.</p><p>If you want to find a solution that fits, there&#8217;s no way around rolling up your sleeves and working with the teams to understand the problem and all the forces at play.</p><p>Develop a hypothesis and methodically diffuse the bomb instead of just throwing your baggage from previous company or last blog post of conference at your teams. Avoid <a href="https://blog.alexewerlof.com/p/cargo-culting">cargo culting</a>.</p><div><hr></div><p>Many of these problems stems from distributed accountability and <a href="https://blog.alexewerlof.com/p/broken-ownership">broken ownership</a>.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d62743f4-4a00-432c-b75a-bb35fbe8d765&quot;,&quot;caption&quot;:&quot;Have you been in any of these situations?&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;6 Archetypes of Broken Ownership&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-08-01T17:10:54.401Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72091ddc-6191-4ccb-8d06-15a7edbed199_1012x964.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/broken-ownership&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:135623153,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:58,&quot;comment_count&quot;:7,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>And that&#8217;s what this post is about. We discuss a hypothesis and experiment we&#8217;ve run to close the gap between <a href="https://blog.alexewerlof.com/p/accountable-vs-responsible">accountability and responsibility</a> to reliability and budgeting!</p><h1>Our hypothesis</h1><p>At a high level we got:</p><ul><li><p>Engineers who build and maintain pieces of the holistic technical solution</p></li><li><p>Engineering leaders who control the budget, headcount, and hiring/firing</p></li><li><p>Product leaders who want a solution that just works</p></li></ul><p>Reliability is everyone&#8217;s concern, but the responsibility is not distributed evenly.</p><p>Our hypothesis is that by building a tool that maps reliability to accountability we can:</p><ol><li><p>Clarify this responsibility across the org</p></li><li><p>Prevent things from falling between the [organizational] cracks due to ambiguous ownership</p></li><li><p>Provide high-quality reliability data to replace guess work and gut feeling. Good data and insights lead to informed decisions. </p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!00LB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!00LB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png 424w, https://substackcdn.com/image/fetch/$s_!00LB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png 848w, https://substackcdn.com/image/fetch/$s_!00LB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png 1272w, https://substackcdn.com/image/fetch/$s_!00LB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!00LB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png" width="1126" height="1126" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1126,&quot;width&quot;:1126,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:157611,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!00LB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png 424w, https://substackcdn.com/image/fetch/$s_!00LB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png 848w, https://substackcdn.com/image/fetch/$s_!00LB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png 1272w, https://substackcdn.com/image/fetch/$s_!00LB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34c36de3-3272-46c4-9d6d-69d5b1475356_1126x1126.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p></p><h1>Mapping a graph to a tree!</h1><p>At a high level, we have two elements:</p><ul><li><p><strong>Reliability:</strong> measured in the system architecture which is a <em>graph</em></p></li><li><p><strong>Accountability:</strong> exists in the organization which is a <em>tree</em></p></li></ul><p>We need to map reliability to accountability:</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k34a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k34a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png 424w, https://substackcdn.com/image/fetch/$s_!k34a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png 848w, https://substackcdn.com/image/fetch/$s_!k34a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png 1272w, https://substackcdn.com/image/fetch/$s_!k34a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k34a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png" width="1104" height="613" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:613,&quot;width&quot;:1104,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:109779,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k34a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png 424w, https://substackcdn.com/image/fetch/$s_!k34a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png 848w, https://substackcdn.com/image/fetch/$s_!k34a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png 1272w, https://substackcdn.com/image/fetch/$s_!k34a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16cdb509-a5dc-4a7c-8421-0046c0c87ebc_1104x613.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Essentially, it&#8217;s a computer science problem to map a graph to a tree! &#128516;</p><h1>Constraints</h1><p>How do you do that in a way that solves the problems above without causing new problems? Let&#8217;s set some constraints for any solution hypothesis:</p><ul><li><p><strong>Accountability:</strong> Hold leadership accountable for the reliability of the systems that they formally own. The hypothesis is that if we make service reliability a problem for the leadership, they&#8217;re going to do everything in their power to improve it.</p></li><li><p><strong>Control:</strong> Everyone should be <a href="https://blog.alexewerlof.com/p/responsible-for-control">accountable for what they control</a>, not more. To prevent things from falling between the [organizational] cracks, we need to bubble up the right number to each level of the org chart (see that article for an example with diagrams).</p></li><li><p><strong>Clarity:</strong> I got my MSc in systems engineering and am aware of the formulas to calculate the reliability of <a href="https://blog.alexewerlof.com/p/composite-slo">composite systems</a>. We need to find a way to measure metrics that are easy to reason about and bring clarity. The hypothesis is that clarity improves the quality of data-driven metrics.</p></li><li><p><strong>Drill-down:</strong> Several times in my career, I&#8217;ve seen leadership panicking when presented with data and take rushed decisions. Data can lie not just because of how it was collected, but because depending on perspective it can tell different stories. If the goal is to present data to the roles which are detached from the system implementation details, they need to be able to drill-down the data to make informed decisions.</p></li><li><p><strong>Real time:</strong> Instead of waiting for a weekly or monthly cadence to get up to date data, we should aim to update the dashboards in real time or near real-time cadence. The hypothesis is that lagging metrics lead to lagging actions, so we should strive to provide an up-to-date view of tech health at any time.</p></li><li><p><strong>Efficiency:</strong> Everyone wants more reliability, but not everyone is ready to pay the price. There is a point of diminishing return where spending more on tech doesn&#8217;t yield more revenue and instead hurts the profit. The hypothesis is that by normalizing failure and attaching <a href="https://blog.alexewerlof.com/p/sls">service level status</a> to organization nodes, leadership is encouraged to tune their expectation to <a href="https://blog.alexewerlof.com/p/lagom-slo">&#8220;lagom&#8221; SLO</a>.</p></li></ul><h1>The Ownership Dashboard</h1><p>To test our hypothesis, we built a Single Pane of Glass (SPOF) that has two parts:</p><ol><li><p>The org chart</p></li><li><p>The stats</p></li></ol><p>For compliance reasons I cannot share a screenshot from what we&#8217;ve built but here&#8217;s the wireframe I made for my team to implement:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xtdp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xtdp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png 424w, https://substackcdn.com/image/fetch/$s_!xtdp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png 848w, https://substackcdn.com/image/fetch/$s_!xtdp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!xtdp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xtdp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png" width="1032" height="1032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1032,&quot;width&quot;:1032,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:133099,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/152509216?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xtdp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png 424w, https://substackcdn.com/image/fetch/$s_!xtdp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png 848w, https://substackcdn.com/image/fetch/$s_!xtdp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!xtdp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe4e37b4-2371-49f2-9a93-5aa63df09c55_1032x1032.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Since our org is slightly large, we made it collapsible. When an org node (team, cluster, etc.) is clicked the stats update to show aggregated tech health for that node.</p><p>For the stats, we implemented something that&#8217;s easy to start with:</p><ul><li><p><strong>Incidents:</strong> how many incidents of each type occurred in the given period? We later changed the incident <em>count</em> with incident <em>length</em> because it maps better to the incident impact.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/sls">Service Level Status</a>:</strong> how is that organization node performing compared to its commitments (<a href="https://blog.alexewerlof.com/p/slo">SLO</a>). We actually started this initiative to show SLOs but <a href="https://blog.alexewerlof.com/p/slo-elastic-datadog-grafana">due to poor tooling</a> we decided to experiment with the data we had (incidents) and expand if there&#8217;s value.</p></li></ul><p>We decided to start simple, roll it out across a sub-part of the organization, gather feedback and data (like page views, engagement, etc.) and interview the first users of the page to evolve it.</p><p>In the future, we&#8217;re planning to add these metrics:</p><ul><li><p><strong>Runtime cost:</strong> what&#8217;s the total cost of tech runtime (infrastructure, 3rd party tooling, etc.)? This metric is hard to calculate correctly and there are 3rd parties specializing in that problem, but a rough estimate goes a long way to motivate discussions about the <a href="https://blog.alexewerlof.com/p/10x9">cost of reliability</a>.</p></li><li><p><strong>Security:</strong> what&#8217;s the state of security checks and automatic analysis? What&#8217;s the SAST/DAST (Static/Dynamic Application Security Test) status? SAST is white-box testing that looks for vulnerabilities inside the application and code, while DAST is black-box testing that looks for vulnerabilities that could allow an outside attacker to get in). While SAST allows for early detection of vulnerabilities in code, DAST offers a practical assessment of how an application behaves under attack once it&#8217;s live. Both can be automated or manual and can be reported as multi-dimensional metrics.</p></li><li><p><strong>DORA/SPACE/DevEx:</strong> there are a bunch of other metrics that can be put on the dashboard. Please see the caveats and read the fine print carefully because this tool is very powerful and when abused it can cause massive destruction at scale.</p></li><li><p><strong>Synthetic test success:</strong> synthetic tests are scripted user flows that test the success of critical consumer journeys. We use <a href="https://playwright.dev/">Playwright</a> but many Observability vendors have this feature namely <a href="https://www.datadoghq.com/dg/apm/synthetics/performance-monitoring/">Datadog</a>, <a href="https://grafana.com/products/cloud/synthetic-monitoring/">Grafana</a>, and <a href="https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/">NewRelic</a>)</p></li><li><p><strong>Team bandwidth:</strong> we could show the headcount to flag if a team is too small or too big for the problem they&#8217;re solving and/or the reliability expectations (<a href="https://blog.alexewerlof.com/p/slo">SLO</a>).</p></li><li><p><strong>Metric decomposition:</strong> Every metric aggregates multiple variables. Those variables can individually be optimized. For example, time to resolve an incident (TTR) is composed of TTI (time to identify the incident), TTA (time to acknowledge the incident), and so on. Same can be said for cost: it&#8217;s useful to break down the cost into individual components.</p></li></ul><p>Based on the user feedback, we also learned that it&#8217;s very helpful to allow the organization nodes to add some context through links and free-form text. Dashboard and data tell part of the story. With this addition, the teams can tell a richer story and put those data points into context.</p><h1>Caveats</h1><ul><li><p><strong>Product and investment:</strong> most improvements require investment. In many teams product roles (Product Managers, Project Managers, or Product Owners) control the team&#8217;s bandwidth. Ideally this dashboard should motivates taking action and deliberate <a href="https://blog.alexewerlof.com/p/10x9">investment</a> to improve the status quo (e.g, <a href="https://blog.alexewerlof.com/p/tech-debt-day">payment plan for tech debt</a>)</p></li><li><p><strong>Evolving metrics:</strong> One-size-fit-all metrics <a href="https://blog.alexewerlof.com/p/service-level-adoption-obstacles">do not guarantee usefulness</a> of the same metric for a diverse range of products. That&#8217;s one reason I sit with every single team to figure out what SLI makes sense for their <a href="https://blog.alexewerlof.com/p/service">service</a> from the perspective of their consumer. Ideally the metrics should evolve over time. SLI/SLO need to be revisited regularly as the product, tech, and our understanding of the service evolves.</p></li><li><p><strong>Benchmarking:</strong> putting the stats of teams next to each other creates nice dashboards but there&#8217;s also a huge risk to benchmark teams against each other. I&#8217;ve seen these SPOG (single pane of glass) initiatives being weaponized by non-technical leaders to blame the teams. That&#8217;s why it&#8217;s extremely important to provide the ability to drill down and at some point you may even link to the data source in whatever system where the data is coming from.</p></li><li><p><strong>Illusion of knowledge:</strong> Metrics by nature abstract the phenomenon they're representing. They're a great way to simplify what is inherently complex but are also very attractive for incompetent managers and have a high risk of being abused. Metrics are not a replacement for talking to engineers. If you&#8217;re the kind of leader who needs a <a href="https://blog.alexewerlof.com/p/when-staff-engineer-is-an-anti-pattern">translator to make sense of tech</a>, you&#8217;ll in the risk group to abuse such dashboards. It&#8217;s up to higher level leadership to spot these cases and guide the conversation to be about tech, not people.</p></li><li><p><strong>Data quality:</strong> in my experience with this dashboard and many similar initiatives, data quality is a critical factor. On paper, the data is great but once you roll it out, people call out the nuances and inaccuracies. It&#8217;s good to pilot the data before GA (general availability). I&#8217;d argue that the data quality is more important than the UI and dashboard.</p></li><li><p><strong>NOT developer productivity:</strong> I've seen many developer productivity measurement efforts in my 25 years and every single time (no exceptions), it&#8217;s coming from managers who doesn't understand what they're responsible for. They resort to replace the need to understand the tech with some metric. It's more of an incompetence symptom than anything else. I've had my share of trying to convince these "leaders" to dig deep instead of stopping at vanity metrics. Common treats:</p><ul><li><p>Calling teams "imature"</p></li><li><p>Shallow understanding of tech and engineering in general</p></li><li><p>Unrealistic expectations from SDLC (software development lifecycle)</p></li><li><p>Picking favorites in team and relying on them to acting as "<a href="https://blog.alexewerlof.com/p/when-staff-engineer-is-an-anti-pattern">tech translator</a>"</p></li><li><p>Heavier on politics and "networking" than transparency and doing what's right for the company.</p></li></ul></li><li><p><strong>Novel ideas are not measurable:</strong> metrics by definition need to be defined in advance. They work best for repeatable events but fall short of indicating novel innovations that are outside the scope of what is measured. For example, when the SLI is about latency we may focus too much on improving it that we starve more important questions like: should we decommission this service? Fortunately, when it comes to reliability metrics, we are often intentionally trying to improve predictability. But I need to highlight the fact that not everything worth doing is measurable and not everything that&#8217;s measured worth optimizing.</p></li><li><p><strong>Leadership metrics:</strong> most of my efforts have been focused on helping teams define their <a href="https://blog.alexewerlof.com/p/service">service</a>, measure the service level (<a href="https://blog.alexewerlof.com/p/sli">SLI</a>) and set reasonable expectations (<a href="https://blog.alexewerlof.com/p/slo">SLO</a>). It is relatively easy to take a team of engineers to a 2-hour workshop. For top-level leadership, I&#8217;ve encountered many <a href="https://blog.alexewerlof.com/p/service-level-adoption-obstacles">obstacles</a>. Regardless, for this idea to work, we need to follow the same methodology and find metrics that make sense for each part of the organization.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zFd2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82eefc4-fdac-4979-9829-4f81653c5147_746x745.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zFd2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82eefc4-fdac-4979-9829-4f81653c5147_746x745.png 424w, https://substackcdn.com/image/fetch/$s_!zFd2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82eefc4-fdac-4979-9829-4f81653c5147_746x745.png 848w, https://substackcdn.com/image/fetch/$s_!zFd2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82eefc4-fdac-4979-9829-4f81653c5147_746x745.png 1272w, https://substackcdn.com/image/fetch/$s_!zFd2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82eefc4-fdac-4979-9829-4f81653c5147_746x745.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zFd2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82eefc4-fdac-4979-9829-4f81653c5147_746x745.png" width="746" height="745" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f82eefc4-fdac-4979-9829-4f81653c5147_746x745.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:745,&quot;width&quot;:746,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!zFd2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82eefc4-fdac-4979-9829-4f81653c5147_746x745.png 424w, https://substackcdn.com/image/fetch/$s_!zFd2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82eefc4-fdac-4979-9829-4f81653c5147_746x745.png 848w, https://substackcdn.com/image/fetch/$s_!zFd2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82eefc4-fdac-4979-9829-4f81653c5147_746x745.png 1272w, https://substackcdn.com/image/fetch/$s_!zFd2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82eefc4-fdac-4979-9829-4f81653c5147_746x745.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div></li><li><p><strong>Implementation: </strong>Even if we know the metric, it is not easy to expect engineering leaders to do the implementation. A team of engineers can be tasked to measure their SLS and even be on-call for breaching their SLO. For leadership, the implementation can be delegated to their team, but the on-call aspect is still tricky. Having Staff Engineers on-call is one option since they are accountable for the health of their organization. Another option is to improve the <a href="https://blog.alexewerlof.com/p/organization-architecture">organization architecture</a> to have one team responsible for the user facing parts (i.e., <a href="https://blog.alexewerlof.com/p/kebab-vs-cake">the cake model</a>).</p></li><li><p><strong>Prevent weaponization:</strong> There&#8217;s a risk for non-technical leadership to weaponize these metrics and bash their own teams. How can we prevent that by clarifying the <a href="https://blog.alexewerlof.com/p/accountable-vs-responsible">accountability and responsibility</a> in a way that drives productive actions instead of unproductive politics and blame game? They hypothesis is that instead of showing individual names, the dashboard UI is designed to focus on the tech and instead of seeing numbers in insolation, they are put into the perspective of how they bubble up in the organization. This is by far the hardest aspect to get right.</p></li><li><p><strong>Gamification:</strong> Once a metric becomes a goal, it stops being a good measure (<a href="https://en.wikipedia.org/wiki/Goodhart%27s_law">Goodhart&#8217;s law</a>). If people perceive their salaries, bonuses, and performance reviews as being tied to those metrics, they&#8217;ll game the metrics. A good metric is one that if it&#8217;s gamed, it leads to all parties walking out in better shape. This is not something we address in the dashboard but rather in service level workshops. Finding good metrics is half the battle to gather meaningful data. One hypothesis is that showing end to end metrics that span across the boundaries of multiple teams motivates collaboration between all the teams that contribute to those metrics.</p></li></ul><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/mapping-reliability-to-accountability?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you found this post insightful, please share it in your circles to inspire others</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/mapping-reliability-to-accountability?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/mapping-reliability-to-accountability?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a> is to give away most content for free. However, these posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends.</em></p><p><em>You can support me by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections as well as my online book <a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Right now, you can get 20% off via <a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p>]]></content:encoded></item><item><title><![CDATA[SLI vs KPI]]></title><description><![CDATA[Is Service Level Indicator (SLI) the same as Key Performance Indicator (KPI)?]]></description><link>https://blog.alexewerlof.com/p/sli-vs-kpi</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/sli-vs-kpi</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Wed, 06 Nov 2024 19:50:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I get this question a lot: is Service Level Indicator (SLI) the same as Key Performance Indicator (KPI)?</p><p>It depends! &#129299;</p><p>Just joking. &#128516;There are many similarities but also some important nuances that this article digs into.</p><p><em>Does it really matter to distinguish between the two? Well, that one actually depends!!! If the point of the language is to communicate ideas, it pays dividends to use the right word.</em></p><p>Both SLI and KPI got popularized by Google although they don&#8217;t originate there. SLI and KPI are metrics where the &#8220;I&#8221; stands for indicator. Both metrics aim towards optimizing an <em>objective</em> and support data-driven decisions.</p><p><strong>But that&#8217;s where the similarities end.</strong> There are fundamental differences between the two that stem from their purpose and expand to their scope, concern, audience, actions, and even formula.</p><p>What&#8217;s interesting is that KPI/OKR and SLI/SLO are two systems that can be converted to each other with many nuances.</p><h1>Usage</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P3BA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P3BA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png 424w, https://substackcdn.com/image/fetch/$s_!P3BA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png 848w, https://substackcdn.com/image/fetch/$s_!P3BA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png 1272w, https://substackcdn.com/image/fetch/$s_!P3BA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P3BA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png" width="711" height="557" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:557,&quot;width&quot;:711,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:113682,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!P3BA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png 424w, https://substackcdn.com/image/fetch/$s_!P3BA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png 848w, https://substackcdn.com/image/fetch/$s_!P3BA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png 1272w, https://substackcdn.com/image/fetch/$s_!P3BA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ab7f28f-a2f5-48cc-904e-d7731e06a87e_711x557.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Typical KPIs and SLIs</figcaption></figure></div><p>Key Performance Indicators enjoy a large usage across business, sales, marketing, product, finance, and beyond.</p><p>KPIs cover various areas, including financial metrics (e.g. revenue per customer), product metrics (e.g. monthly active users), customer satisfaction, employee productivity, operational efficiency (e.g. number of goods produced without defects), culture (e.g. OfficeVibe scores), etc.</p><p>The target of KPIs can be to optimize systems, organizations, products, business, etc.</p><p><a href="https://blog.alexewerlof.com/p/sli">Service Level Indicator</a> on the other hand is primarily concerned with reliability engineering and has seen an <a href="https://trends.google.com/trends/explore?date=today%205-y&amp;q=kpi,sli&amp;hl=en-GB">uptake</a> due to the popularity of SRE (site reliability engineering) in recent years.</p><p>SLI covers various <a href="https://blog.alexewerlof.com/p/service">services</a> metrics like latency, error rate, throughput, data consistency, cache hit ratio, etc.</p><p>In my experience KPIs are more high level and wishy washy leading to memes like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cZoN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cZoN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cZoN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cZoN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cZoN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cZoN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg" width="566" height="522.135" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:738,&quot;width&quot;:800,&quot;resizeWidth&quot;:566,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Jacqueline Lemus on LinkedIn: KPI = keep people interested! &#128105;&#8205;&#128187;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Jacqueline Lemus on LinkedIn: KPI = keep people interested! &#128105;&#8205;&#128187;" title="Jacqueline Lemus on LinkedIn: KPI = keep people interested! &#128105;&#8205;&#128187;" srcset="https://substackcdn.com/image/fetch/$s_!cZoN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cZoN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cZoN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cZoN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68b0fea6-86dd-45a3-a580-2eccb390ece9_800x738.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>SLI on the other hand typically enjoys a more formal definition and scoped usage (reliability engineering). </p><h1>Normalization</h1><p>KPI does not need to be normalized. The metric datapoints can be any number. For example, the monthly active users (MAU). </p><p>SLI doesn&#8217;t need to be normalized either. But it usually is:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\text{SLI} = \\frac{\\text{Good}}{\\text{Valid}} \\times 100&quot;,&quot;id&quot;:&quot;MXHPYELWVQ&quot;}" data-component-name="LatexBlockToDOM"></div><p>This normalization makes it much easier to assess the Service Level Status (<a href="https://blog.alexewerlof.com/p/sls">SLS</a>) against the Service Level Objective (<a href="https://blog.alexewerlof.com/p/sls">SLO</a>) which are both values between 0 to 100.</p><h1>Objective</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JTt1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JTt1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png 424w, https://substackcdn.com/image/fetch/$s_!JTt1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png 848w, https://substackcdn.com/image/fetch/$s_!JTt1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png 1272w, https://substackcdn.com/image/fetch/$s_!JTt1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JTt1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png" width="711" height="452" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c411a150-9c81-4218-8b5a-2d710baf5076_711x452.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:452,&quot;width&quot;:711,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45739,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JTt1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png 424w, https://substackcdn.com/image/fetch/$s_!JTt1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png 848w, https://substackcdn.com/image/fetch/$s_!JTt1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png 1272w, https://substackcdn.com/image/fetch/$s_!JTt1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc411a150-9c81-4218-8b5a-2d710baf5076_711x452.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>KPI is often used in combination with OKR (objectives and key results). For example:</p><ul><li><p>OKR</p><ul><li><p><strong>Objective:</strong> Increase Monthly Active Users (MAU)</p></li><li><p><strong>Key results</strong> within the next quarter</p><ul><li><p>Increase new user sign-ups by 20%</p></li><li><p>Improve user retention rate from 60% to 75%</p></li><li><p>Reduce user churn rate by 15%</p></li></ul></li></ul></li><li><p>KPI</p><ul><li><p>User sign-ups</p></li><li><p>User retention rate</p></li><li><p>User churn rate</p></li></ul></li></ul><p>One important point to call out is that OKRs are often <em>ambitious</em>. They <strong>shoot for the stars, aim for the moon</strong>. Even if you miss an OKR, you may still celebrate an improvement. &#127881;</p><p>This is in stark contrast with how SLOs work. The mantra for SLO is to <strong>under promise and overdeliver</strong>. &#128296;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><p>Example: say an SLO commits to 99% of requests in 28 days be responded without errors over a period of 28 days.</p><p>If we got 213M requests in that period, at least 210,870,000 requests should be responded to with no error (this number is the <a href="https://blog.alexewerlof.com/p/sls">Service Level Status</a> in a given period).</p><p>Note that any higher number is fine (e.g. 212M) but lower (e.g. 200M) means that the SLO is breached.</p><h1>Accountability</h1><p>Both metrics have a notion of accountability. Although in my experience KPI and OKR are usually hard to implement in a way that drives action and is present on a day-to-day basis at the leaf nodes of the organization tree. They&#8217;re primarily used by upper and middle management to align key performance metrics.</p><p>SLI on the other hand, gets its meaning from the SLO that sets the minimum expectation.</p><p>A good SLO should be tied to alerting so that the <a href="https://blog.alexewerlof.com/p/service-level-terminology">service owner</a> gets to action as soon as the service level is degraded.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vRar!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vRar!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png 424w, https://substackcdn.com/image/fetch/$s_!vRar!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png 848w, https://substackcdn.com/image/fetch/$s_!vRar!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png 1272w, https://substackcdn.com/image/fetch/$s_!vRar!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vRar!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png" width="1041" height="1033" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1033,&quot;width&quot;:1041,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vRar!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png 424w, https://substackcdn.com/image/fetch/$s_!vRar!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png 848w, https://substackcdn.com/image/fetch/$s_!vRar!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png 1272w, https://substackcdn.com/image/fetch/$s_!vRar!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6464c97e-a1d6-42c8-bde0-c9bc90b16a97_1041x1033.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://blog.alexewerlof.com/p/service-level-terminology">Service Level Terminology</a></figcaption></figure></div><p>Moreover, a good SLI measures only what is <a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">owned</a> by the service owner and nothing more. In fact, you should never be responsible for what is out of your control.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;2a3e3cc8-7eca-499a-bc3f-5316818927d3&quot;,&quot;caption&quot;:&quot;One of my favorite sentences to say during Service Level Workshops is:&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;You should never be responsible for what you don't control&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-02-20T18:54:47.854Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7855ff73-782f-4250-b6f4-f6bb636d37af_1067x738.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/responsible-for-control&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:141855236,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:19,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>On the other hand, KPIs tend to measure the performance of a larger organization unit (e.g. a cluster of teams) which makes them harder to trace to an individual or service. The notion of ownership is not as granular.</p><h1>Time Horizon</h1><p>KPI/OKR is generally concerned with a longer time horizon. Usually, this time span is a quarter of the year. As a result, even if the KPI is not performing too well, the organization waits till the end of the quarter before a definitive assessment.</p><p>There&#8217;s also a risk that the org will be punished if the OKR is met too early: leadership may just move the goal post and set a more aggressive OKRs.</p><p>As a result, Parkinson&#8217;s law takes over:</p><blockquote><p>Work expands so as to fill the time available for its completion &#8212;<a href="https://en.wikipedia.org/wiki/Parkinson%27s_law">Parkinson&#8217;s law</a></p></blockquote><p>SLI on the other hand has a shorter <a href="https://blog.alexewerlof.com/p/compliance-period">compliance period</a> (also known as SLO window): typically, 30 days.</p><p>As we <a href="https://blog.alexewerlof.com/p/compliance-period">elaborated before</a>, the length of this window directly impacts forgiveness. SLOs having a shorter window than OKRs means that they are less forgiving towards service level degradation and require quicker reactions, hence the alerting.</p><h1>conclusion</h1><p>Let&#8217;s recap what we&#8217;ve learned:</p><ul><li><p>KPI: high level performance metrics with a wide range of applications. The keyword in KPI is <em>performance</em>.</p></li><li><p>SLI: concrete system reliability metrics. The keyword in SLI is <em>service</em>.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><p>Now, here&#8217;s the kicker! SLI can be a KPI!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O2_Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O2_Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg 424w, https://substackcdn.com/image/fetch/$s_!O2_Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg 848w, https://substackcdn.com/image/fetch/$s_!O2_Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!O2_Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O2_Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg" width="1080" height="1350" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1350,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;No alt text provided for this image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="No alt text provided for this image" title="No alt text provided for this image" srcset="https://substackcdn.com/image/fetch/$s_!O2_Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg 424w, https://substackcdn.com/image/fetch/$s_!O2_Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg 848w, https://substackcdn.com/image/fetch/$s_!O2_Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!O2_Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15ae30f-7fbc-44a3-8406-13a0a11c90c5_1080x1350.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://www.linkedin.com/posts/eric-partaker-5560b92_83-of-companies-report-boosted-results-with-activity-7151197359819894785-V0iL/?utm_source=share&amp;utm_medium=member_desktop">LinkedIn</a></figcaption></figure></div><p>Let&#8217;s say your company sells an API (e.g. OpenAI API access) and charges the customers for every call.</p><p>In this scenario, there&#8217;s a business motivation to keep the API available as much as possible because downtime directly hurts that business model.</p><ul><li><p>OKR</p><ul><li><p>Objective: keep the system availability high</p></li><li><p>Key Results over the next quarter:</p><ul><li><p>Achieve 99.95% API availability</p></li><li><p>Reduce average response time to under 200ms</p></li><li><p>Decrease the number of critical incidents by 30%</p></li></ul></li><li><p>KPI</p><ul><li><p>Percentage of time the API is available and functioning correctly.</p></li><li><p>Time taken for the API to respond to requests.</p></li><li><p>Count of significant incidents impacting API availability.</p></li></ul></li></ul></li></ul><p>Turning the OKR/KPI to SLI/SLO we get:</p><ul><li><p>SLI: <a href="https://blog.alexewerlof.com/p/time-based-vs-event-based">Time-Based</a> Availability. SLO: 99.95% over 30 days</p></li><li><p>SLI: <a href="https://blog.alexewerlof.com/p/compliance-period">Event-Based</a> Latency. SLO: 95% of request latencies should be less than 200ms</p></li><li><p>SLI: <a href="https://blog.alexewerlof.com/p/compliance-period">Event-Based</a> non-critical incidents. SLO: 90% of incidents over the past 90 days are not critical</p></li></ul><p>Note that I used several assumptions that were not stated in the OKR or KPI:</p><ul><li><p>Availability SLI is calculated over 30 days instead of the 90 days that was stated in OKR (to motivate quicker reaction)</p></li><li><p>We used a 95% objective out of nowhere! Maybe that&#8217;s where the current <a href="https://blog.alexewerlof.com/p/sls">SLS</a> is at. Maybe it&#8217;s coming from the SLA. Instead of average, we replied on the notion of <a href="https://blog.alexewerlof.com/p/percentile">percentile</a> which is embedded in the SLI/SLO formula.</p></li><li><p>Currently 60% of incidents are non-critical (baseline wasn&#8217;t stated)</p></li></ul><p>And that&#8217;s the point! SLI/SLO are usually more detailed, normalized, and stricter towards failure.</p><p>Any KPI can be converted to SLI by adding the missing details, but there&#8217;s no guarantee that it&#8217;ll be desired by the audience or whether it makes sense.</p><p>You can also convert any SLI to a KPI by removing details and making it more friendly to a non-technical audience.</p><p>Finally, I just want to leave you with an important point: an SLO that is not tied to alerting is just an OKR! That&#8217;s because SLO is supposed to tie to accountability of the service owners and alerting is the absolute basic level to implement that accountability.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sli-vs-kpi?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this post insightful, please share it in your circles to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sli-vs-kpi?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/sli-vs-kpi?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a>&nbsp;is to give away most content for free. However, these posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends.</em></p><p><em>You can support me by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections as well as my online book&nbsp;<a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Right now, you can get 20% off via&nbsp;<a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p>]]></content:encoded></item><item><title><![CDATA[Service Level Terminology]]></title><description><![CDATA[Service, Provider, Consumer, Task, Stakeholder, Owner, Failure, Metric, SLI, SLO, SLA, error budget, alerts, ...]]></description><link>https://blog.alexewerlof.com/p/service-level-terminology</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/service-level-terminology</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Fri, 25 Oct 2024 03:16:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MlI7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MlI7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MlI7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png 424w, https://substackcdn.com/image/fetch/$s_!MlI7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png 848w, https://substackcdn.com/image/fetch/$s_!MlI7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png 1272w, https://substackcdn.com/image/fetch/$s_!MlI7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MlI7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png" width="1010" height="1122" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1122,&quot;width&quot;:1010,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:113093,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MlI7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png 424w, https://substackcdn.com/image/fetch/$s_!MlI7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png 848w, https://substackcdn.com/image/fetch/$s_!MlI7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png 1272w, https://substackcdn.com/image/fetch/$s_!MlI7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bb74595-f0d9-4d19-9a4c-23d596b721a8_1010x1122.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the context of service levels, there are multiple terms that are related to each other. This post serves as a glossary to define and connect:</p><ul><li><p>Service, its provider, and owner</p></li><li><p>Consumer, its tasks, and how failure can impact it</p></li><li><p>Metric, indicator (SLI), status (SLS), objective (SLO), legal agreements (SLA)</p></li><li><p>Using alerting and error budgets to control risk</p></li></ul><p>As usual, we&#8217;ll be using visuals and examples to nail the topics.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h1>Overview</h1><p>At the very high level, a product is about solving a problem for some customers.</p><p>So on one side, we have the tech stack that <strong>solves</strong> a problem.</p><p>On the other side, we have the customers who have some needs or <strong>problems</strong> to solve.</p><p>The success of the product depends taking calculated risks to bet the services it offers. And good decisions need good data. We need to measure how good those services are performing to help the customers do their tasks.</p><p>Put it on a diagram and we get this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4V9R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4V9R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png 424w, https://substackcdn.com/image/fetch/$s_!4V9R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png 848w, https://substackcdn.com/image/fetch/$s_!4V9R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png 1272w, https://substackcdn.com/image/fetch/$s_!4V9R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4V9R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png" width="1006" height="840" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:840,&quot;width&quot;:1006,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97986,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/150614488?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4V9R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png 424w, https://substackcdn.com/image/fetch/$s_!4V9R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png 848w, https://substackcdn.com/image/fetch/$s_!4V9R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png 1272w, https://substackcdn.com/image/fetch/$s_!4V9R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F245810ca-b6e4-4e50-abcb-4d0f89d26b36_1006x840.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Think of a product as <strong>a group of services</strong>, each catering towards some tasks for the user.</p><p>And that&#8217;s where Service Levels come in. It measures the service to provide insights for business decisions that evolve the product.</p><p>There&#8217;s more to that, and I dissect that in <a href="https://blog.alexewerlof.com/p/rem">my online book</a>:</p><ul><li><p>Service levels help <strong>set expectations</strong> between service provider and consumer.</p></li><li><p>Service levels help implement <a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">ownership</a> and give a direction to organization design.</p></li><li><p>Service levels help <a href="https://blog.alexewerlof.com/p/lagom-slo">balance risks</a> and <a href="https://blog.alexewerlof.com/p/premature-optimization">optimize</a> what matters.</p></li></ul><p>Let&#8217;s first build a solid foundation before going into details.</p><h1>Service</h1><p>This is the trickiest term in the whole glossary. Too often I see the teams confuse service (in the context of service levels) with service in other contexts like in <a href="https://kubernetes.io/docs/concepts/services-networking/service/">Kubernetes</a>, <a href="https://www.thoughtworks.com/insights/blog/microservices-nutshell">microservice architecture</a>, or <a href="https://aws.amazon.com/">AWS</a>.</p><p>They&#8217;re not wrong. That&#8217;s just how languages work. A give word can have different meanings in different contexts.</p><p>In the context of service levels, a service is an abstract concept. A piece of tech provides the service (hence called service provider), but the service itself is just the ability to solve a problem for the consumer.</p><p>Due to common misconceptions, there is a <a href="https://blog.alexewerlof.com/p/service">dedicated article about the service</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yWUL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yWUL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png 424w, https://substackcdn.com/image/fetch/$s_!yWUL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png 848w, https://substackcdn.com/image/fetch/$s_!yWUL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png 1272w, https://substackcdn.com/image/fetch/$s_!yWUL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yWUL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png" width="953" height="443" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:443,&quot;width&quot;:953,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42180,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yWUL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png 424w, https://substackcdn.com/image/fetch/$s_!yWUL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png 848w, https://substackcdn.com/image/fetch/$s_!yWUL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png 1272w, https://substackcdn.com/image/fetch/$s_!yWUL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86b82b64-debf-4dd9-bb82-297ec4a829a5_953x443.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Service can be any of these 3 types:</p><ul><li><p><strong>Automated:</strong> a service that&#8217;s fully automated using software/hardware. For example an endpoint that allows searching book titles and fetching book metadata to render a page in an online book store.</p></li><li><p><strong>Manual:</strong> a manual service is either too expensive to automate (in terms of money, complexity, etc.) or requires human intervention or judgement (for example due to compliance, and ambiguity that requires flexibility). For example governance, incident triage, or customer support. Manual services are provided by a <strong>group</strong> of people.</p></li><li><p><strong>Hybrid:</strong> a mix of the two. For example, the infrastructure team may use IaC (infrastructure as code) to govern access to a 3rd party tool (service). They expect the developers who use the platform (consumers) to create a PR (pull request) with their user-id in the IaC repo. The infrastructure team may manually review the PR. Once the PR is merged, it grants/removes access to that 3rd party tool using GitHub Actions automation.</p></li></ul><h1>Provider</h1><p>Service provider is the entity that provides the service.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ne_g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8693713-6eb9-47c7-b757-e845881a175d_901x469.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ne_g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8693713-6eb9-47c7-b757-e845881a175d_901x469.png 424w, https://substackcdn.com/image/fetch/$s_!ne_g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8693713-6eb9-47c7-b757-e845881a175d_901x469.png 848w, https://substackcdn.com/image/fetch/$s_!ne_g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8693713-6eb9-47c7-b757-e845881a175d_901x469.png 1272w, https://substackcdn.com/image/fetch/$s_!ne_g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8693713-6eb9-47c7-b757-e845881a175d_901x469.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ne_g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8693713-6eb9-47c7-b757-e845881a175d_901x469.png" width="901" height="469" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8693713-6eb9-47c7-b757-e845881a175d_901x469.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:469,&quot;width&quot;:901,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31808,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ne_g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8693713-6eb9-47c7-b757-e845881a175d_901x469.png 424w, https://substackcdn.com/image/fetch/$s_!ne_g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8693713-6eb9-47c7-b757-e845881a175d_901x469.png 848w, https://substackcdn.com/image/fetch/$s_!ne_g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8693713-6eb9-47c7-b757-e845881a175d_901x469.png 1272w, https://substackcdn.com/image/fetch/$s_!ne_g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8693713-6eb9-47c7-b757-e845881a175d_901x469.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you&#8217;re familiar with SAML, you may recognize the term. The service provider is usually a <em>system</em> or <em>component</em> (using Backstage&#8217;s terminology) but it can also be a group of people (for manual services):</p><ul><li><p><strong>Components:</strong> are concrete pieces of technical solution that solve a problem for the service consumer. For example: a microservice, a database, an API gateway, a piece of hardware, a 3rd party or open source piece of software. Components can sometimes be deployed independently. For example a single &#8220;service&#8221; in a microservice architecture, can be thought of as a <strong>service provider</strong> of type <strong>component</strong>.</p></li><li><p><strong>Systems:</strong> are logical grouping of multiple components. For example, an complex microservice architecture that is owned by one <strong>service owner</strong> can be considered a <strong>service provider</strong> of type <strong>system</strong>. Think of systems as <em>folders</em> that contain components as <em>files</em>. In the context of service levels, using <strong>system</strong> for a service provider creates a more abstract view which has its cons and pros. On the plus side, the abstraction </p></li><li><p><strong>Group:</strong> are people who provide <em>manual</em> services that are either too expensive to automate or require human intervention or judgement. For example governance, incident triage, or customer support. The point of measuring service levels for manual services is to quantify performance in order to optimize. This data can also help justify automation when it is worth the ROI (Return On Investment).</p></li></ul><p><em>Note: We use a terminology that is roughly based on <a href="https://backstage.io/docs/features/software-catalog/system-model/">Backstage</a>. Backstage is a <a href="https://www.cncf.io/projects/backstage/">CNCF open source product</a> for building Internal Developer Portals (IDP). Backstage terminology is roughly based on the <a href="https://c4model.com/">C4 model</a>. There are a few differences between our terminology and Backstage:</em></p><ul><li><p><em>In Backstage, Components only provide APIs whereas in our terminology, Components provide any Service regardless of the technology or mechanism that&#8217;s used to expose that service. i.e., a component can provide a service that is a GUI (Graphical User Interface) or AUI (Audio User Interface) as well as API like gRPC, REST, or WebSocket.</em></p></li><li><p><em>In our terminology, the Group (people) and System (logical grouping) can also provide services whereas in Backstage, only components expose an API.</em></p></li></ul><h1>Owner</h1><p>Service owner, owns the <a href="https://blog.alexewerlof.com/p/service">service</a>. We&#8217;ve previously established <a href="https://blog.alexewerlof.com/p/service">the meaning of true ownership</a>. In the context of service level it means:</p><ol><li><p><strong>Knowledge:</strong> Service owner knows how the service works, and how its performance is measured by service level indicator (<a href="https://blog.alexewerlof.com/p/sli">SLI</a>)</p></li><li><p><strong>Responsibility:</strong> Service owner is held responsible for maintaining the service level above the objective that was agreed upon (<a href="https://blog.alexewerlof.com/p/slo">SLO</a>). The basic form of implementing this responsibility is to be on-call for the commitment (alerting on SLO will be discussed in another post). If there&#8217;s a legal agreement in place (<a href="https://blog.alexewerlof.com/p/sla">SLA</a>), service owner is accountable for that.</p></li><li><p><strong>Mandate:</strong> Service owner has full control over HOW the service solves the consumer&#8217;s problem. This means they have access to all the knobs and gauges to optimize the service they are responsible for and don&#8217;t have to beg another party for permission to improve their service level. (this &#8220;begging&#8221; part is typically a symptom of <a href="https://blog.alexewerlof.com/p/broken-ownership">broken ownership</a>)</p></li></ol><p>Ideally the service owner has all 3 elements of ownership. But the owner is at least <em>responsible</em> for the service meaning if there&#8217;s an issue with the service level, the owner is supposed to own that failure and do something about it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ABJA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a579f1-5560-4597-a64e-024d48ee3861_939x769.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ABJA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a579f1-5560-4597-a64e-024d48ee3861_939x769.png 424w, https://substackcdn.com/image/fetch/$s_!ABJA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a579f1-5560-4597-a64e-024d48ee3861_939x769.png 848w, https://substackcdn.com/image/fetch/$s_!ABJA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a579f1-5560-4597-a64e-024d48ee3861_939x769.png 1272w, https://substackcdn.com/image/fetch/$s_!ABJA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a579f1-5560-4597-a64e-024d48ee3861_939x769.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ABJA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a579f1-5560-4597-a64e-024d48ee3861_939x769.png" width="939" height="769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44a579f1-5560-4597-a64e-024d48ee3861_939x769.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:769,&quot;width&quot;:939,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:47693,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ABJA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a579f1-5560-4597-a64e-024d48ee3861_939x769.png 424w, https://substackcdn.com/image/fetch/$s_!ABJA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a579f1-5560-4597-a64e-024d48ee3861_939x769.png 848w, https://substackcdn.com/image/fetch/$s_!ABJA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a579f1-5560-4597-a64e-024d48ee3861_939x769.png 1272w, https://substackcdn.com/image/fetch/$s_!ABJA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44a579f1-5560-4597-a64e-024d48ee3861_939x769.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Service owner is typically a <strong>group</strong> because people own the service. That group can be any organization unit:</p><ul><li><p>An <strong>individual</strong> who maintains the service and is responsible to improve it</p></li><li><p>A <strong>team:</strong> that does the same. For example an internal PaaS (Platform as a Service) team offering an internal platform, or a front-end team behind the website that allows customers to order books, or a IoT (internet of things) team that allows the mobile app team to communicate with devices.</p></li><li><p>Or a <strong>corporation</strong> which sells the service. For example a SaaS (software as a service) to solve a particular problem (Example: Adobe) or a Platform for serving content (Example: Substack, YouTube) or software services (Example: Redhat). When money is involved, there&#8217;s typically a Service Level Agreement (<a href="https://blog.alexewerlof.com/p/sla">SLA</a>) in place too.</p></li></ul><p>When a service is <strong>manual</strong> or <strong>hybrid</strong>, the service <strong>provider</strong> and <strong>owner</strong> can be the same group but not necessarily.</p><h1>Consumer</h1><p>As the name suggests, consumes the service.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lGW6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lGW6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png 424w, https://substackcdn.com/image/fetch/$s_!lGW6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png 848w, https://substackcdn.com/image/fetch/$s_!lGW6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png 1272w, https://substackcdn.com/image/fetch/$s_!lGW6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lGW6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png" width="922" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:922,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42844,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lGW6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png 424w, https://substackcdn.com/image/fetch/$s_!lGW6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png 848w, https://substackcdn.com/image/fetch/$s_!lGW6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png 1272w, https://substackcdn.com/image/fetch/$s_!lGW6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a7c8b2-5502-4644-ab19-d3aefa78d878_922x506.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Just like the service provider, the consumer can be any of these types:</p><ul><li><p><strong>Group:</strong> a person or persona who uses the service. For example, end users may use an app to hail a taxi or find a rider (Uber). If the end user is a paying user, it is typically referred to as <strong>customer</strong>. When money is involved, there&#8217;s usually a <strong>Service Level Agreement</strong> (<a href="https://blog.alexewerlof.com/p/sla">SLA</a>) is in place. The user may also be internal. For example, an internal platform may be used by a group of developers. When the commitment is internal, usually a <a href="https://blog.alexewerlof.com/p/sli">SLI</a> and <a href="https://blog.alexewerlof.com/p/slo">SLO</a> is enough to communicate how reliability is measured and what is the level of service.</p></li><li><p><strong>Component</strong>: same as the definition above. For example, a GraphQL API can be a consumer of upstream APIs. A mobile app can be the consumer of an identity service. A web page can be the consumer of tracking service.</p></li><li><p><strong>System:</strong> same as the definition above. For example, Spotify&#8217;s web app is a consumer of their streaming, song catalog, and user tracking services among others. In this context, we don&#8217;t care to distinguish each individual component in the app (that information is probably irrelevant and abstract from the service provider perspective), so we see the whole web app as a system.</p></li></ul><p>When the service consumer is a group of people, it may also act as a stakeholder but not necessarily. We&#8217;ll discuss the service stakeholder shortly.</p><h2>Task</h2><p>Task describes why the consumer uses a service. It may be an arcane word but it makes sense in the context of service levels. Failures threaten the task the consumer is trying to do.</p><p>Here are some other terms for &#8220;Task&#8221; that you might be familiar with:</p><ul><li><p><strong>Use Case</strong> describes how a consumer interacts with a system to achieve a specific goal. This term is <a href="https://en.wikipedia.org/wiki/Use_case">also used in UML</a>.</p></li><li><p><strong>User Need</strong> describes why a user needs to use a service.</p></li><li><p><strong><a href="https://jobs-to-be-done.com/jobs-to-be-done-a-framework-for-customer-needs-c883cbf61c90">Jobs To Be Done</a></strong> (JTBD) was popularized by Tony Ulwick as a framework that suggests consumers buy products or services to get a specific job done rather than generic features or benefits. The actual &#8220;job&#8221; here is the task.</p></li></ul><p>Providers have services.</p><p>Consumers have tasks.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uS_X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uS_X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png 424w, https://substackcdn.com/image/fetch/$s_!uS_X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png 848w, https://substackcdn.com/image/fetch/$s_!uS_X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png 1272w, https://substackcdn.com/image/fetch/$s_!uS_X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uS_X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png" width="916" height="539" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:539,&quot;width&quot;:916,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49267,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/150614488?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uS_X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png 424w, https://substackcdn.com/image/fetch/$s_!uS_X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png 848w, https://substackcdn.com/image/fetch/$s_!uS_X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png 1272w, https://substackcdn.com/image/fetch/$s_!uS_X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2b62d4f-2ea4-4414-ab1e-8a0b5652820d_916x539.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>A consumer may have multiple goals or tasks each of which can depend on a number of services that can be individually measured. This usage essentially establishes a dependency from consumer to the service provider.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LKOx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LKOx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png 424w, https://substackcdn.com/image/fetch/$s_!LKOx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png 848w, https://substackcdn.com/image/fetch/$s_!LKOx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png 1272w, https://substackcdn.com/image/fetch/$s_!LKOx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LKOx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png" width="1040" height="956" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:956,&quot;width&quot;:1040,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79524,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/150614488?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LKOx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png 424w, https://substackcdn.com/image/fetch/$s_!LKOx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png 848w, https://substackcdn.com/image/fetch/$s_!LKOx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png 1272w, https://substackcdn.com/image/fetch/$s_!LKOx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9539b2c-d445-4376-b7b4-aa2f23ac833a_1040x956.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The reason <em>task</em> is important in the context of service level is because of the biggest pitfalls of implementing service levels: to measure the wrong thing! Service level should always be measured from the perspective of the consumers. Task describes that aspect.</p><h1>Failure</h1><p>Failure describes how a task may not be successful. It is at the base of how [un]reliability is perceived from the perspective of the service consumer.</p><p>Failure is the opposite of the &#8220;level&#8221; in service level. Let&#8217;s see why.</p><p><strong>Service Leve Indicator</strong> (SLI) is a positive concept as seen in the formula:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SLI = \\frac{\\text{Good}}{\\text{Valid}} \\times 100\\%&quot;,&quot;id&quot;:&quot;TDGSZVHKHH&quot;}" data-component-name="LatexBlockToDOM"></div><p><em>Note that there&#8217;s a small but important <a href="https://blog.alexewerlof.com/p/valid-vs-total">difference between valid and total</a>.</em></p><p>Failure is a negative concept as seen in the formula for <strong>Service Failure Indicator</strong> (SFI):</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SFI = \\frac{\\text{Bad}}{\\text{Valid}} \\times 100\\%&quot;,&quot;id&quot;:&quot;FLQJBUZMFY&quot;}" data-component-name="LatexBlockToDOM"></div><p>SLO aims to optimize SLI while <strong>error budget aims to optimize SFI</strong>.</p><p>The reason failures are more important than success is because failures are important for alerting. Alerting is important for holding the service owner responsible for the service level objective (SLO).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SS7m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SS7m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png 424w, https://substackcdn.com/image/fetch/$s_!SS7m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png 848w, https://substackcdn.com/image/fetch/$s_!SS7m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png 1272w, https://substackcdn.com/image/fetch/$s_!SS7m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SS7m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png" width="1456" height="667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:667,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:116999,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SS7m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png 424w, https://substackcdn.com/image/fetch/$s_!SS7m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png 848w, https://substackcdn.com/image/fetch/$s_!SS7m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png 1272w, https://substackcdn.com/image/fetch/$s_!SS7m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1887876-10f9-49b6-9187-d6f72672e3bd_1502x688.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>One of the common pitfalls of implementing service levels is to measure what <strong>doesn&#8217;t matter</strong> from the service consumer&#8217;s <strong>perspective</strong>.</p><p>An effective way to make sure that you&#8217;re measuring the right thing is to ask whether it is worth to set alerting and on-call for it. If it&#8217;s just a mild inconvenience from the consumer&#8217;s perspective, maybe it is not worth waking up the on-call person. Instead you should find other metrics to measure more significant failures. We will discuss <em>metrics</em> shortly.</p><p>Failures have the following attributes:</p><ul><li><p><strong>Symptom:</strong> how does the consumer know that something is broken? There is a difference between symptoms and root causes. Symptom is how the failure is perceived by the consumer (e.g. HTTP 500 error) whereas the root cause is one or more issues that lead to that issue (e.g. the certificate is expired, API gateway cannot find upstream, Kubernetes cluster is down, etc.). In the context of service levels, we&#8217;re primarily interested to measure the symptoms. The idea is that if a potential root cause happens (e.g. CPU usage is through the roof), but no task is suffering, you should not wake up the on-call person in the middle of the night to investigate. That&#8217;ll just lead to alert fatigue and attrition.</p></li><li><p><strong>Consequences:</strong> what is the consequence of the symptom? For example, if the page they&#8217;re trying to reach is the login page and they get a 500 error, they will be practically blocked out of most services and cannot do anything.</p></li><li><p><strong>Business Impact:</strong> how would the consequences hurt the business? Companies are primarily interested to make money, and if a failure hinders that hunger, it impacts the business. In the above example, a user who cannot log in to the service may file for a compensation (if there&#8217;s a <a href="https://blog.alexewerlof.com/p/sla">SLA</a> in place), or take their money and go to the rivals. The consequence and business impact are related and maybe are the same thing when we&#8217;re assessing the risks towards an external consumer (also called customer), but for internal consumers, business impact is about translating the consequence to how the consumer&#8217;s failure becomes something the business cares about. For example, if a platform team (service provider) fails to provision a new repository (service) for the developers (service consumer) in a timely manner (symptom) because the underlying infrastructure faced an edge case (root cause), the developers get blocked (consequences) and the business is paying for their idle time (business impact).</p></li><li><p><strong>Impact Level:</strong> while business impact describes how the business takes a hit from failures, the impact level puts that into perspective. There is a difference between users on an old version of Android being blocked from logging in than all users on all platforms not being able to check out their shopping card. The impact level of a failure usually fits nicely to incident severity categorization that is used for incident triage.</p></li><li><p><strong>Likelihood:</strong> this is hard to predict but roughly speaking <code>risk = threat x likelihood</code>: the more severe a threat and the more likely it is, the higher the risk. Therefore it&#8217;s good to have an idea about how likely a failure is, in order to prioritize preventing it.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h1>Metric</h1><p>Metrics quantify a behavior. They are at the core of <a href="https://blog.alexewerlof.com/p/sli">Service Level Indicators</a> which in turn are visualized as <a href="https://blog.alexewerlof.com/p/sls">Service Level Status</a> and trigger alerts to guarantee the <a href="https://blog.alexewerlof.com/p/slo">Service Level Objective</a>.</p><p>In the context of service levels, we&#8217;re primarily interested in metrics that quantify <strong>failure/success</strong> of the <strong>service provider</strong> from the <em>perspective</em> of the <strong>service consumer</strong>.</p><p>Example metrics: query latency, API error rate, queue length, timed-out requests, game rendering frame rate, GPU utilization, LLM token/second, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VO8U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VO8U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png 424w, https://substackcdn.com/image/fetch/$s_!VO8U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png 848w, https://substackcdn.com/image/fetch/$s_!VO8U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png 1272w, https://substackcdn.com/image/fetch/$s_!VO8U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VO8U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png" width="959" height="538" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:538,&quot;width&quot;:959,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:91538,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VO8U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png 424w, https://substackcdn.com/image/fetch/$s_!VO8U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png 848w, https://substackcdn.com/image/fetch/$s_!VO8U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png 1272w, https://substackcdn.com/image/fetch/$s_!VO8U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f744faf-40c3-49c3-ab88-acc00291c31e_959x538.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can think of a metric as an array of data points each with:</p><ul><li><p>Value: what was the measurement</p></li><li><p>Timestamp: when that behavior occurred)</p></li><li><p>Metadata: For example, tags, labels, and annotations indicating the source, and providing more context about that measurement.</p></li></ul><p>Data point type can be either:</p><ul><li><p><strong>Boolean:</strong> e.g., success of a probe checking if an endpoint is up, or whether a database record is up to date, etc.</p></li><li><p><strong>Numeric:</strong> e.g., error rate, or request latency, etc.</p></li></ul><p>Each data point may present:</p><ul><li><p><strong>A timeslot:</strong> e.g., if we probe an endpoint every minute, the status of the probe is extrapolated to assume the status of that endpoint over that entire minute</p></li><li><p><strong>An event:</strong> e.g., a failed request, a cache hit, etc.</p></li></ul><p>Timeslot data points are useful for <a href="https://blog.alexewerlof.com/p/time-based-vs-event-based">time-based SLI</a> whereas event data points are usually used for an <a href="https://blog.alexewerlof.com/p/time-based-vs-event-based">event-based SLI</a>.</p><p>An aggregation function (e.g., avg, min, max, percentile, sum, rate, etc.) can be used to convert an event metric to a time-based SLI. For example, you may use the P99 <a href="https://blog.alexewerlof.com/p/percentile">percentile</a> value of every 5 minutes to represent that timeslot.</p><p>Just a reminder that a service can be <strong>automated</strong> (provided by a component or system) or <strong>manual</strong> (provided by a group of people).</p><p>Measuring the services provided by a group of people can be particularly challenging because not every manual operation leaves a trace that is quantifiable. That&#8217;s why you see things like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Za3x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Za3x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Za3x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Za3x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Za3x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Za3x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg" width="1200" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The high school's Happy or Not terminal sits near the entrance of the main office. The district hopes data it collects will help improve customer service.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The high school's Happy or Not terminal sits near the entrance of the main office. The district hopes data it collects will help improve customer service." title="The high school's Happy or Not terminal sits near the entrance of the main office. The district hopes data it collects will help improve customer service." srcset="https://substackcdn.com/image/fetch/$s_!Za3x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Za3x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Za3x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Za3x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3c81295-3f3c-4201-84db-7adacdd13b53_1200x900.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://shakerite.com/campus-and-city/happy-or-not/27/2017/">shakerite.com</a></figcaption></figure></div><p>On the other hand, the biggest pitfall when measuring service levels of automated services is to measure the wrong thing or at the wrong place (we&#8217;ve covered the nuances of measurement location <a href="https://blog.alexewerlof.com/p/sli-measurement-location">here</a>).</p><h1>Stakeholder</h1><p>While the consumer&#8217;s perspective is the key to define the right service level indicator (SLI), the stakeholder has a say to what the service level objective (SLO) should be or how much error budget is acceptable.</p><p>Stakeholders are a <strong>group</strong> of people representing the interest of the business (which is ideally the consumer&#8217;s interest but not always).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y5In!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y5In!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png 424w, https://substackcdn.com/image/fetch/$s_!y5In!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png 848w, https://substackcdn.com/image/fetch/$s_!y5In!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png 1272w, https://substackcdn.com/image/fetch/$s_!y5In!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y5In!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png" width="617" height="617" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:617,&quot;width&quot;:617,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64601,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y5In!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png 424w, https://substackcdn.com/image/fetch/$s_!y5In!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png 848w, https://substackcdn.com/image/fetch/$s_!y5In!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png 1272w, https://substackcdn.com/image/fetch/$s_!y5In!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a10ab7d-e0e2-4502-a8ea-7806456aaedd_617x617.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Stakeholders can help assess the <strong>business impact</strong> and <strong>impact level</strong> of failures.</p><p>The paying end-users (also known as customers) are typically seen as a stakeholder because they have the money leverage. While that is true, there are typically internal stakeholders (e.g., PM or UX) who have every intention to keep the service level as high as possible. Ideally, they want 100% for everything. It&#8217;s important to manage their expectations with tools like the <a href="https://blog.alexewerlof.com/p/10x9">Rule of 10x/9</a> to add the cost of reliability into perspective.</p><p>Stakeholder is a key part of the negotiations for SLO which in turn shapes the alerting rules.</p><ul><li><p>Stakeholders negotiate on behalf of the service consumer for a higher <strong>SLO</strong></p></li><li><p>Service owners negotiate for a higher <strong>error budget</strong></p></li></ul><p>For internal service levels, the consumer team representatives (PM/EM/Tech lead, developers) act as stakeholders. Since your service is their dependency, they want you to measure what matters to them (SLI) and hold the service owner accountable for a high level of service (SLO).</p><p>For example, many companies do platform engineering. The platform itself is typically not a product that is sold to the end users, but rather is there to improve efficiency and productivity. The teams that use the platform should have a say in what metrics they want to be improved (SLI) for example:</p><ul><li><p>Time to provision a new service</p></li><li><p>Time to deploy a change to production</p></li><li><p>Time to grant access to key systems to a new joiner</p></li></ul><p>The stakeholders in this case are all the people who have a say in what good looks like. The sheer number of stakeholders is one aspect that makes platforms hard to get right. We&#8217;ll cover platform engineering as a product in another post.</p><h1>Cheat sheet</h1><p>Putting all these terms together, we get this relation map:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7pyR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7pyR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png 424w, https://substackcdn.com/image/fetch/$s_!7pyR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png 848w, https://substackcdn.com/image/fetch/$s_!7pyR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png 1272w, https://substackcdn.com/image/fetch/$s_!7pyR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7pyR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png" width="1060" height="1059" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1059,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:116262,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/150614488?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7pyR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png 424w, https://substackcdn.com/image/fetch/$s_!7pyR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png 848w, https://substackcdn.com/image/fetch/$s_!7pyR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png 1272w, https://substackcdn.com/image/fetch/$s_!7pyR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82c20645-a447-4dfc-a8ae-fe5323091f7d_1060x1059.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong><a href="https://blog.alexewerlof.com/p/service">Service</a></strong> is a capability or feature that solves a problem for the consumers.</p><ul><li><p><strong>Service Provider</strong> provides the service and can be automated or manual. While service is an abstract concept (a solution to a problem), the provider is often a piece of technology like a microservice, an API gateway, or a database.</p></li><li><p><strong>Service Owner</strong> owns the service. <a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">Ownership</a> refers to 3 elements:</p><ul><li><p><strong>Knowledge:</strong> know the tech, its capabilities, and the problems that it is supposed to solve</p></li><li><p><strong>Mandate:</strong> has enough control over the tech to improve the service level</p></li><li><p><strong>Responsibility:</strong> with power comes responsibility. If the technical decisions lead to failure, service owner is responsible to fix it.</p></li></ul></li></ul></li><li><p><strong>Service Consumer</strong> uses the services for their tasks and use cases.</p><ul><li><p><strong>Task</strong> describes why the consumer uses the service.</p></li><li><p><strong>Service Failure</strong> describes what happens when the consumers cannot do their tasks using the service:</p><ul><li><p><strong>Failure Symptom:</strong> How the service failure is perceived from the perspective of the consumer? How would they know something is wrong with the service?</p></li><li><p><strong>Failure Consequence:</strong> How will the consumer suffer when they cannot do their tasks because of the service failure?</p></li><li><p><strong>Failure Business Impact:</strong> service is part of a product that makes or saves money for the business. How will the business suffer when a particular failure happens?</p></li></ul></li><li><p><strong>Stakeholder</strong> is the equivalent of the service owner on the consumer side and negotiates the Service Level Objective (SLO), even if it&#8217;s part of the SLA.</p></li></ul></li><li><p><strong>Service Level</strong> describes how the level of the service is perceived from the consumer&#8217;s point of view</p><ul><li><p><strong><a href="https://blog.alexewerlof.com/p/sli">Service Level Indicator (SLI)</a></strong> describes how the service level is measured.</p><ul><li><p>SLI takes a <strong>metric</strong> and turns it into an indicator of failure/success <a href="https://blog.alexewerlof.com/p/time-based-vs-event-based">events or time slots</a>.</p></li></ul></li><li><p><strong><a href="https://blog.alexewerlof.com/p/slo">Service Level Objective (SLO)</a></strong> sets expectation on the service level</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/sls">Service Level Status (SLS)</a></strong> quantifies the value of SLI at a given time. Its value can be graphed in direct relation to SLO.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/sla">Service Level Agreement (SLA)</a></strong> ties that expectation to some sort of guarantee (often financial and only when the consumer has a leverage). <a href="https://blog.alexewerlof.com/p/sla-vs-slo">SLA contains at least one SLO</a>.</p></li></ul></li></ul><h1>One last thing: Product</h1><p>With the language we&#8217;ve built, it&#8217;s very easy to define the product as a collection of services.</p><p>In other words, product is just another abstraction layer in the service level modeling.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VyKA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VyKA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png 424w, https://substackcdn.com/image/fetch/$s_!VyKA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png 848w, https://substackcdn.com/image/fetch/$s_!VyKA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png 1272w, https://substackcdn.com/image/fetch/$s_!VyKA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VyKA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png" width="1022" height="982" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:982,&quot;width&quot;:1022,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83658,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/150614488?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VyKA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png 424w, https://substackcdn.com/image/fetch/$s_!VyKA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png 848w, https://substackcdn.com/image/fetch/$s_!VyKA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png 1272w, https://substackcdn.com/image/fetch/$s_!VyKA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4df04b4-bbd3-4b0a-bfe5-fb2ef32b1f4a_1022x982.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Those services may be tightly coupled and or complementary to each other. It doesn&#8217;t matter. A product is a group of solutions to fulfill consumer tasks.</p><p>This is particularly useful for teams with internal stakeholders or consumers. For example, internal platform teams or common components used by many apps.</p><p>This definition of product unlocks very power perspective:</p><ul><li><p>It separates the concerns of the consumers from that of the service owners</p></li><li><p>It can guide the architecture of service providers for lose coupling and separation of concerns</p></li><li><p>It can by extension guide the organizational architecture to map to the logical grouping of service providers</p></li></ul><p>A good usage example of this mental model is platform products. Quite often I hear the platform teams ask &#8220;what is our product?&#8221;</p><p>The answer can easily be deduced by defining their services in terms of what they solve for the rest of the organization and why do they exist.</p><p>Organizing the teams to streamline the consumer journey is a good way to implement <a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">full ownership</a>:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;2c83702f-8b6b-493f-b707-df8b17b7ed06&quot;,&quot;caption&quot;:&quot;Last post elaborated two points:&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Kebab vs Cake organization&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-08-06T23:18:27.204Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf73693a-fa77-4abf-b997-a1e85e05becc_1039x1039.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/kebab-vs-cake&quot;,&quot;section_name&quot;:&quot;Technical Leadership&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:147400802,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:41,&quot;comment_count&quot;:3,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a>&nbsp;is to give away most content for free. However, these posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends.</em></p><p><em>Recently I went down in working hours and salary by 10% to be able to spend more time learning and sharing my experience with the public. You can support this cause by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections as well as my online book&nbsp;<a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Right now, you can get 20% off via&nbsp;<a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><p><em>You can also <a href="https://blog.alexewerlof.com/leaderboard">refer your contacts and gain free subscriptions</a>. Thanks in advance for helping these words reach further and impact the software engineering community.</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/service-level-terminology?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this post insightful, please share it in your circles to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/service-level-terminology?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/service-level-terminology?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[SLO: Elastic vs Datadog vs Grafana]]></title><description><![CDATA[Reviewing the Service Level implementation in 3 observability providers]]></description><link>https://blog.alexewerlof.com/p/slo-elastic-datadog-grafana</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/slo-elastic-datadog-grafana</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Fri, 13 Sep 2024 04:43:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nB3Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nB3Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nB3Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png 424w, https://substackcdn.com/image/fetch/$s_!nB3Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png 848w, https://substackcdn.com/image/fetch/$s_!nB3Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png 1272w, https://substackcdn.com/image/fetch/$s_!nB3Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nB3Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png" width="1038" height="419" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:419,&quot;width&quot;:1038,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:72103,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nB3Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png 424w, https://substackcdn.com/image/fetch/$s_!nB3Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png 848w, https://substackcdn.com/image/fetch/$s_!nB3Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png 1272w, https://substackcdn.com/image/fetch/$s_!nB3Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve spent the past few years learning, <a href="https://blog.alexewerlof.com/p/rem">teaching</a>, and <a href="https://slc.alexewerlof.com/">coding</a> service levels. So I got curious to see how the well-known observability providers implement it.</p><p>This post is my independent review of all 3 with snapshots.</p><h3>Disclaimers</h3><ul><li><p><em>This is not a paid or affiliated review. None of the vendors got the chance to see my review before it went public and I&#8217;ll clearly mention if they ask me to do an update.</em></p></li><li><p><em>This review was carried at early September 2024 on the same day for all 3. Obviously, the UI and feature set may change in the future.</em></p></li><li><p><em>If I missed or misunderstood something, you can correct me in the comments.</em></p></li><li><p><em>I don&#8217;t represent my current or past employers or customers on my personal blog. This review is my independent investigation.</em></p></li></ul><h1>Elastic</h1><p>The first stop is Elastic because they were open source, then they were not, and recently <a href="https://www.elastic.co/blog/elasticsearch-is-open-source-again">they are open source again</a>!</p><p>Unfortunately, the SLO feature is <a href="https://www.elastic.co/pricing">only available in their Platinum price tier</a> at the time of this writing. I <em>really</em> hope this will change because if metrics are data, Service Level is the perspective that makes that data actionable in relation to business objectives and consumer needs.</p><p>Charging for SLOs separately is like charging a premium for GPS navigation system of a car. Do vendors do that? Yes. But they also force the majority to use their phone instead. SLO is not rocket science, don&#8217;t force people to use alternative solutions just to take full advantage of the data they&#8217;re already sending your way! If anything, having SLO on all plans is a motivator to send more data because of the value it creates.</p><p>So I&#8217;m gonna go MKBHD on this one:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3sIq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3sIq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3sIq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3sIq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3sIq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3sIq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg" width="500" height="556" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:556,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3sIq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3sIq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3sIq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3sIq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b37552b-2569-4446-b16e-72dd51b2257c_500x556.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Once you do have access, SLOs have a prominent place in Elastic UI which is great!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SnaG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SnaG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png 424w, https://substackcdn.com/image/fetch/$s_!SnaG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png 848w, https://substackcdn.com/image/fetch/$s_!SnaG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png 1272w, https://substackcdn.com/image/fetch/$s_!SnaG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SnaG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png" width="265" height="402" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:402,&quot;width&quot;:265,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19960,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SnaG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png 424w, https://substackcdn.com/image/fetch/$s_!SnaG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png 848w, https://substackcdn.com/image/fetch/$s_!SnaG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png 1272w, https://substackcdn.com/image/fetch/$s_!SnaG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74232cb1-9e81-4430-8c79-af8ee0e65d99_265x402.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Elastic uses a 3-step single page setup for creating new SLOs:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q4q6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q4q6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png 424w, https://substackcdn.com/image/fetch/$s_!q4q6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png 848w, https://substackcdn.com/image/fetch/$s_!q4q6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!q4q6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q4q6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png" width="864" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:864,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74461,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!q4q6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png 424w, https://substackcdn.com/image/fetch/$s_!q4q6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png 848w, https://substackcdn.com/image/fetch/$s_!q4q6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!q4q6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb5ca9-56d7-4d34-80ee-62a0ec995413_864x1092.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Right off the bat, you have to choose a SLI type:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KFD3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KFD3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png 424w, https://substackcdn.com/image/fetch/$s_!KFD3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png 848w, https://substackcdn.com/image/fetch/$s_!KFD3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png 1272w, https://substackcdn.com/image/fetch/$s_!KFD3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KFD3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png" width="424" height="260" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:260,&quot;width&quot;:424,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:21278,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KFD3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png 424w, https://substackcdn.com/image/fetch/$s_!KFD3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png 848w, https://substackcdn.com/image/fetch/$s_!KFD3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png 1272w, https://substackcdn.com/image/fetch/$s_!KFD3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd5c8a8-46e5-4da2-937f-14448ea3a3f0_424x260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As <a href="https://blog.alexewerlof.com/p/sli">discussed before</a>, there are only 2 types of SLI:</p><ul><li><p>Event-based: count the percentage of good events in a period</p></li><li><p>Time-based: count the percentage of good timeslots in a period</p></li></ul><p>Later the UI Elastic has the &#8220;Budgeting Method&#8221; which tells me that the Elastic team is aware of the two SLI types:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X93B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X93B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png 424w, https://substackcdn.com/image/fetch/$s_!X93B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png 848w, https://substackcdn.com/image/fetch/$s_!X93B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png 1272w, https://substackcdn.com/image/fetch/$s_!X93B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X93B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png" width="252" height="129" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:129,&quot;width&quot;:252,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!X93B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png 424w, https://substackcdn.com/image/fetch/$s_!X93B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png 848w, https://substackcdn.com/image/fetch/$s_!X93B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png 1272w, https://substackcdn.com/image/fetch/$s_!X93B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9075d5f9-b2e5-4d65-b8b2-92ce5ffdaae7_252x129.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The &#8220;SLI type&#8221; drop down seems unnecessarily complicated but as we&#8217;ll see shortly, Datadog is doing something similar. I&#8217;d drop the word &#8220;type&#8221; or use &#8220;templates&#8221; instead because where&#8217;s in the menu (latency, availability, etc.) are common SLI examples.</p><p>Let&#8217;s pick one and roll with it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sVvt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sVvt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png 424w, https://substackcdn.com/image/fetch/$s_!sVvt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png 848w, https://substackcdn.com/image/fetch/$s_!sVvt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png 1272w, https://substackcdn.com/image/fetch/$s_!sVvt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sVvt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png" width="857" height="835" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:835,&quot;width&quot;:857,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:70277,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sVvt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png 424w, https://substackcdn.com/image/fetch/$s_!sVvt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png 848w, https://substackcdn.com/image/fetch/$s_!sVvt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png 1272w, https://substackcdn.com/image/fetch/$s_!sVvt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F323f7cb0-d4ce-4ca6-97a3-a9f66d078919_857x835.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s nice to see a live preview of the SLI. The <em>Threshold</em> field only allows setting the upper threshold:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Iqg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Iqg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png 424w, https://substackcdn.com/image/fetch/$s_!_Iqg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png 848w, https://substackcdn.com/image/fetch/$s_!_Iqg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png 1272w, https://substackcdn.com/image/fetch/$s_!_Iqg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Iqg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png" width="435" height="182" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:182,&quot;width&quot;:435,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:18124,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_Iqg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png 424w, https://substackcdn.com/image/fetch/$s_!_Iqg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png 848w, https://substackcdn.com/image/fetch/$s_!_Iqg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png 1272w, https://substackcdn.com/image/fetch/$s_!_Iqg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fe3f4b-d81c-4dc6-bfd9-e2bc2f399857_435x182.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Aside from being upper-bound, the <a href="https://blog.alexewerlof.com/p/sli-good">definition of Good</a> may be lower-bound or even bound between two thresholds. Those options aren&#8217;t available.</p><p><em>Note: it is possible to convert any definition of good to look upper-bound. But that creates complexity that you&#8217;d expect your observability platform to handle out of the box.</em></p><p>There are 2 types of <a href="https://blog.alexewerlof.com/p/compliance-period">compliance period</a> (Time Window):</p><ul><li><p>Rolling: e.g. always check the last 30 days</p></li><li><p>Calendar-bound: e.g. check the budget in the current month</p></li></ul><p>In Elastic, your choice of <em>Duration</em> for rolling window<em>,</em> however, is limited to 7, 30, and 90 (just like Datadog).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!30YG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb274374-d1ec-43ac-94a8-fa9abced9360_571x182.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!30YG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb274374-d1ec-43ac-94a8-fa9abced9360_571x182.png 424w, https://substackcdn.com/image/fetch/$s_!30YG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb274374-d1ec-43ac-94a8-fa9abced9360_571x182.png 848w, https://substackcdn.com/image/fetch/$s_!30YG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb274374-d1ec-43ac-94a8-fa9abced9360_571x182.png 1272w, https://substackcdn.com/image/fetch/$s_!30YG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb274374-d1ec-43ac-94a8-fa9abced9360_571x182.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!30YG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb274374-d1ec-43ac-94a8-fa9abced9360_571x182.png" width="571" height="182" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db274374-d1ec-43ac-94a8-fa9abced9360_571x182.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:182,&quot;width&quot;:571,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15424,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!30YG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb274374-d1ec-43ac-94a8-fa9abced9360_571x182.png 424w, https://substackcdn.com/image/fetch/$s_!30YG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb274374-d1ec-43ac-94a8-fa9abced9360_571x182.png 848w, https://substackcdn.com/image/fetch/$s_!30YG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb274374-d1ec-43ac-94a8-fa9abced9360_571x182.png 1272w, https://substackcdn.com/image/fetch/$s_!30YG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb274374-d1ec-43ac-94a8-fa9abced9360_571x182.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Grafana is the only one that allows any number and as we&#8217;ll discuss the most important missing option is 28 days.</p><p>Elastic is the only one in this review that supports <a href="https://blog.alexewerlof.com/p/compliance-period">Calendar-Bound SLO window</a>s out of the box.</p><p>Unfortunately, you have even fewer options: weekly and monthly.</p><p>Weekly is particularly tricky because different countries across the world <a href="https://en.wikipedia.org/wiki/Week">start the week on different days</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qnLe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qnLe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg 424w, https://substackcdn.com/image/fetch/$s_!qnLe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg 848w, https://substackcdn.com/image/fetch/$s_!qnLe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg 1272w, https://substackcdn.com/image/fetch/$s_!qnLe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qnLe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg" width="1456" height="739" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:739,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;wikipedia&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="wikipedia" title="wikipedia" srcset="https://substackcdn.com/image/fetch/$s_!qnLe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg 424w, https://substackcdn.com/image/fetch/$s_!qnLe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg 848w, https://substackcdn.com/image/fetch/$s_!qnLe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg 1272w, https://substackcdn.com/image/fetch/$s_!qnLe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa435e6af-fa4d-4f46-947f-fefc6fc9afab_2754x1398.svg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Orange: Monday, Blue: Sunday, Green: Saturday</figcaption></figure></div><p>Elastic does not allow invalid SLO targets like 0% or 100%. They do however allow ridiculously low numbers like 0.1 while blocking 0.0001:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CImK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CImK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png 424w, https://substackcdn.com/image/fetch/$s_!CImK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png 848w, https://substackcdn.com/image/fetch/$s_!CImK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png 1272w, https://substackcdn.com/image/fetch/$s_!CImK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CImK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png" width="581" height="116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:116,&quot;width&quot;:581,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8680,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CImK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png 424w, https://substackcdn.com/image/fetch/$s_!CImK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png 848w, https://substackcdn.com/image/fetch/$s_!CImK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png 1272w, https://substackcdn.com/image/fetch/$s_!CImK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F711d5e1a-52ca-438e-b63f-b4737a9b0eb2_581x116.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Similar issue exists for the upper end of the spectrum where a SLO of 6-nines is forbidden:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WUlu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992d9264-be1f-464a-b756-17404abe0684_581x116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WUlu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992d9264-be1f-464a-b756-17404abe0684_581x116.png 424w, https://substackcdn.com/image/fetch/$s_!WUlu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992d9264-be1f-464a-b756-17404abe0684_581x116.png 848w, https://substackcdn.com/image/fetch/$s_!WUlu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992d9264-be1f-464a-b756-17404abe0684_581x116.png 1272w, https://substackcdn.com/image/fetch/$s_!WUlu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992d9264-be1f-464a-b756-17404abe0684_581x116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WUlu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992d9264-be1f-464a-b756-17404abe0684_581x116.png" width="581" height="116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/992d9264-be1f-464a-b756-17404abe0684_581x116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:116,&quot;width&quot;:581,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!WUlu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992d9264-be1f-464a-b756-17404abe0684_581x116.png 424w, https://substackcdn.com/image/fetch/$s_!WUlu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992d9264-be1f-464a-b756-17404abe0684_581x116.png 848w, https://substackcdn.com/image/fetch/$s_!WUlu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992d9264-be1f-464a-b756-17404abe0684_581x116.png 1272w, https://substackcdn.com/image/fetch/$s_!WUlu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992d9264-be1f-464a-b756-17404abe0684_581x116.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Admittedly, 6-nines is not very common (and has a <a href="https://blog.alexewerlof.com/p/10x9">high cost</a>) but I don&#8217;t see a reason why the tool should get in your way if that&#8217;s your SLO.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e68e5e4c-6cb5-4753-9538-5fad5de12587&quot;,&quot;caption&quot;:&quot;When setting SLOs (service level objectives) there&#8217;s a rule of thumb that goes like this:&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;10x/9 Rule&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering. Senior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist. Read more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-12-01T05:30:17.586Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1d1a58d-cfed-4818-9a2d-125174277f54_1051x577.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/10x9&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:139126336,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1002265,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!_Ur2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>However, if their SLO implementation is limited to 3 fractional positions, that is a serious issue. Essentially you won&#8217;t be able to implement SLOs like 99.1234% because it&#8217;ll be truncated to 99.123%. I haven&#8217;t tested that. If you know more, please comment down below.</p><p>After you create a SLO, the waiting spinner starts rotating for a long time. In my test, I waited about 30 seconds before the SLO was created which is by far the longest in this review.</p><p>When it succeeds, your brand new SLO gets a default dashboard.</p><p>The bottom part of the page is interesting where you can see the good and bad events in a stacked bar chart:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZwGv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8869951-20a9-4270-a71b-a8b07e246970_994x281.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZwGv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8869951-20a9-4270-a71b-a8b07e246970_994x281.png 424w, https://substackcdn.com/image/fetch/$s_!ZwGv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8869951-20a9-4270-a71b-a8b07e246970_994x281.png 848w, https://substackcdn.com/image/fetch/$s_!ZwGv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8869951-20a9-4270-a71b-a8b07e246970_994x281.png 1272w, https://substackcdn.com/image/fetch/$s_!ZwGv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8869951-20a9-4270-a71b-a8b07e246970_994x281.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZwGv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8869951-20a9-4270-a71b-a8b07e246970_994x281.png" width="994" height="281" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8869951-20a9-4270-a71b-a8b07e246970_994x281.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:281,&quot;width&quot;:994,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:28633,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZwGv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8869951-20a9-4270-a71b-a8b07e246970_994x281.png 424w, https://substackcdn.com/image/fetch/$s_!ZwGv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8869951-20a9-4270-a71b-a8b07e246970_994x281.png 848w, https://substackcdn.com/image/fetch/$s_!ZwGv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8869951-20a9-4270-a71b-a8b07e246970_994x281.png 1272w, https://substackcdn.com/image/fetch/$s_!ZwGv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8869951-20a9-4270-a71b-a8b07e246970_994x281.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can also see the Burn Rate and Historical SLI (which I call SLS for <a href="https://blog.alexewerlof.com/p/sls">Service Level Status</a>).</p><p>Elastic does not create alerts by default despite me setting a target for the SLO. This is a flaw they share with Datadog.</p><p>Without Alerting, there is no commitment towards the SLO. SLOs are important enough to nudge the user to create alerts in the initial SLO configuration screen.</p><p>Fortunately, creating an alert is just a click away (as mentioned in their <a href="https://www.elastic.co/guide/en/observability/current/slo-create.html">SLO creation documentation</a>):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bgGH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bgGH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png 424w, https://substackcdn.com/image/fetch/$s_!bgGH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png 848w, https://substackcdn.com/image/fetch/$s_!bgGH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png 1272w, https://substackcdn.com/image/fetch/$s_!bgGH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bgGH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png" width="252" height="348" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:348,&quot;width&quot;:252,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:18272,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bgGH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png 424w, https://substackcdn.com/image/fetch/$s_!bgGH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png 848w, https://substackcdn.com/image/fetch/$s_!bgGH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png 1272w, https://substackcdn.com/image/fetch/$s_!bgGH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc367740-84bf-422f-9a07-6bd91ca8f698_252x348.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The alerting setup for burn rate looks intimidating and complete:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hn3D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hn3D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png 424w, https://substackcdn.com/image/fetch/$s_!hn3D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png 848w, https://substackcdn.com/image/fetch/$s_!hn3D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png 1272w, https://substackcdn.com/image/fetch/$s_!hn3D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hn3D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png" width="592" height="976" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:976,&quot;width&quot;:592,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:106048,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hn3D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png 424w, https://substackcdn.com/image/fetch/$s_!hn3D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png 848w, https://substackcdn.com/image/fetch/$s_!hn3D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png 1272w, https://substackcdn.com/image/fetch/$s_!hn3D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc630cbb0-2129-4367-a4e2-ae96d80d6e5f_592x976.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s a nice touch that Elastic prefills the multi-burn rate alerts with decent default values.</p><p>But once you look closer, you realize that the config for short lookback alert window is missing. This feature is important for reducing false alerts as pointed out in <a href="https://sre.google/workbook/alerting-on-slos/">Google&#8217;s SRE book</a>.</p><p>Elastic <a href="https://www.elastic.co/guide/en/observability/current/slo-burn-rate-alert.html">SLO Alerting documentation</a> states:</p><blockquote><p>Your short lookback period is set automatically.</p></blockquote><p>Google recommends 1/12th of the long window and I&#8217;m guessing that&#8217;s what they&#8217;re going for. Hard to tell. The docs are &#129296; on that.</p><p>I also really like that Elastic allows switching between Burn Rate and burn percentage with the flip of a button:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PO_Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PO_Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png 424w, https://substackcdn.com/image/fetch/$s_!PO_Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png 848w, https://substackcdn.com/image/fetch/$s_!PO_Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png 1272w, https://substackcdn.com/image/fetch/$s_!PO_Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PO_Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png" width="592" height="431" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:431,&quot;width&quot;:592,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66529,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PO_Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png 424w, https://substackcdn.com/image/fetch/$s_!PO_Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png 848w, https://substackcdn.com/image/fetch/$s_!PO_Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png 1272w, https://substackcdn.com/image/fetch/$s_!PO_Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51f5f290-4e87-4db4-975f-38efec2c25b7_592x431.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>However, for the life of me I cannot understand it. As you can see in <a href="https://slc.alexewerlof.com/">SLC</a>, you need to set both the burn rate and error budget consumption percentage. Elastic seems to automatically set that value (as seen in the grey text).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1lw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1lw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png 424w, https://substackcdn.com/image/fetch/$s_!1lw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png 848w, https://substackcdn.com/image/fetch/$s_!1lw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png 1272w, https://substackcdn.com/image/fetch/$s_!1lw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1lw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png" width="557" height="1001" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1001,&quot;width&quot;:557,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69278,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1lw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png 424w, https://substackcdn.com/image/fetch/$s_!1lw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png 848w, https://substackcdn.com/image/fetch/$s_!1lw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png 1272w, https://substackcdn.com/image/fetch/$s_!1lw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14257feb-befb-4ffd-985f-0dcf9b7b6b7f_557x1001.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Like regular alerts, Elastic offers a wide range of notifications and actions when the SLO alert goes off.</p><h1>Datadog</h1><p>Datadog&#8217;s Service Level feature is under <em>Service Mgmt</em> menu (which if you&#8217;re wondering, stands for &#8220;Service Management&#8221; in a world where the UX team wins the battle over UI designers): &#128513;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mqgo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mqgo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png 424w, https://substackcdn.com/image/fetch/$s_!mqgo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png 848w, https://substackcdn.com/image/fetch/$s_!mqgo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png 1272w, https://substackcdn.com/image/fetch/$s_!mqgo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mqgo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png" width="614" height="932" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:932,&quot;width&quot;:614,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:158897,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mqgo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png 424w, https://substackcdn.com/image/fetch/$s_!mqgo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png 848w, https://substackcdn.com/image/fetch/$s_!mqgo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png 1272w, https://substackcdn.com/image/fetch/$s_!mqgo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F415a7657-2856-412b-8eea-7975e4e4d0da_614x932.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Before digging into UI, I just want to call out their <a href="https://www.datadoghq.com/product/service-level-objectives/">excellent</a> <a href="https://www.datadoghq.com/blog/establishing-service-level-objectives/">documentation</a> on the topic completed with <a href="https://www.datadoghq.com/ebook/the-telegraph-slis-slos/">an ebook</a>.</p><p>Just like Elastic, Datadog uses a single 3-step screen for setting the SLO:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K6yc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K6yc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png 424w, https://substackcdn.com/image/fetch/$s_!K6yc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png 848w, https://substackcdn.com/image/fetch/$s_!K6yc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png 1272w, https://substackcdn.com/image/fetch/$s_!K6yc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K6yc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png" width="1348" height="1215" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1215,&quot;width&quot;:1348,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:126394,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!K6yc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png 424w, https://substackcdn.com/image/fetch/$s_!K6yc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png 848w, https://substackcdn.com/image/fetch/$s_!K6yc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png 1272w, https://substackcdn.com/image/fetch/$s_!K6yc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e7fc218-e007-4495-af34-ad0b1e5cfac7_1348x1215.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If I recall correctly, Datadog had the SLO feature way ahead of the pack whereas Elastic recently introduced it. So it&#8217;s up to you to guess who has copied whom. I mean, one of them could pick a different style for the 3 step numbering?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aXrn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aXrn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png 424w, https://substackcdn.com/image/fetch/$s_!aXrn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png 848w, https://substackcdn.com/image/fetch/$s_!aXrn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png 1272w, https://substackcdn.com/image/fetch/$s_!aXrn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aXrn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png" width="787" height="696" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:696,&quot;width&quot;:787,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51473,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aXrn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png 424w, https://substackcdn.com/image/fetch/$s_!aXrn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png 848w, https://substackcdn.com/image/fetch/$s_!aXrn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png 1272w, https://substackcdn.com/image/fetch/$s_!aXrn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F143a4712-6d68-46d8-9ad8-6ceb3f33c22c_787x696.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">One of these is a copycat, can you tell which one? &#128513;</figcaption></figure></div><p>SLI can either be <a href="https://blog.alexewerlof.com/p/sli">time-based or event-based</a>. Datadog offers two time-based SLIs:</p><ul><li><p>By monitor uptime: requires having set up a <a href="https://docs.datadoghq.com/getting_started/monitors/">monitor</a> (an Alerting Rule)</p></li><li><p>By time slices</p></li></ul><p>When it comes to evaluating the monitor (Datadog lingo for Alerting rules), it has the same limited choices as Elastic: 7, 30, and 90.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6en2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6en2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png 424w, https://substackcdn.com/image/fetch/$s_!6en2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png 848w, https://substackcdn.com/image/fetch/$s_!6en2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png 1272w, https://substackcdn.com/image/fetch/$s_!6en2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6en2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png" width="513" height="194" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:194,&quot;width&quot;:513,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19973,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6en2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png 424w, https://substackcdn.com/image/fetch/$s_!6en2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png 848w, https://substackcdn.com/image/fetch/$s_!6en2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png 1272w, https://substackcdn.com/image/fetch/$s_!6en2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5303fcf-7d23-4ed9-840f-725a04ab28a2_513x194.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>I do like the live preview of the monitor uptime however (Elastic has this feature too):</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9_T9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9_T9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png 424w, https://substackcdn.com/image/fetch/$s_!9_T9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png 848w, https://substackcdn.com/image/fetch/$s_!9_T9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png 1272w, https://substackcdn.com/image/fetch/$s_!9_T9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9_T9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png" width="1429" height="215" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:215,&quot;width&quot;:1429,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:44815,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9_T9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png 424w, https://substackcdn.com/image/fetch/$s_!9_T9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png 848w, https://substackcdn.com/image/fetch/$s_!9_T9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png 1272w, https://substackcdn.com/image/fetch/$s_!9_T9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f8e2227-8b6e-459a-8151-f89f47a2b776_1429x215.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For event-based SLIs (or &#8220;By Count&#8221; as Datadog calls it), you can choose two metrics for Good/Total Events:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fCz3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fCz3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png 424w, https://substackcdn.com/image/fetch/$s_!fCz3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png 848w, https://substackcdn.com/image/fetch/$s_!fCz3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png 1272w, https://substackcdn.com/image/fetch/$s_!fCz3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fCz3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png" width="1415" height="601" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:601,&quot;width&quot;:1415,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:104202,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fCz3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png 424w, https://substackcdn.com/image/fetch/$s_!fCz3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png 848w, https://substackcdn.com/image/fetch/$s_!fCz3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png 1272w, https://substackcdn.com/image/fetch/$s_!fCz3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11f19ccb-d2ab-44e4-9799-090b52805438_1415x601.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is a <a href="https://blog.alexewerlof.com/p/sli-heterogeneous-vs-homogeneous">heterogeneous SLI</a> (when the two metrics aren&#8217;t tightly coupled). Heterogeneous SLIs are easier to implement in an already existing observability platform&#8212;&#8221;just give me 2 metrics&#8221;.</p><p>But in practice, they can be hard to reason about as clearly demonstrated with this funny error message:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3zf1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3zf1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png 424w, https://substackcdn.com/image/fetch/$s_!3zf1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png 848w, https://substackcdn.com/image/fetch/$s_!3zf1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png 1272w, https://substackcdn.com/image/fetch/$s_!3zf1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3zf1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png" width="621" height="161" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:161,&quot;width&quot;:621,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:18362,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3zf1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png 424w, https://substackcdn.com/image/fetch/$s_!3zf1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png 848w, https://substackcdn.com/image/fetch/$s_!3zf1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png 1272w, https://substackcdn.com/image/fetch/$s_!3zf1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604dee2c-cd7a-477d-a1a1-0c9c9a471d87_621x161.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Personally, I prefer the <a href="https://blog.alexewerlof.com/p/sli-heterogeneous-vs-homogeneous">homogeneous SLIs</a> where there is one metric that can be processed to identify good events.</p><p>Even though you can pick Good/Total, the live preview shows Good/Bad:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xmm9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xmm9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png 424w, https://substackcdn.com/image/fetch/$s_!xmm9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png 848w, https://substackcdn.com/image/fetch/$s_!xmm9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png 1272w, https://substackcdn.com/image/fetch/$s_!xmm9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xmm9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png" width="1406" height="590" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:590,&quot;width&quot;:1406,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:101480,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xmm9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png 424w, https://substackcdn.com/image/fetch/$s_!xmm9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png 848w, https://substackcdn.com/image/fetch/$s_!xmm9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png 1272w, https://substackcdn.com/image/fetch/$s_!xmm9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99049844-7ad3-45d0-a976-3fcc814aa864_1406x590.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Datadog doesn&#8217;t allow invalid SLOs like 0% or 100%:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mmWt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mmWt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png 424w, https://substackcdn.com/image/fetch/$s_!mmWt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png 848w, https://substackcdn.com/image/fetch/$s_!mmWt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png 1272w, https://substackcdn.com/image/fetch/$s_!mmWt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mmWt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png" width="702" height="93" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:93,&quot;width&quot;:702,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:16125,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mmWt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png 424w, https://substackcdn.com/image/fetch/$s_!mmWt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png 848w, https://substackcdn.com/image/fetch/$s_!mmWt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png 1272w, https://substackcdn.com/image/fetch/$s_!mmWt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8d38ae0-0112-4a1a-8d2a-ef4e80aa2558_702x93.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iTzQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iTzQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png 424w, https://substackcdn.com/image/fetch/$s_!iTzQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png 848w, https://substackcdn.com/image/fetch/$s_!iTzQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png 1272w, https://substackcdn.com/image/fetch/$s_!iTzQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iTzQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png" width="702" height="93" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:93,&quot;width&quot;:702,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15992,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iTzQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png 424w, https://substackcdn.com/image/fetch/$s_!iTzQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png 848w, https://substackcdn.com/image/fetch/$s_!iTzQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png 1272w, https://substackcdn.com/image/fetch/$s_!iTzQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c0f614-d9f6-47fa-a323-660dbf940b80_702x93.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For the time-based SLIs, I appreciate the simplicity and control in Datadog&#8217;s UI for choosing the <a href="https://blog.alexewerlof.com/p/sli-good">boundaries of good</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7pHu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7pHu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png 424w, https://substackcdn.com/image/fetch/$s_!7pHu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png 848w, https://substackcdn.com/image/fetch/$s_!7pHu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png 1272w, https://substackcdn.com/image/fetch/$s_!7pHu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7pHu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png" width="1426" height="612" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:612,&quot;width&quot;:1426,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100303,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7pHu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png 424w, https://substackcdn.com/image/fetch/$s_!7pHu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png 848w, https://substackcdn.com/image/fetch/$s_!7pHu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png 1272w, https://substackcdn.com/image/fetch/$s_!7pHu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e272573-7cd9-4761-b16c-559db2e65681_1426x612.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There is more control and settings that I can understand, yet the UI is simple enough that I think I can understand if I need to!</p><p>I also like their <em>Warning Threshold</em> which fits nicely with how Alerting/Monitoring is done in the rest of the Datadog platform.</p><p>Although it can lead to alert fatigue. Done right you wouldn't need warnings because of how <a href="https://sre.google/workbook/alerting-on-slos/">Google cleverly uses long window and short window</a>. Fortunately warnings is an opt-in feature in Datadog.</p><p>Once you create the SLO, you&#8217;re presented with a very well thought through dashboard showing Error Budget Burndown, Burn Rate and the color coded status:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T4xC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T4xC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png 424w, https://substackcdn.com/image/fetch/$s_!T4xC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png 848w, https://substackcdn.com/image/fetch/$s_!T4xC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png 1272w, https://substackcdn.com/image/fetch/$s_!T4xC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T4xC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png" width="1020" height="1180" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1180,&quot;width&quot;:1020,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:88780,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!T4xC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png 424w, https://substackcdn.com/image/fetch/$s_!T4xC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png 848w, https://substackcdn.com/image/fetch/$s_!T4xC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png 1272w, https://substackcdn.com/image/fetch/$s_!T4xC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89b6b26c-dbe4-4ba9-a331-d35a22e2628e_1020x1180.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Overall, Datadog continues to impress me with their UI but their price tag remains a pain point for many teams.</p><p>One important issue to note is that Datadog does not create monitors by default despite me setting a target for the SLO:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L5ka!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L5ka!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png 424w, https://substackcdn.com/image/fetch/$s_!L5ka!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png 848w, https://substackcdn.com/image/fetch/$s_!L5ka!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png 1272w, https://substackcdn.com/image/fetch/$s_!L5ka!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L5ka!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png" width="1020" height="350" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:350,&quot;width&quot;:1020,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:26387,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L5ka!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png 424w, https://substackcdn.com/image/fetch/$s_!L5ka!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png 848w, https://substackcdn.com/image/fetch/$s_!L5ka!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png 1272w, https://substackcdn.com/image/fetch/$s_!L5ka!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e3da45-6e4c-4455-8f24-d47d835b437d_1020x350.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Just like Elastic, Datadog doesn&#8217;t create alerts out of the box. Fortunately, creating an alert is just a click away:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5d9G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6906705-d281-40d1-9733-03f078a79e20_226x243.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5d9G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6906705-d281-40d1-9733-03f078a79e20_226x243.png 424w, https://substackcdn.com/image/fetch/$s_!5d9G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6906705-d281-40d1-9733-03f078a79e20_226x243.png 848w, https://substackcdn.com/image/fetch/$s_!5d9G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6906705-d281-40d1-9733-03f078a79e20_226x243.png 1272w, https://substackcdn.com/image/fetch/$s_!5d9G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6906705-d281-40d1-9733-03f078a79e20_226x243.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5d9G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6906705-d281-40d1-9733-03f078a79e20_226x243.png" width="226" height="243" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6906705-d281-40d1-9733-03f078a79e20_226x243.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:243,&quot;width&quot;:226,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12160,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5d9G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6906705-d281-40d1-9733-03f078a79e20_226x243.png 424w, https://substackcdn.com/image/fetch/$s_!5d9G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6906705-d281-40d1-9733-03f078a79e20_226x243.png 848w, https://substackcdn.com/image/fetch/$s_!5d9G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6906705-d281-40d1-9733-03f078a79e20_226x243.png 1272w, https://substackcdn.com/image/fetch/$s_!5d9G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6906705-d281-40d1-9733-03f078a79e20_226x243.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But it would be better to get the alert as part of setting up the SLO.</p><p>When it comes to setting an alert, you have two choices:</p><ul><li><p>By Error Budget consumption</p></li><li><p>By Burn Rate</p></li></ul><p>For the Error Budget burn, I find the default choice of 100% very curious! Here Datadog does not make any effort to make it easier to set a sane default (what happened to <a href="https://en.wikipedia.org/wiki/Principle_of_least_astonishment">POLA</a>?).</p><p>I would have gone with any of the defaults <a href="https://sre.google/workbook/alerting-on-slos/">suggested by Google</a> which is max 10%!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U7P1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U7P1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png 424w, https://substackcdn.com/image/fetch/$s_!U7P1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png 848w, https://substackcdn.com/image/fetch/$s_!U7P1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png 1272w, https://substackcdn.com/image/fetch/$s_!U7P1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U7P1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png" width="621" height="279" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:279,&quot;width&quot;:621,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23377,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!U7P1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png 424w, https://substackcdn.com/image/fetch/$s_!U7P1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png 848w, https://substackcdn.com/image/fetch/$s_!U7P1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png 1272w, https://substackcdn.com/image/fetch/$s_!U7P1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6be3c16-6bc9-43d6-b7f6-70eb51731c72_621x279.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For the Burn Rate, you need to know what you&#8217;re doing. Here, I have configured it according to one of Google&#8217;s recommendations:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aAAM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aAAM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png 424w, https://substackcdn.com/image/fetch/$s_!aAAM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png 848w, https://substackcdn.com/image/fetch/$s_!aAAM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png 1272w, https://substackcdn.com/image/fetch/$s_!aAAM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aAAM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png" width="621" height="306" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:306,&quot;width&quot;:621,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:26486,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aAAM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png 424w, https://substackcdn.com/image/fetch/$s_!aAAM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png 848w, https://substackcdn.com/image/fetch/$s_!aAAM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png 1272w, https://substackcdn.com/image/fetch/$s_!aAAM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95d7c13c-cc2b-479a-abc9-6d06980e5cd8_621x306.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The short window lookback is also hard coded to 1/12th of the long window. This is a sane default and still better than Elastic that hides this information. But I miss the ability to set it to other values. Whoever wrote <a href="https://docs.datadoghq.com/service_management/service_level_objectives/burn_rate/">the documentation</a> was aware of at least 1 use case for it</p><blockquote><p>If you find that your burn rate alert is consistently too flaky, this is an indication that you should make your short window slightly larger.</p></blockquote><p>Nor can I disable short window alerts.</p><p>In the <a href="https://slc.alexewerlof.com/">Service Level Calculator</a>, you can see all 3 suggestions:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SwKt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SwKt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png 424w, https://substackcdn.com/image/fetch/$s_!SwKt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png 848w, https://substackcdn.com/image/fetch/$s_!SwKt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png 1272w, https://substackcdn.com/image/fetch/$s_!SwKt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SwKt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png" width="509" height="227" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:227,&quot;width&quot;:509,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53014,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SwKt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png 424w, https://substackcdn.com/image/fetch/$s_!SwKt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png 848w, https://substackcdn.com/image/fetch/$s_!SwKt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png 1272w, https://substackcdn.com/image/fetch/$s_!SwKt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd3e9fe6-a5e0-4d47-8950-80ce2c39e6f3_509x227.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Note that the 1h/5m recommendation is for a 30 day SLO window.</p><p>For a 7-day window, if you go with 2% consumption at 14.4x, you&#8217;ll end up with 14 minutes for long window lookback and ~1 minute for short window lookback. Technicalities, I know, but it feels that Datadog&#8217;s SLO feature is just put together in a sloppy manner to tick a feature box. I have higher expectation at Datadog&#8217;s price point especially because the rest of their platform has a great UX.</p><p>Again, what they miss in their UI, they cover with <a href="https://docs.datadoghq.com/service_management/service_level_objectives/burn_rate/">documentation</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0V-a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24319c97-d5d2-4732-89eb-5994a931159d_722x709.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0V-a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24319c97-d5d2-4732-89eb-5994a931159d_722x709.png 424w, https://substackcdn.com/image/fetch/$s_!0V-a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24319c97-d5d2-4732-89eb-5994a931159d_722x709.png 848w, https://substackcdn.com/image/fetch/$s_!0V-a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24319c97-d5d2-4732-89eb-5994a931159d_722x709.png 1272w, https://substackcdn.com/image/fetch/$s_!0V-a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24319c97-d5d2-4732-89eb-5994a931159d_722x709.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0V-a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24319c97-d5d2-4732-89eb-5994a931159d_722x709.png" width="722" height="709" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24319c97-d5d2-4732-89eb-5994a931159d_722x709.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:709,&quot;width&quot;:722,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55960,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0V-a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24319c97-d5d2-4732-89eb-5994a931159d_722x709.png 424w, https://substackcdn.com/image/fetch/$s_!0V-a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24319c97-d5d2-4732-89eb-5994a931159d_722x709.png 848w, https://substackcdn.com/image/fetch/$s_!0V-a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24319c97-d5d2-4732-89eb-5994a931159d_722x709.png 1272w, https://substackcdn.com/image/fetch/$s_!0V-a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24319c97-d5d2-4732-89eb-5994a931159d_722x709.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The documentation has terms like &#8220;good behavior&#8221; instead of &#8220;good events&#8221; or &#8220;good timeslices&#8221;.</p><p>I also found the term &#8220;theoretical error budget&#8221; confusing, but the document does not disappoint with wise sentences like this:</p><blockquote><p>theoretical error budget consumption and actual error budget consumption are equal <em>because time always moves at a constant rate</em></p></blockquote><p>You don&#8217;t say! &#128514;</p><p>Fine! What&#8217;s wrong with just plain &#8220;error budget&#8221;? You certainly <a href="https://www.google.com/search?q=site%3Asre.google+%22theoretical+error+budget%22">don&#8217;t find a reference</a> to &#8220;theoretical error budget&#8221; in Google&#8217;s books. Service Levels are already hard enough. Why make the learning curve even steeper by making up new words? (Uhm, said the guy who invented <a href="https://blog.alexewerlof.com/p/sls">SLS</a> and <a href="https://blog.alexewerlof.com/p/10x9">10x/9</a>!) &#129760;</p><p>To my knowledge Datadog doesn&#8217;t support <a href="https://openslo.com/">OpenSLO</a> but they <a href="https://docs.datadoghq.com/service_management/service_level_objectives/burn_rate/#api-and-terraform">support Terraform</a>.</p><h1>Grafana</h1><p>Grafana refers to Service Levels as SLO and carefully hides them under <strong>Alerts &amp; IRM</strong>. IRM stands for Incident Response Management, if you&#8217;re wondering about that obvious acronym! Dammit UI designers! &#128514;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!69pU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!69pU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png 424w, https://substackcdn.com/image/fetch/$s_!69pU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png 848w, https://substackcdn.com/image/fetch/$s_!69pU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png 1272w, https://substackcdn.com/image/fetch/$s_!69pU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!69pU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png" width="294" height="467" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:467,&quot;width&quot;:294,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:25347,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!69pU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png 424w, https://substackcdn.com/image/fetch/$s_!69pU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png 848w, https://substackcdn.com/image/fetch/$s_!69pU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png 1272w, https://substackcdn.com/image/fetch/$s_!69pU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe39e4b0c-97f1-4bfa-a678-fe5d99599a7d_294x467.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is already a nice touch because Service Levels need to be tied to some responsibility and alerting is the absolute basic mechanism to do that.</p><p>In fact, alerting is such a prominent feature of Grafana Service Level implementation that it has a dedicated filter in the SLO management:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2ZWw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2ZWw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png 424w, https://substackcdn.com/image/fetch/$s_!2ZWw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png 848w, https://substackcdn.com/image/fetch/$s_!2ZWw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png 1272w, https://substackcdn.com/image/fetch/$s_!2ZWw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2ZWw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png" width="1279" height="313" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:313,&quot;width&quot;:1279,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:34927,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2ZWw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png 424w, https://substackcdn.com/image/fetch/$s_!2ZWw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png 848w, https://substackcdn.com/image/fetch/$s_!2ZWw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png 1272w, https://substackcdn.com/image/fetch/$s_!2ZWw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22aee4b-c121-4b4f-932a-51b224780e68_1279x313.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Alerts are also a key attribute of the SLO. A dedicated button takes you directly to alerting configuration:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0A-t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1af889e-b058-4e56-b079-67d459afa12f_128x116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0A-t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1af889e-b058-4e56-b079-67d459afa12f_128x116.png 424w, https://substackcdn.com/image/fetch/$s_!0A-t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1af889e-b058-4e56-b079-67d459afa12f_128x116.png 848w, https://substackcdn.com/image/fetch/$s_!0A-t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1af889e-b058-4e56-b079-67d459afa12f_128x116.png 1272w, https://substackcdn.com/image/fetch/$s_!0A-t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1af889e-b058-4e56-b079-67d459afa12f_128x116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0A-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1af889e-b058-4e56-b079-67d459afa12f_128x116.png" width="128" height="116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1af889e-b058-4e56-b079-67d459afa12f_128x116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:116,&quot;width&quot;:128,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3951,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0A-t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1af889e-b058-4e56-b079-67d459afa12f_128x116.png 424w, https://substackcdn.com/image/fetch/$s_!0A-t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1af889e-b058-4e56-b079-67d459afa12f_128x116.png 848w, https://substackcdn.com/image/fetch/$s_!0A-t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1af889e-b058-4e56-b079-67d459afa12f_128x116.png 1272w, https://substackcdn.com/image/fetch/$s_!0A-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1af889e-b058-4e56-b079-67d459afa12f_128x116.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Love it! &#128150;</p><p>The process of creating an SLO is straightforward using a wizard UI:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yzky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yzky!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png 424w, https://substackcdn.com/image/fetch/$s_!yzky!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png 848w, https://substackcdn.com/image/fetch/$s_!yzky!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png 1272w, https://substackcdn.com/image/fetch/$s_!yzky!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yzky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png" width="1144" height="771" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:771,&quot;width&quot;:1144,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89631,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yzky!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png 424w, https://substackcdn.com/image/fetch/$s_!yzky!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png 848w, https://substackcdn.com/image/fetch/$s_!yzky!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png 1272w, https://substackcdn.com/image/fetch/$s_!yzky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84aa6c6a-57d1-423c-b94e-7a5da9bb53f4_1144x771.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You see? 5 steps! Not 3! And certainly no circles. Grafana is original! Or at least their UI designers know how to <a href="https://grafana.com/blog/2023/05/12/inside-grafana-labs-remote-first-is-relationship-first/">work from home</a>.</p><p>You can enter any <a href="https://blog.alexewerlof.com/p/compliance-period">compliance periods</a> as long as it&#8217;s in days&#8230; Or nights&#8230; You get the idea! 28 days is common for weekly seasonality (when the metric trend follows a weekly pattern) but 30 days is the most common:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BXlp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BXlp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png 424w, https://substackcdn.com/image/fetch/$s_!BXlp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png 848w, https://substackcdn.com/image/fetch/$s_!BXlp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png 1272w, https://substackcdn.com/image/fetch/$s_!BXlp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BXlp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png" width="280" height="95" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:95,&quot;width&quot;:280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6823,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BXlp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png 424w, https://substackcdn.com/image/fetch/$s_!BXlp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png 848w, https://substackcdn.com/image/fetch/$s_!BXlp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png 1272w, https://substackcdn.com/image/fetch/$s_!BXlp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d87b80a-672c-47f9-9882-e4a47a0f9fff_280x95.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Grafana doesn&#8217;t seem to support <a href="https://blog.alexewerlof.com/p/compliance-period">calendar-bound compliance periods</a> (e.g. budgeting per calendar month) as far as I can tell..</p><p>SLI can be either <a href="https://blog.alexewerlof.com/p/sli">time-based (e.g. uptime) or event-based</a>. Grafana&#8217;s default UI doesn&#8217;t bring up that aspect which is a miss. Typically, time-based SLIs are easier to start with and I&#8217;d expect to see that choice in the first step of the wizard as a prominent option.</p><p>As we <a href="https://blog.alexewerlof.com/p/sli">discussed before</a>, the formula for SLI is success divided by valid events or timeslots.</p><p>There&#8217;s a distinction between <em><a href="https://blog.alexewerlof.com/p/valid-vs-total">valid</a></em><a href="https://blog.alexewerlof.com/p/valid-vs-total"> and </a><em><a href="https://blog.alexewerlof.com/p/valid-vs-total">total</a></em> which is often underutilized. Grafana chose the simpler term:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oCSP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oCSP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png 424w, https://substackcdn.com/image/fetch/$s_!oCSP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png 848w, https://substackcdn.com/image/fetch/$s_!oCSP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png 1272w, https://substackcdn.com/image/fetch/$s_!oCSP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oCSP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png" width="828" height="182" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:182,&quot;width&quot;:828,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15826,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oCSP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png 424w, https://substackcdn.com/image/fetch/$s_!oCSP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png 848w, https://substackcdn.com/image/fetch/$s_!oCSP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png 1272w, https://substackcdn.com/image/fetch/$s_!oCSP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4b19930-d7d1-4083-abcd-38196ef08e4a_828x182.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Just like the other two, Grafana only supports <a href="https://blog.alexewerlof.com/p/sli-heterogeneous-vs-homogeneous">heterogeneous SLIs</a>. </p><p>I suppose homogeneous SLIs are possible in the <em>Advanced</em> view, but my evaluation instance didn&#8217;t have enough data to try this aspect:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!byI3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!byI3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png 424w, https://substackcdn.com/image/fetch/$s_!byI3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png 848w, https://substackcdn.com/image/fetch/$s_!byI3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png 1272w, https://substackcdn.com/image/fetch/$s_!byI3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!byI3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png" width="815" height="570" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:815,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:70208,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!byI3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png 424w, https://substackcdn.com/image/fetch/$s_!byI3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png 848w, https://substackcdn.com/image/fetch/$s_!byI3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png 1272w, https://substackcdn.com/image/fetch/$s_!byI3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac151ca8-ef8b-46de-9340-30ef8302fd71_815x570.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Setting SLO and Error Budget in one step is another nice touch in Grafana because these two values are tightly coupled:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0aOO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0aOO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png 424w, https://substackcdn.com/image/fetch/$s_!0aOO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png 848w, https://substackcdn.com/image/fetch/$s_!0aOO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png 1272w, https://substackcdn.com/image/fetch/$s_!0aOO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0aOO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png" width="853" height="352" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:352,&quot;width&quot;:853,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:41304,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0aOO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png 424w, https://substackcdn.com/image/fetch/$s_!0aOO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png 848w, https://substackcdn.com/image/fetch/$s_!0aOO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png 1272w, https://substackcdn.com/image/fetch/$s_!0aOO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F695b4fc5-289b-4bb6-bd99-0c84b1015e71_853x352.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>However, I would have preferred a percentage slider as implemented in <a href="https://slc.alexewerlof.com/">SLC</a> because unlike other settings, this one can only be between 0-100 (typically above 90%).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wiob!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wiob!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png 424w, https://substackcdn.com/image/fetch/$s_!Wiob!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png 848w, https://substackcdn.com/image/fetch/$s_!Wiob!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png 1272w, https://substackcdn.com/image/fetch/$s_!Wiob!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wiob!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png" width="570" height="261" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:261,&quot;width&quot;:570,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:10490,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wiob!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png 424w, https://substackcdn.com/image/fetch/$s_!Wiob!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png 848w, https://substackcdn.com/image/fetch/$s_!Wiob!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png 1272w, https://substackcdn.com/image/fetch/$s_!Wiob!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80edfbe8-d0c6-4971-9d71-cb3b652ed296_570x261.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is absolutely not a deal-breaker, but what <em>is</em> a deal-breaker is the fact that you can set the SLO to 100% and it doesn&#8217;t even complain! &#128561;</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kcik!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55720e16-ee7f-4600-aad8-da921e956f20_838x216.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kcik!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55720e16-ee7f-4600-aad8-da921e956f20_838x216.png 424w, https://substackcdn.com/image/fetch/$s_!kcik!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55720e16-ee7f-4600-aad8-da921e956f20_838x216.png 848w, https://substackcdn.com/image/fetch/$s_!kcik!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55720e16-ee7f-4600-aad8-da921e956f20_838x216.png 1272w, https://substackcdn.com/image/fetch/$s_!kcik!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55720e16-ee7f-4600-aad8-da921e956f20_838x216.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kcik!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55720e16-ee7f-4600-aad8-da921e956f20_838x216.png" width="838" height="216" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55720e16-ee7f-4600-aad8-da921e956f20_838x216.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:216,&quot;width&quot;:838,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:33448,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kcik!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55720e16-ee7f-4600-aad8-da921e956f20_838x216.png 424w, https://substackcdn.com/image/fetch/$s_!kcik!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55720e16-ee7f-4600-aad8-da921e956f20_838x216.png 848w, https://substackcdn.com/image/fetch/$s_!kcik!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55720e16-ee7f-4600-aad8-da921e956f20_838x216.png 1272w, https://substackcdn.com/image/fetch/$s_!kcik!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55720e16-ee7f-4600-aad8-da921e956f20_838x216.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>However, setting it to 110% seems to kick in the validation mechanism:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yN8x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yN8x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png 424w, https://substackcdn.com/image/fetch/$s_!yN8x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png 848w, https://substackcdn.com/image/fetch/$s_!yN8x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png 1272w, https://substackcdn.com/image/fetch/$s_!yN8x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yN8x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png" width="838" height="256" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:838,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37512,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yN8x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png 424w, https://substackcdn.com/image/fetch/$s_!yN8x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png 848w, https://substackcdn.com/image/fetch/$s_!yN8x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png 1272w, https://substackcdn.com/image/fetch/$s_!yN8x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18f04d6a-e7db-4f67-869f-7be19880922d_838x256.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Although they still show an error budget of -10%? Is that a budget or giveaway? &#129297;</p><p>Personally, I&#8217;d prefer the UI to scream if the value is too close to 100%. For example, SLC shows an error with a link to <a href="https://blog.alexewerlof.com/p/10x9">the rule of 10x/9</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QcvL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QcvL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png 424w, https://substackcdn.com/image/fetch/$s_!QcvL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png 848w, https://substackcdn.com/image/fetch/$s_!QcvL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png 1272w, https://substackcdn.com/image/fetch/$s_!QcvL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QcvL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png" width="570" height="372" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:372,&quot;width&quot;:570,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:30641,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QcvL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png 424w, https://substackcdn.com/image/fetch/$s_!QcvL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png 848w, https://substackcdn.com/image/fetch/$s_!QcvL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png 1272w, https://substackcdn.com/image/fetch/$s_!QcvL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bc75a0f-c723-4340-9a3b-8123657d9a71_570x372.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Picking an unrealistic value like 100% can negatively impact the alerting experience or deployment frequency (100% is totally fine for <a href="https://blog.alexewerlof.com/p/sls">SLS</a> but not <a href="https://blog.alexewerlof.com/p/slo">SLO</a>).</p><p>That&#8217;s one reason that SLC exists: to set <em>reasonable</em> expectations.</p><p>Moving on. Another aspect of Grafana&#8217;s Service Level implementation that I absolutely love is their categorization mechanism:</p><ul><li><p>You can put the SLO in a folder</p></li><li><p>It to a team name</p></li><li><p>And define custom labels for it (both Datadog and Elastic have this feature)</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wxgv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wxgv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png 424w, https://substackcdn.com/image/fetch/$s_!wxgv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png 848w, https://substackcdn.com/image/fetch/$s_!wxgv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png 1272w, https://substackcdn.com/image/fetch/$s_!wxgv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wxgv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png" width="851" height="709" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:709,&quot;width&quot;:851,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:78684,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wxgv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png 424w, https://substackcdn.com/image/fetch/$s_!wxgv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png 848w, https://substackcdn.com/image/fetch/$s_!wxgv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png 1272w, https://substackcdn.com/image/fetch/$s_!wxgv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F061be76e-6b70-4177-9fd3-480f09749aa0_851x709.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>These features make it easier to manage SLOs across a large organization, which is exactly the type of challenge I am dealing with. Kudos for that.</p><p>The 4th step of defining a SLO in Grafana is Alerting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zTYk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zTYk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png 424w, https://substackcdn.com/image/fetch/$s_!zTYk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png 848w, https://substackcdn.com/image/fetch/$s_!zTYk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png 1272w, https://substackcdn.com/image/fetch/$s_!zTYk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zTYk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png" width="851" height="631" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:631,&quot;width&quot;:851,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75876,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zTYk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png 424w, https://substackcdn.com/image/fetch/$s_!zTYk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png 848w, https://substackcdn.com/image/fetch/$s_!zTYk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png 1272w, https://substackcdn.com/image/fetch/$s_!zTYk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F969281b4-9347-4cdf-b7f7-30aeec2c58b3_851x631.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are two predefined alerting rules to pick from:</p><ul><li><p>Fast-burn alert has 2 rules:</p><ul><li><p>Burn Rate: 14.4x</p><ul><li><p>Long lookback window: 1 hour</p></li><li><p>Short lookback window: 5 minutes</p></li></ul></li><li><p>Burn Rate: 6x</p><ul><li><p>Long lookback window: 6 hours</p></li><li><p>Short lookback window: 30 minutes</p></li></ul></li></ul></li><li><p>Slow-burn alert also has 2 rules:</p><ul><li><p>Burn Rate: 3x</p><ul><li><p>Long lookback window: 1 day</p></li><li><p>Short lookback window: 2 hours</p></li></ul></li><li><p>Burn Rate: 1x</p><ul><li><p>Long lookback window: 3 days</p></li><li><p>Short lookback window: 6 hours</p></li></ul></li></ul></li></ul><p>Apart from the 3x rule, the rest comply with <a href="https://sre.google/workbook/alerting-on-slos/">Google&#8217;s recommendation</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FVzx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FVzx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png 424w, https://substackcdn.com/image/fetch/$s_!FVzx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png 848w, https://substackcdn.com/image/fetch/$s_!FVzx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png 1272w, https://substackcdn.com/image/fetch/$s_!FVzx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FVzx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png" width="946" height="438" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:438,&quot;width&quot;:946,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45963,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FVzx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png 424w, https://substackcdn.com/image/fetch/$s_!FVzx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png 848w, https://substackcdn.com/image/fetch/$s_!FVzx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png 1272w, https://substackcdn.com/image/fetch/$s_!FVzx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb38333a8-7f97-4459-b393-a8b2e065fae2_946x438.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Notice that Grafana does not provide a setting for adjusting the percentage of error budget that is allowed to be consumed before triggering the alert. That&#8217;s because their settings are primarily focused on the lookback window and burn rate.</p><p>I would prefer working with the percentages because they&#8217;re easier to reason about than a time period.</p><p>Which one would you pick:</p><ul><li><p>Trigger an alert after burning 2% of error budget at +14.4x</p></li><li><p>Trigger an alert after burning the error budget at +14.4x over the last 1h and still burning in the last 5 minutes</p></li></ul><p>The time-based settings are more sensible for the time-based SLIs &#8212;which as we discussed aren&#8217;t explicitly supported by Grafana. This is just confusing to me.</p><p>Another confusing option is the <em>Minimum Failure Threshold</em>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ypZ5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ypZ5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png 424w, https://substackcdn.com/image/fetch/$s_!ypZ5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png 848w, https://substackcdn.com/image/fetch/$s_!ypZ5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png 1272w, https://substackcdn.com/image/fetch/$s_!ypZ5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ypZ5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png" width="826" height="887" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:887,&quot;width&quot;:826,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:88424,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ypZ5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png 424w, https://substackcdn.com/image/fetch/$s_!ypZ5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png 848w, https://substackcdn.com/image/fetch/$s_!ypZ5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png 1272w, https://substackcdn.com/image/fetch/$s_!ypZ5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bdd06b6-ece5-41a0-9cd7-8d13bb394ba0_826x887.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It is an <em>Advanced Option</em> allowing you to set the minimum number of failures required for the alert to fire. But I don&#8217;t understand why it&#8217;s necessary (I&#8217;m guessing it was added as an after-thought due to problems with the purely time-based alerting options namely when there&#8217;s not enough failures.</p><p>What is an alert without a notification? Unfortunately, the notification settings aren&#8217;t part of the wizard. All you get is this:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yCXr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yCXr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png 424w, https://substackcdn.com/image/fetch/$s_!yCXr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png 848w, https://substackcdn.com/image/fetch/$s_!yCXr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png 1272w, https://substackcdn.com/image/fetch/$s_!yCXr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yCXr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png" width="826" height="94" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:94,&quot;width&quot;:826,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:18133,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yCXr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png 424w, https://substackcdn.com/image/fetch/$s_!yCXr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png 848w, https://substackcdn.com/image/fetch/$s_!yCXr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png 1272w, https://substackcdn.com/image/fetch/$s_!yCXr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F080a20e9-2e4c-423d-bd1d-b71e62ecfdca_826x94.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If you click that link, you&#8217;ll be thrown into the generic alerting menu. This makes it easier for Grafana implementation DRY-wise but breaks the nice flow of the wizard.</p><p>Fortunately, the SLO Alerts will use the default notification policy, which is a sensible choice.</p><p>Step 5 is a review screen so it could totally be a 4-step process.</p><p>I did not see a live view of the SLO settings, something that had a prominent place in both Elastic and Datadog SLO setup screen.</p><p>Notice how Grafana happily accepted my unrealistic SLO of 100% while highlighting a 0% error budget in green:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0mZc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0mZc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png 424w, https://substackcdn.com/image/fetch/$s_!0mZc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png 848w, https://substackcdn.com/image/fetch/$s_!0mZc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png 1272w, https://substackcdn.com/image/fetch/$s_!0mZc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0mZc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png" width="851" height="847" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:847,&quot;width&quot;:851,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:81647,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0mZc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png 424w, https://substackcdn.com/image/fetch/$s_!0mZc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png 848w, https://substackcdn.com/image/fetch/$s_!0mZc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png 1272w, https://substackcdn.com/image/fetch/$s_!0mZc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a2b3a9a-6a9e-46be-95cf-0bd1d2bef276_851x847.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Fortunately, this should be very easy to fix: if it didn&#8217;t allow me to type 100% in step 2, this wouldn&#8217;t happen.</p><h1>Sum up</h1><p>Datadog has the best UX followed closely by Grafana. The reason Datadog wins the UX is their excellent documentation which honestly is a great learning resource whether you use their platform or not.</p><p>Elastic&#8217;s UX looks similar to Datadog but more janky and less sensible copy. And short window is missing from the UI.</p><p>Grafana has the most complete options. It allows setting custom days for rolling windows but misses time-based SLIs.</p><p>Both Grafana and Datadog support setting SLOs on synthetic monitoring. I&#8217;m guessing Elastic does too but I didn&#8217;t try.</p><p>All 3 only support <a href="https://blog.alexewerlof.com/p/sli-heterogeneous-vs-homogeneous">heterogenous SLIs</a>.</p><p>Datadog has the most awesome out-of-the-box SLO dashboards again followed closely by Grafana.</p><p>Alerting is a very important aspect of SLOs. Admittedly it is hard to get right and I have it in my backlog to explain in a separate blog post.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><p>Grafana has the best alerting setup for the mere fact that it is an integrated part of setting up the SLO. Both Datadog and Elastic require an extra step to set alerts.</p><p>Datadog and Elastic come second for different reasons:</p><ul><li><p>Datadog doesn&#8217;t have good defaults</p></li><li><p>Elastic has nice defaults but misses key configuration options</p></li></ul><p>Personally, I prefer Grafana when it comes to the SLO implementation.</p><div><hr></div><p><em>These posts take anywhere from a few hours to a few days to ideate, draft, research, illustrate, edit, and publish. I pull these hours from my private time, vacation days and weekends.</em></p><p><em>Recently I went down in working hours and salary by 10% to be able to spend more time learning and sharing my experience with the public.</em></p><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a>&nbsp;is to give away most content for free because I believe information should be free and accessible. You can support this cause by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections (on some articles) as well as my online book&nbsp;<a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Right now, you can get 20% off via&nbsp;<a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access or get a discounted group subscription. There&#8217;s also a <a href="https://blog.alexewerlof.com/leaderboard">referral bonus program to gain free subscriptions</a>.</em></p><p><em>Thanks in advance for helping these words reach further and impact the software engineering community.</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/slo-elastic-datadog-grafana?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this post insightful, please share it in your circles to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/slo-elastic-datadog-grafana?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/slo-elastic-datadog-grafana?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[Heterogeneous SLI vs Homogeneous SLI]]></title><description><![CDATA[Cons and pros of each approach and when to use which]]></description><link>https://blog.alexewerlof.com/p/sli-heterogeneous-vs-homogeneous</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/sli-heterogeneous-vs-homogeneous</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Fri, 13 Sep 2024 04:37:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aFXH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At the heart of the <a href="https://blog.alexewerlof.com/p/sli">Service Levels</a> is the ratio between <a href="https://blog.alexewerlof.com/p/sli-good">good</a> and <a href="https://blog.alexewerlof.com/p/valid-vs-total">valid</a>:</p><ul><li><p>Percentage of <code>requests</code> where <code>response.latency &lt; 300ms</code></p></li><li><p>Percentage of <code>uptime probes</code> where <code>response.code == 200</code></p></li><li><p>Percentage of <code>database records</code> where <code>fields.*.age &lt; 365 days</code></p></li><li><p>Percentage of <code>authenticated API requests</code> where <code>http_response.code &lt; 500</code></p></li></ul><p>When it comes to implement and calculate those percentages, there are two approaches:</p><ul><li><p><strong>Heterogeneous:</strong> good and valid are two different metrics with an assumed correlation.</p></li><li><p><strong>Homogeneous:</strong> good and valid come from processing the same metric where good and valid are tightly coupled</p></li></ul><p>This article introduces both types with examples and illustrations ending with a recommendation.</p><h2>Heterogeneous</h2><p>This type of SLI queries two different metrics to count the number of:</p><p>Good and valid:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SLI = \\frac{\\text{good}}{\\text{valid}} \\times 100&quot;,&quot;id&quot;:&quot;SBKHVFIBZQ&quot;}" data-component-name="LatexBlockToDOM"></div><p>or good and bad:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SLI = \\frac{\\text{good}}{\\text{good} + \\text{bad}} \\times 100\n&quot;,&quot;id&quot;:&quot;DODRDTNUOR&quot;}" data-component-name="LatexBlockToDOM"></div><p>or bad and valid:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SLI = \\frac{\\text{valid} - \\text{bad}}{\\text{valid}} \\times 100\n&quot;,&quot;id&quot;:&quot;RXYEGBPOCJ&quot;}" data-component-name="LatexBlockToDOM"></div><p>Regardless of the approach, it ends up querying two metrics.</p><p>Example: Availability of online purchase flow:</p><ul><li><p>Valid: number of unique sessions where the user clicked on the &#8220;Pay&#8221; button on the check out page</p></li><li><p>Bad: number of payments failing due to payment gateway issues</p></li><li><p>Good = Valid - Bad</p></li></ul><p><em>Note: we deliberately filter out other failures like: when the user doesn&#8217;t have enough money, or entered the wrong payment information because <a href="https://blog.alexewerlof.com/p/responsible-for-control">you should never be responsible for what you don't control</a>.</em></p><p>On the surface, it looks reasonable, but in practice there are multiple nuances. The biggest issue is the assumed correlation between the datapoints of two different metrics over time:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aFXH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aFXH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png 424w, https://substackcdn.com/image/fetch/$s_!aFXH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png 848w, https://substackcdn.com/image/fetch/$s_!aFXH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png 1272w, https://substackcdn.com/image/fetch/$s_!aFXH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aFXH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png" width="1017" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1017,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53530,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aFXH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png 424w, https://substackcdn.com/image/fetch/$s_!aFXH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png 848w, https://substackcdn.com/image/fetch/$s_!aFXH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png 1272w, https://substackcdn.com/image/fetch/$s_!aFXH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9885c5ab-8dc7-4964-b7a6-8095c4c5901e_1017x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">In this lookback window, there are 6 good events and 8 valid events but they are not corelated</figcaption></figure></div><p>This is because the data points of two separate metrics don&#8217;t exactly match. As a result, for any type of lookback window (e.g. SLS or Alerting), we may end up with an inaccurate measurement.</p><p>The problem doesn&#8217;t stop at the timestamp level. It is practically impossible to guarantee a 1-1 mapping between valid events and good events when they&#8217;re measuring different things, at different locations, and different times.</p><p>Another obvious issue is the fact that we need to measure, store, and query two separate metrics (<code>valid</code> and either <code>good</code> or <code>bad</code>).</p><h3>Pros</h3><ul><li><p>Can correlate events across different systems which may map better to how the consumers perceives reliability of the service</p></li><li><p>Easier to reason about for beginners</p></li><li><p>Easier to implement by conventional Observability providers (in the next articles we&#8217;ll review how Elastic, Datadog, and Grafana implement service levels)</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h3>Cons</h3><ul><li><p>It might be harder to work with two datasets due to broken correlation between datapoints.</p></li><li><p>Less efficient due to requiring 2 metrics</p></li></ul><h2>Homogeneous</h2><p>Homogeneous SLIs come directly from the fact that the SLI formula is a percentage:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SLI = \\frac{\\text{good}}{\\text{valid}} \\times 100&quot;,&quot;id&quot;:&quot;OOATSIMYSW&quot;}" data-component-name="LatexBlockToDOM"></div><p>All you have to do is to:</p><ol><li><p>Filter the metric to only contain valid data points</p></li><li><p>Go through the data points and count the number of good (or bad) events</p></li><li><p>Divide it by the total number of data points</p></li></ol><p>It&#8217;s easier to show it with a diagram:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6B2-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6B2-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png 424w, https://substackcdn.com/image/fetch/$s_!6B2-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png 848w, https://substackcdn.com/image/fetch/$s_!6B2-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png 1272w, https://substackcdn.com/image/fetch/$s_!6B2-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6B2-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png" width="1015" height="676" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:676,&quot;width&quot;:1015,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:52288,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6B2-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png 424w, https://substackcdn.com/image/fetch/$s_!6B2-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png 848w, https://substackcdn.com/image/fetch/$s_!6B2-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png 1272w, https://substackcdn.com/image/fetch/$s_!6B2-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb6be925-84d6-43ad-a656-f24d62d9636e_1015x676.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">In this lookback window, 6 out of 8 events are good</figcaption></figure></div><p>The biggest advantage of this method is the reliable correlation between good, bad and valid.</p><p><em>Note: an upcoming feature of <a href="https://slc.alexewerlof.com/">SLC</a>, introduces a simulator. It uses an O(1) algorithm to process the metric data in one pass. I&#8217;ll write more about that technique once the feature is out.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">If you want to stay in the know for SLC development and learn more along the way, you can subscribe for free.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>An obvious advantage of a homogeneous SLI is that it only needs to measure, store, and query one metric.</p><p>The downside is that your SLI may not readily be one metric. You may need to use a data processing pipeline that takes in 2 metrics in and spits out a clean homogeneous SLI. This can introduce a delay and cost to your setup.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CzlQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CzlQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png 424w, https://substackcdn.com/image/fetch/$s_!CzlQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png 848w, https://substackcdn.com/image/fetch/$s_!CzlQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png 1272w, https://substackcdn.com/image/fetch/$s_!CzlQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CzlQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png" width="1028" height="367" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:367,&quot;width&quot;:1028,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37047,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CzlQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png 424w, https://substackcdn.com/image/fetch/$s_!CzlQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png 848w, https://substackcdn.com/image/fetch/$s_!CzlQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png 1272w, https://substackcdn.com/image/fetch/$s_!CzlQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cae679c-2460-4724-ac03-7a1eabc78dd3_1028x367.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The good news is that most metrics don&#8217;t need this type of processing. For example:</p><ul><li><p><code>Uptime calculation:</code> divide the percentage of successful probes during the window, multiply by 100</p></li><li><p><code>Percentage of authenticated requests where latency &lt; 200ms</code>: find all the authenticated requests in the window, filter out any events where latency &#8805; 200 and divide this count to the total number of requests x 100</p></li></ul><h3>Pros</h3><ul><li><p>It is more intuitive because it&#8217;s closer to how normalized SLI is literally defined</p></li><li><p>It requires half as many metrics (only <code>valid</code>)</p></li><li><p>The SLS calculations essentially turns into a percentile calculation so it is easier to reason about the dataset</p></li></ul><h3>Cons</h3><ul><li><p>When the good and valid come from different systems, it requires extra processing to corelate the events which adds to the cost and complexity</p></li><li><p>None of the observability providers that I have investigated (Datadog, Elastic, Grafana) support homogeneous metrics out of the box.</p></li></ul><h1>When to use which?</h1><p>Whether you use homogeneous or heterogeneous metrics depends on how the consumers perceive reliability, your tooling, and budget (time, and money).</p><p>Homogeneous metrics are easier to reason about and often come naturally out of the box.</p><p>If you can ensure a tight coupling between the two metrics, a heterogenous metric can work too.</p><div><hr></div><p><em>These posts take anywhere from a few hours to a few days to ideate, draft, research, illustrate, edit, and publish. I pull these hours from my private time, vacation days and weekends.</em></p><p><em>Recently I went down in working hours and salary by 10% to be able to spend more time learning and sharing my experience with the public.</em></p><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a>&nbsp;is to give away most content for free because I believe information should be free and accessible. You can support this cause by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections (on some articles) as well as my online book&nbsp;<a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Right now, you can get 20% off via&nbsp;<a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access or get a discounted group subscription. There&#8217;s also a <a href="https://blog.alexewerlof.com/leaderboard">referral bonus program to gain free subscriptions</a>.</em></p><p><em>Thanks in advance for helping these words reach further and impact the software engineering community.</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sli-heterogeneous-vs-homogeneous?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this post insightful, please share it in your circles to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sli-heterogeneous-vs-homogeneous?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/sli-heterogeneous-vs-homogeneous?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[SLS]]></title><description><![CDATA[Service Level Status]]></description><link>https://blog.alexewerlof.com/p/sls</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/sls</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Sun, 08 Sep 2024 08:37:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>SLS is the current, real-time, or recent state of a service's performance in relation to its SLOs (Service Level Objectives). This post explains why it&#8217;s useful, how to calculate it, and what can it do in the context of reliability engineering?</p><div><hr></div><p><a href="https://blog.alexewerlof.com/p/sli">Service Level Indicator</a> is a metric. <a href="https://blog.alexewerlof.com/p/slo">Service Level Objective</a> sets the expectation.</p><p>Fine! But how can we calculate SLI? What is the day-to-day experience of using service levels? More exactly, how do you relate the raw metric values (e.g. latency, error rate, cache hit rates, etc.) to a target that looks like <code>99.96%</code>?</p><p>There&#8217;s a conceptual gap between the metric values and SLO target.</p><p>This is where Service Level Status (SLS) comes to the picture. SLS processes the values of the service level indicator metric over time.</p><ul><li><p>It uses the definition of <a href="https://blog.alexewerlof.com/p/time-based-vs-event-based">event</a>, <a href="https://blog.alexewerlof.com/p/sli-good">good</a> and <a href="https://blog.alexewerlof.com/p/valid-vs-total">valid</a> from SLI</p></li><li><p>Then evaluates each data point according to the constraints specified in SLO and aggregates them during the <a href="https://blog.alexewerlof.com/p/compliance-period">window</a> specified by SLO</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h4Ky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h4Ky!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png 424w, https://substackcdn.com/image/fetch/$s_!h4Ky!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png 848w, https://substackcdn.com/image/fetch/$s_!h4Ky!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png 1272w, https://substackcdn.com/image/fetch/$s_!h4Ky!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h4Ky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png" width="964" height="825" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:825,&quot;width&quot;:964,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53365,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h4Ky!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png 424w, https://substackcdn.com/image/fetch/$s_!h4Ky!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png 848w, https://substackcdn.com/image/fetch/$s_!h4Ky!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png 1272w, https://substackcdn.com/image/fetch/$s_!h4Ky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe92c2af-4727-47bb-bebc-1c12202d6bb1_964x825.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The formula for SLS is exactly as the normalized SLI:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;SLS = \\frac{\\Sigma(\\text{good})}{\\Sigma(\\text{valid})} \\times 100 \\\\\n\\qquad \\text{over the SLO window}&quot;,&quot;id&quot;:&quot;GJYVUNRVBK&quot;}" data-component-name="LatexBlockToDOM"></div><p>SLS has multiple advantages:</p><ul><li><p>It allows keeping track of historical level of service in relation to the objective</p></li><li><p>SLS can be plotted on a diagram where the <code>x-axis</code> represents the time and the <code>y-axis</code> is in percentage (0-100).</p></li><li><p>Each value represents the status of service level in relation to the SLO which is a horizontal line.</p></li></ul><p>Here&#8217;s a sample data for a latency SLI:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MI-Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c526936-994f-435a-9912-99a97c31104f_1252x419.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MI-Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c526936-994f-435a-9912-99a97c31104f_1252x419.png 424w, https://substackcdn.com/image/fetch/$s_!MI-Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c526936-994f-435a-9912-99a97c31104f_1252x419.png 848w, https://substackcdn.com/image/fetch/$s_!MI-Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c526936-994f-435a-9912-99a97c31104f_1252x419.png 1272w, https://substackcdn.com/image/fetch/$s_!MI-Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c526936-994f-435a-9912-99a97c31104f_1252x419.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MI-Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c526936-994f-435a-9912-99a97c31104f_1252x419.png" width="1252" height="419" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c526936-994f-435a-9912-99a97c31104f_1252x419.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:419,&quot;width&quot;:1252,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:116317,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MI-Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c526936-994f-435a-9912-99a97c31104f_1252x419.png 424w, https://substackcdn.com/image/fetch/$s_!MI-Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c526936-994f-435a-9912-99a97c31104f_1252x419.png 848w, https://substackcdn.com/image/fetch/$s_!MI-Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c526936-994f-435a-9912-99a97c31104f_1252x419.png 1272w, https://substackcdn.com/image/fetch/$s_!MI-Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c526936-994f-435a-9912-99a97c31104f_1252x419.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here&#8217;s the SLS for the same data in relation to a 99% SLO:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Iic6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Iic6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png 424w, https://substackcdn.com/image/fetch/$s_!Iic6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png 848w, https://substackcdn.com/image/fetch/$s_!Iic6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png 1272w, https://substackcdn.com/image/fetch/$s_!Iic6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Iic6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png" width="1331" height="437" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:437,&quot;width&quot;:1331,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:47114,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Iic6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png 424w, https://substackcdn.com/image/fetch/$s_!Iic6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png 848w, https://substackcdn.com/image/fetch/$s_!Iic6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png 1272w, https://substackcdn.com/image/fetch/$s_!Iic6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72626845-d6a6-4cb9-902d-4a9a1247efef_1331x437.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This article introduces SLS, its origin, examples, and metaphor.</p><h1>The origin story</h1><p>Those of you who have read <a href="https://sre.google/books/">Google&#8217;s [excellent] books</a> might be scratching your head about &#8220;SLS&#8221;. That&#8217;s because I coined this term! But don&#8217;t let that put you off. There&#8217;s a story behind it.</p><p>I&#8217;m responsible for rolling out Service Levels across a relatively large organization with hundreds of internal and external services. Aware of the <a href="https://blog.alexewerlof.com/p/service-level-adoption-obstacles">service level adoption obstacles</a>, I take the time to meet each team, get to know their service, and define a service level indicator together with their consumers in the room.</p><p>At one workshop, a participant asked:</p><blockquote><p>&#8212; &#8220;If the SLI is the metric, what do you call the data points of that metric?&#8221;</p><p>&#8212; &#8220;The data is the SLI&#8221;, I replied</p><p>&#8212; &#8220;But they are different things.&#8221;, he pointed at their SLI which read <code>Latency</code> and the definition of <a href="https://blog.alexewerlof.com/p/sli-good">good</a> events as <code>respone_latency &lt; 500ms</code>.</p><p>&#8212; &#8220;At any given point in time, we are counting the number of requests that were responded in less than <code>500ms</code> and divide it by total number of requests, right?&#8221;, he continued.</p><p>&#8212; &#8220;Right&#8221;</p><p>&#8212; &#8220;This is different from latency. Latency can be any number from a few milliseconds to a few seconds, or even time-out. The value we are talking about is always between 0-100 (inclusive) and the SLO is a straight line&#8221;, as he grabbed a pen and drew something like this on the whiteboard:</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0Qpv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Qpv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png 424w, https://substackcdn.com/image/fetch/$s_!0Qpv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png 848w, https://substackcdn.com/image/fetch/$s_!0Qpv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png 1272w, https://substackcdn.com/image/fetch/$s_!0Qpv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Qpv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png" width="1187" height="625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:625,&quot;width&quot;:1187,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:926333,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0Qpv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png 424w, https://substackcdn.com/image/fetch/$s_!0Qpv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png 848w, https://substackcdn.com/image/fetch/$s_!0Qpv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png 1272w, https://substackcdn.com/image/fetch/$s_!0Qpv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffab99ea2-7300-4af2-9d62-d851ed6ac657_1187x625.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Service level status is different from service level indicator or objective. It&#8217;s something in between!</p><ul><li><p>The values are always between 0 and 100 (like SLO) regardless of the range of possible values for the SLI</p></li><li><p>It has a value for any given point in time (like SLI)</p></li><li><p>Any value below the SLO line indicates a breach</p></li><li><p>It accumulates the number of good requests over the SLO <a href="https://blog.alexewerlof.com/p/compliance-period">window</a> instead of the real time latency value</p></li><li><p>The latency metric diagram changes in real-time whereas this one is is less &#8220;jumpy&#8221; due to accumulation</p></li></ul><p>This metric shows the <em>status</em> of the Service Level. It is the <em>Service Level Status</em>, or SLS in short.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h1>Calculating SLS</h1><p>There&#8217;s no magic in calculating SLS. We just count the number of good events (or timeslots in case of <a href="https://blog.alexewerlof.com/p/time-based-vs-event-based">time-based SLI</a>s):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xMr0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xMr0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png 424w, https://substackcdn.com/image/fetch/$s_!xMr0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png 848w, https://substackcdn.com/image/fetch/$s_!xMr0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png 1272w, https://substackcdn.com/image/fetch/$s_!xMr0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xMr0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png" width="1092" height="974" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:974,&quot;width&quot;:1092,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:112947,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/144275751?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xMr0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png 424w, https://substackcdn.com/image/fetch/$s_!xMr0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png 848w, https://substackcdn.com/image/fetch/$s_!xMr0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png 1272w, https://substackcdn.com/image/fetch/$s_!xMr0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d03fe9c-ad5a-476b-9d3a-22294084f143_1092x974.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To calculate SLS at any given point in time, we look back and count the events.</p><p>One of the core ideas behind service levels is to put failures in the perspective of a time window. As you can see, the value of SLS is more sluggish as opposed to the raw latency values of SLI.</p><h1>Not just latency</h1><p>Both SLI and SLS are valuable but they tell different stories. SLI is more &#8220;raw&#8221; and can help understand the system behaviour in real time. SLS on the other hand correlates that data to the commitment towards the service consumer.</p><p>Example:</p><ul><li><p>Availability</p><ul><li><p>SLI: the HTTP response code for a GET request to an endpoint</p></li><li><p>SLS: the percentage of successful GET requests to that endpoint over the past 30 days</p></li></ul></li><li><p>Throughput</p><ul><li><p>SLI: number of cache hits</p></li><li><p>SLS: the percentage of cache hits over the past 30 days</p></li></ul></li><li><p>Error rate</p><ul><li><p>SLI: number of operations that did not fail</p></li><li><p>SLS: percentage of operations that did not fail over the past 30 days</p></li></ul></li></ul><p><em>Note: we just used &#8220;30 days&#8221; as an example window (also known as <a href="https://blog.alexewerlof.com/p/compliance-period">compliance period</a>) but it can be any other period.</em></p><h1>Pro-tips</h1><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a>&nbsp;is to give away most content for free. However, these posts take anywhere from a few hours to a few days to ideate, draft, research, illustrate, edit, and publish. I pull these hours from my private time, vacation days and weekends.</em></p><p><em>Recently I went down in working hours and salary by 10% to be able to spend more time learning and sharing my experience with the public. You can support this cause by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections as well as my online book&nbsp;<a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Right now, you can get 20% off via&nbsp;<a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><p><em>There&#8217;s also a <a href="https://blog.alexewerlof.com/leaderboard">referral bonus program to gain free subscriptions</a>. Thanks in advance for helping these words reach further and impact the software engineering community.</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sls?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this post insightful, please share it in your circles to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/sls?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/sls?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>
      <p>
          <a href="https://blog.alexewerlof.com/p/sls">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Organization Architecture]]></title><description><![CDATA[The importance of organization design on service design and why consumer journey is the key to improve system reliability]]></description><link>https://blog.alexewerlof.com/p/organization-architecture</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/organization-architecture</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Fri, 26 Jul 2024 21:20:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The reliability of a service is directly impacted by the shape of the organization providing it. The <em>shape</em>, not the budget, headcount, or maturity level &#8212;as irresponsible leaders like to frame it!</p><p>This article elaborates:</p><ul><li><p>Why does the shape of the organization matter for reliability?</p></li><li><p>How does it impact communication between teams and by extension interactions between the components of the system?</p></li><li><p>What insight can be unlocked with <em>consumer journeys</em> to create a healthy organization that builds reliable systems?</p></li></ul><p>This is part 1 of a longer article about the pros and cons of different organization structures that I dubbed Smorgasbord, Kebab, and Cake! &#128523;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h2>Organizational architecture</h2><p>Just like software architecture, organizational architecture is about composing a <em>whole</em> larger than the individual <em>components</em>.</p><p>Similarly, organizations have <em>emergent properties</em> due to the interactions and dependencies between their parts. In simple terms, collaboration between people shapes communication between systems.</p><div class="pullquote"><p>Software architecture is a graph. Org chart is a tree.</p></div><p>Collaboration is heavily impacted by the organization structure, reporting lines, delivery timelines, and the territorialism that our species still shares with other primates.</p><p>These are the mechanics of <a href="https://martinfowler.com/bliki/ConwaysLaw.html">Conway&#8217;s law</a>. And <a href="https://www.thoughtworks.com/insights/blog/customer-experience/inverse-conway-maneuver-product-development-teams">inverse conway maneuver</a> cleverly takes advantage of them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eSxd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eSxd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png 424w, https://substackcdn.com/image/fetch/$s_!eSxd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png 848w, https://substackcdn.com/image/fetch/$s_!eSxd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png 1272w, https://substackcdn.com/image/fetch/$s_!eSxd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eSxd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png" width="980" height="955" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:955,&quot;width&quot;:980,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;What Conway's Law Means for Your Organization | by Jan Wokittel | Medium&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What Conway's Law Means for Your Organization | by Jan Wokittel | Medium" title="What Conway's Law Means for Your Organization | by Jan Wokittel | Medium" srcset="https://substackcdn.com/image/fetch/$s_!eSxd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png 424w, https://substackcdn.com/image/fetch/$s_!eSxd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png 848w, https://substackcdn.com/image/fetch/$s_!eSxd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png 1272w, https://substackcdn.com/image/fetch/$s_!eSxd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3885b2a-61bf-4750-8284-0d95ceb21ef9_980x955.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Many companies ship their org structure to the end user.</p><p>You&#8217;ve probably been through experiences that shape-shift between different steps of your journey. Sometimes, there is a benign transition like a screen flicker or UI change. Some other times, your journey just chokes at the point of handover between what appears to be built by different teams.</p><p>You learn a lot about the people behind a product just by using it.</p><p>On paper, the system fulfills the requirements. In practice, the sum of the parts is a negative experience!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TeAM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9142781-6471-40be-aded-9def71dd115a_500x581.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TeAM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9142781-6471-40be-aded-9def71dd115a_500x581.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TeAM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9142781-6471-40be-aded-9def71dd115a_500x581.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TeAM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9142781-6471-40be-aded-9def71dd115a_500x581.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TeAM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9142781-6471-40be-aded-9def71dd115a_500x581.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TeAM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9142781-6471-40be-aded-9def71dd115a_500x581.jpeg" width="500" height="581" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c9142781-6471-40be-aded-9def71dd115a_500x581.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:581,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TeAM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9142781-6471-40be-aded-9def71dd115a_500x581.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TeAM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9142781-6471-40be-aded-9def71dd115a_500x581.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TeAM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9142781-6471-40be-aded-9def71dd115a_500x581.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TeAM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9142781-6471-40be-aded-9def71dd115a_500x581.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The handover between teams has a higher impact than dependencies between systems.</p><p>But why is it so hard to design an organization based on the systems it produces?</p><p>The answer reveals itself once you take a glimpse at a system diagram and organization chart side-by-side:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!suJl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!suJl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png 424w, https://substackcdn.com/image/fetch/$s_!suJl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png 848w, https://substackcdn.com/image/fetch/$s_!suJl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png 1272w, https://substackcdn.com/image/fetch/$s_!suJl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!suJl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png" width="968" height="545" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:545,&quot;width&quot;:968,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:138751,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!suJl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png 424w, https://substackcdn.com/image/fetch/$s_!suJl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png 848w, https://substackcdn.com/image/fetch/$s_!suJl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png 1272w, https://substackcdn.com/image/fetch/$s_!suJl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5770f69-e7f9-414b-a422-eeb4205e083f_968x545.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">System architecture is a graph. Organization chart is a tree.</figcaption></figure></div><p>Note: the org chart above is too idealistic. The reality looks more like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Bnz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Bnz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png 424w, https://substackcdn.com/image/fetch/$s_!_Bnz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png 848w, https://substackcdn.com/image/fetch/$s_!_Bnz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png 1272w, https://substackcdn.com/image/fetch/$s_!_Bnz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Bnz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png" width="1024" height="626" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:626,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_Bnz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png 424w, https://substackcdn.com/image/fetch/$s_!_Bnz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png 848w, https://substackcdn.com/image/fetch/$s_!_Bnz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png 1272w, https://substackcdn.com/image/fetch/$s_!_Bnz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9528a2af-ac79-43ba-901b-3ad097dcff41_1024x626.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://www.productculture.org/archive/2023/1/25/one-thing-on-real-org-chart">productculture.org</a></figcaption></figure></div><p>OK, maybe the captions are not ideal, but you get the idea. &#128522;Humans being human have their own diverse range of values, rules, and biases that directs who they trust, who they listen to, and who they avoid. That&#8217;s not new.</p><p>I&#8217;ve previously written about an example of this phenomenon for platform teams:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d2777291-8ab3-4439-b303-ebabbeff763e&quot;,&quot;caption&quot;:&quot;Years ago, I was working as a SRE (site reliability engineer) at a bespoke platform team behind some of Scandinavia&#8217;s largest web sites. At the time our backend workload ran on EC2 containers in AWS using some tooling from Convox. For the most part, it was running smoothly but at one point during 2019 all servers crashed simultaneously and then back up a&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Washing machine vs laundry room&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-11-14T22:19:48.257Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a025c81-5e40-434f-a796-f0b5678d0432_1050x880.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/washing-machine-vs-laundry-room&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:138874431,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Software components often have dependencies that span across the formal organization. There are known dependencies, then there are unknown dependencies that grow over time. Then there are indirect dependencies that usually no one knows about until sh*t hits the fan.</p><p>Both the human side and the system side are very complex. An organization architecture is usually outdated before it is announced. That is one reason some companies are in constant reorg mode. To make it worse, many leaders don&#8217;t understand the J-curve that comes with every change.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JuFt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JuFt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JuFt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JuFt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JuFt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JuFt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg" width="1456" height="958" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:958,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;No alt text provided for this image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="No alt text provided for this image" title="No alt text provided for this image" srcset="https://substackcdn.com/image/fetch/$s_!JuFt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JuFt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JuFt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JuFt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec3e55da-4505-4ea5-8174-0e6f161cbc36_2048x1348.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://www.linkedin.com/posts/davidjbland_there-is-a-dirty-secret-about-j-curves-that-activity-7221226566293364738-_oRf/">LinkedIn</a></figcaption></figure></div><p>The J-curve refers to the initial dip in performance or productivity as teams adapt to new changes. Constant reorgs accumulate the worst of those curves.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tn-n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tn-n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png 424w, https://substackcdn.com/image/fetch/$s_!Tn-n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png 848w, https://substackcdn.com/image/fetch/$s_!Tn-n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png 1272w, https://substackcdn.com/image/fetch/$s_!Tn-n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tn-n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png" width="1045" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1045,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!Tn-n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png 424w, https://substackcdn.com/image/fetch/$s_!Tn-n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png 848w, https://substackcdn.com/image/fetch/$s_!Tn-n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png 1272w, https://substackcdn.com/image/fetch/$s_!Tn-n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6b469c8-a71e-4684-b377-c6b8b5ad4da4_1045x628.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://x.com/ScottWlaschin/status/560495507685249024">Twitter</a></figcaption></figure></div><h2>Macro-optimization</h2><p>Too much has been written about how to improve the individual components of a service using TDD (test driven design), CI/CD (continuous integration and deployment), <a href="https://blog.alexewerlof.com/p/sre-archetypes">SRE</a> (using software engineering practices for operations), refactoring, paying <a href="https://blog.alexewerlof.com/p/tech-debt-day">tech debt</a>, and buying 3rd party tools (usually their sales pitch goes like &#8220;We take care of X, so you can spend more time coding&#8221;). &#128516;</p><p>And that&#8217;s fine. Good engineers want to build systems that they can be proud of.</p><p>However, these methods are micro-optimization with their own limits.</p><p>To significantly improve system reliability, we need to look at larger forces at play:</p><blockquote><p>A system is not the sum of its parts, it&#8217;s the product of their interactions. If we have a system of improvement that&#8217;s directed at improving the parts you can be absolutely sure that the performance of the whole will not be improved. &#8212;<a href="https://en.wikipedia.org/wiki/Russell_L._Ackoff">Russell L. Ackoff</a> (I highly recommend watching <a href="https://www.youtube.com/watch?v=R-w01FnlBdE">his 90 second video</a>)</p></blockquote><p>Poor organization architecture ignores these obstacles:</p><ul><li><p>Every team dependency increases the risk of misunderstanding.</p></li><li><p>Every point of handover opens a miscommunication crack for things to fall into.</p></li><li><p>Every new process and role increase the risk of delay.</p></li><li><p>Every unclear or <a href="https://blog.alexewerlof.com/p/broken-ownership">broken ownership</a> is a vulnerability for the blame game.</p></li><li><p>Every incident starts a novel maze to figure out which team is behind what component and how to motivate them to own it and fix the failure ASAP.</p></li></ul><div class="pullquote"><p>There is always a good reason for the process but it&#8217;s never about empowering human ingenuity. It is about protecting against human stupidity.</p></div><p>The handovers, miscommunication, and lack of ownership show themselves in the following symptoms:</p><ul><li><p><strong>Lower velocity:</strong> a seemingly simple change takes disproportionally long time because the developers have to jump through hoops and do trial-error or in some cases reverse-engineer systems to get the job done.</p></li><li><p><strong>Lower TBF:</strong> time between consecutive failures</p></li><li><p><strong>Higher LT:</strong> lead time from when a change is made till it's available in production</p></li><li><p><strong>Higher CFR</strong> (change fail ratio): changes to code, config, or content which break production</p></li><li><p><strong>Higher TTR:</strong> the time from incident symptoms hit the consumer until the root cause is fixed (which is directly impacted by how hard it is to find the right team)</p></li><li><p><strong>Higher impact radius:</strong> how far does one failure propagate</p></li><li><p><strong>Higher incident cost:</strong> the negative impact of incidents on sales, potential revenue, <a href="https://blog.alexewerlof.com/p/sla">SLA</a> penalties, and company reputation</p></li><li><p><strong>Higher manual to automatic incident ratio: </strong>the number of incidents that were discovered manually (either by staff or user reports) divided by the number of incidents that were discovered automatically (e.g., through monitoring, synthetic tests, etc.)</p></li><li><p><strong>Higher false pages:</strong> the number of people that were paged mistakenly by the central incident team in order to find the right person who can fix the failure</p></li><li><p>etc.</p></li></ul><p>Inferior quality and reliability are just the symptoms. The real root cause (no pun intended) is poor organizational architecture.</p><blockquote><p>Leaving services to individual talent and managing the pieces rather than the whole make a company more vulnerable and creates a service that reacts slowly to market needs and opportunities. &#8212;Lynn Shostack, who coined the term <em><a href="https://en.wikipedia.org/wiki/Service_design">Service Design</a></em> in 1982</p></blockquote><p>Weak leaders miss the root cause and work <em>around</em> it by adding more processes, people, roles, gate keeping, and friction to the mix hoping to improve system.</p><p>There is always a good reason for the process but it&#8217;s never about empowering human ingenuity. It is about protecting against human stupidity.</p><p>Adding headcount to improve delivery bandwidth is the biggest fallacy due to the extra communication bandwidth it requires:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OCmA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OCmA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp 424w, https://substackcdn.com/image/fetch/$s_!OCmA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp 848w, https://substackcdn.com/image/fetch/$s_!OCmA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp 1272w, https://substackcdn.com/image/fetch/$s_!OCmA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OCmA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp" width="1118" height="1040" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1040,&quot;width&quot;:1118,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;lines of communication in Brooks Law&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="lines of communication in Brooks Law" title="lines of communication in Brooks Law" srcset="https://substackcdn.com/image/fetch/$s_!OCmA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp 424w, https://substackcdn.com/image/fetch/$s_!OCmA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp 848w, https://substackcdn.com/image/fetch/$s_!OCmA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp 1272w, https://substackcdn.com/image/fetch/$s_!OCmA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8670b06e-3b3e-474f-bd88-1783fa6bcfb8_1118x1040.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://www.leadingagile.com/2018/02/lines-of-communication-team-size-applying-brooks-law/">leadinga*ile.com</a></figcaption></figure></div><p>Anyone who has worked at a large organization should be familiar with all the meetings, demos, infomercials, newsletters, mandatory training, all hands, etc. I have a dedicated post on a solution here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a87918e5-e021-47fd-886e-8b257458ae2d&quot;,&quot;caption&quot;:&quot;This article is part of a series called Less Meetings, More focused work.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Meeting budget&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-06-07T12:37:43.831Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dec62d2-ea1a-46c4-b781-86777309bca5_903x593.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/meeting-budget&quot;,&quot;section_name&quot;:&quot;Growth&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:126599927,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>People, process, tools, etc. all have a cost both in real money and time. However, a variation of the velocity, reliability, and cost diagram is [ab]used to justify the price tag. &#129318;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ItH2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ItH2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png 424w, https://substackcdn.com/image/fetch/$s_!ItH2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png 848w, https://substackcdn.com/image/fetch/$s_!ItH2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png 1272w, https://substackcdn.com/image/fetch/$s_!ItH2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ItH2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png" width="966" height="967" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:967,&quot;width&quot;:966,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:131742,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ItH2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png 424w, https://substackcdn.com/image/fetch/$s_!ItH2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png 848w, https://substackcdn.com/image/fetch/$s_!ItH2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png 1272w, https://substackcdn.com/image/fetch/$s_!ItH2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff61a2822-124a-4aa8-8623-3fb39a465cb0_966x967.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Reorg after reorg, the theme stays the same:</p><ul><li><p>When you talk to the engineering managers, they complain about &#8220;cat herding&#8221;, &#8220;running a kindergarten&#8221;, or &#8220;immature organization&#8221;.</p></li><li><p>When you talk to the product managers, they complain about <a href="https://www.svpg.com/product-vs-feature-teams/">feature teams</a> (or <a href="https://medium.com/@johnpcutler/12-signs-youre-working-in-a-feature-factory-44a5b938d6a2">feature factory</a> as <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;John Cutler&quot;,&quot;id&quot;:5656342,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ec3f02c6-e0e2-4ed3-a8eb-778445fd17a8_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;ca9d6cf9-63b3-41d6-8546-728b2dd052f5&quot;}" data-component-name="MentionToDOM"></span> puts it).</p></li><li><p>When you talk to the team members, they complain about micromanagement, gate keeping, and blame other teams.</p></li><li><p>When you talk to the C-suit, they sigh at the high operational cost, low productivity, and disproportional damage of incidents.</p></li><li><p>When you look at the tech landscape, you see a fragmented landscape that seems to contain every technology invented since Unix epoch. Someone may even na&#239;vely throw a <a href="https://www.thoughtworks.com/radar">tech radar</a> in there hoping to defragment the tech landscape to no avail.</p></li><li><p>When you look at the architecture, you see a tangled spaghetti where every component can potentially be connected to another component at various times.</p></li><li><p>When you check the incident vitals, you find lots of novel incidents that were detected manually, took a long time to fix, and caused unreasonably high damage to the business.</p></li><li><p>When you look at the total cost of designing, building, monitoring and maintaining the software, you realize that the org is too big for what it&#8217;s trying to achieve.</p></li></ul><p><em>Disclaimers:</em></p><ul><li><p><em>Before planning a layoff, please make sure to read till the end. Layoff is only an option if the company is unable to monetize the accumulated human capital it has already hired. <a href="https://blog.alexewerlof.com/p/what-can-we-learn-from-spotify-layoffs">It has long lasting negative effects</a>.</em></p></li><li><p><em>If any of my current or former colleagues sees the above section as a rant, rest assured that I have seen variations of those problems at a dozen companies over the past 2 decades. One of my principles is to never complain unless I have a solution or am willing to be part of the solution. Hopefully, this post and the next post help.</em></p></li></ul><p>Is there a way to improve reliability and reduce the cost of running the business without hurting velocity?</p><p>The key perspective to unlock the answer is the <em>consumer journey</em>.</p><h2>Consumer journey</h2><p>In the field of UX (user experience), a <em>user journey </em>is:</p><blockquote><p>A scenario-based sequence of the steps that a user takes to accomplish a high-level goal with a company or product, usually across channels and over time. &#8212;<a href="https://www.nngroup.com/articles/user-journeys-vs-user-flows/">Kate Kaplan</a></p></blockquote><p>User <em>flow</em> is a related term but is more detailed, idealized, and typically concerned with one product or channel (see a comparison between these terms <a href="https://www.nngroup.com/articles/user-journeys-vs-user-flows/">here</a>).</p><p>User <em>journey</em> is primarily used when designing experiences towards external customers (e.g., end user of an app, website, or device).</p><p>I use <em>consumer journey</em> because:</p><ul><li><p>It is a generalized term that applies to services that have <em>internal</em> or <em>external</em> consumers.</p><ul><li><p><strong>Internal service example:</strong> an internal infrastructure platform that is used by application developers.</p></li><li><p><strong>External service example:</strong> a mobile banking app or your favorite 1-minute video story app. &#128521;</p></li></ul></li><li><p>The word <em>consumer</em> is more consistent with the language we have built so far about <a href="https://blog.alexewerlof.com/p/service">services</a>.</p></li><li><p>It is concerned with the high-level <em>journeys</em> as opposed to low level <em>flows</em>. The high-level view is more useful in the context of organization design.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I76K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I76K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png 424w, https://substackcdn.com/image/fetch/$s_!I76K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png 848w, https://substackcdn.com/image/fetch/$s_!I76K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png 1272w, https://substackcdn.com/image/fetch/$s_!I76K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I76K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png" width="1025" height="718" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:718,&quot;width&quot;:1025,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:57282,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I76K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png 424w, https://substackcdn.com/image/fetch/$s_!I76K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png 848w, https://substackcdn.com/image/fetch/$s_!I76K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png 1272w, https://substackcdn.com/image/fetch/$s_!I76K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F698d8610-b82a-45c1-a67b-fe6f389fe830_1025x718.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are two important things to note here:</p><ul><li><p><strong>The journey order is not always predictable.</strong> Example: in an internal platform product, a developer may first read the docs before provisioning resources while another developer may do the opposite</p></li><li><p><strong>The journey may traverse interfaces.</strong><em><strong> </strong></em>Example: in an external banking app, a user may request a new payment card without freezing an old one. Another user may start the journey on the web and continue on the mobile app. Yet another one may do the opposite.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h2>Kebab vs Cake</h2><p>This article scratched the surface for a follow up which talks about 2 common organizational architecture patterns, their pros and cons, as well as a pragmatic approach to use consumer journeys to design organizations that build reliable systems.</p><p>Read the follow up here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b2c1d074-7a02-444f-b22c-b9afe2add1f6&quot;,&quot;caption&quot;:&quot;Last post elaborated two points:&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Kebab vs Cake organization&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-08-06T23:18:27.204Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f939479-8ab4-43a1-bb64-1f40a17a863e_1035x971.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/kebab-vs-cake&quot;,&quot;section_name&quot;:&quot;Techical Leadership&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:147400802,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:15,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a>&nbsp;is to give away most content for free. However, these posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends. Recently I went down in working hours and salary by 10% to be able to spend more time learning and sharing my experience with the public. You can support this cause by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections as well as my online book&nbsp;<a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Right now, you can get 20% off via&nbsp;<a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/organization-architecture?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this post insightful, please share it in your circles to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/organization-architecture?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/organization-architecture?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p><a href="https://news.ycombinator.com/item?id=41086916">Share on Hackernews</a>.</p>]]></content:encoded></item><item><title><![CDATA[Reliability Engineering Mindset]]></title><description><![CDATA[Table of contents]]></description><link>https://blog.alexewerlof.com/p/rem</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/rem</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Wed, 24 Jul 2024 12:27:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tdEi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>NOTE: This book is completely free and gets updated as I learn more. If you want to support my work, you can chip in buying a subscription but beware that it doesn&#8217;t unlock the content. Your contribution is a gift I highly appreciate of course but <strong>the content is free</strong>.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tdEi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tdEi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png 424w, https://substackcdn.com/image/fetch/$s_!tdEi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png 848w, https://substackcdn.com/image/fetch/$s_!tdEi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png 1272w, https://substackcdn.com/image/fetch/$s_!tdEi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tdEi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png" width="1456" height="1524" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1524,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2262142,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.alexewerlof.com/i/146954062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tdEi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png 424w, https://substackcdn.com/image/fetch/$s_!tdEi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png 848w, https://substackcdn.com/image/fetch/$s_!tdEi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png 1272w, https://substackcdn.com/image/fetch/$s_!tdEi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3452d780-9929-4d4e-8f33-424fac497169_4300x4500.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe to get the new chapters as they are published:</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1>Table of Contents</h1><p>(&#128994;=Written, &#128992;= Drafted, &#128308;= Not written)</p><p><a href="https://blog.alexewerlof.com/p/book-intro-reliability-engineering">Introduction</a> &#128994;<br>Elaborates why the world needs one more book and what was the motivation behind writing it.</p><h1>Part I: Reliability</h1><ol><li><p><strong><a href="https://blog.alexewerlof.com/p/why-bother-with-sli-and-slo">Why bother with Service Levels?</a> </strong>&#128994;</p></li><li><p><strong>How reliability is perceived </strong>&#128992;<br>We show some examples and then introduce a simple workshop format that can be used to identify the reliability perception and set SLOs for various team topologies.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/service-degradation-vs-disruption">Degradation vs disruption</a> </strong>&#128994;<br>What's the difference between service degradation, service disruption, and service outage and why does it matter?</p></li><li><p><strong>Risk assessment </strong>&#128992;</p><p>We need to build a language about how we talk about risk. This chapter builds that jargon to an extent that&#8217;s required to understand the book.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/service">What is a service?</a></strong> &#128994;<br>Before talking about SLI and SLO, we need to clarify what a service is.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/service-level-terminology">Service Level Terminology</a></strong> &#128994;<br>Clarify the definition of Service, Provider, Consumer, Stakeholder, Owner, Failure, Metric, Consumption, and product in the context of reliability engineering</p></li><li><p><strong>The Service Level workshop </strong>&#128992;</p><p>This is the workshop I run professionally for different teams to identify the risks, key metrics, and a reasonable objective.</p></li><li><p><strong>Service Level Document &#128992;</strong><br>This is a tool to communicate expectations between teams and stakeholders. We talk about a format that is based on what Google suggests and builds on top of it to create a contract.</p></li><li><p><strong>Crafting a useful model &#128992;</strong><br>Service Levels are simplified models to map system behaviour to user behaviour. What defines a good model and how to test it?</p></li><li><p><strong>Availability </strong>&#128992;</p><p>This is one of the most common types of metrics. We discuss 4 types of availability metrics and when to use which.</p></li><li><p><strong>Latency </strong>&#128992;</p><p>Another popular type of service level indicator.</p></li><li><p><strong>Error rate </strong>&#128992;</p><p>Or more properly: Success Rate is a common type of service level indicator</p></li><li><p><strong>Reliability of data systems</strong> &#128992;<br>Different metrics to measure reliability of data and stateful services</p></li><li><p><strong>Reliability of AI systems</strong> &#128992;<br>Various metrics that is used to measure reliability of AI models</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/sli">Introduction Service Level Indicator (SLI)</a> </strong>&#128994;<br>Delve into SLI with examples, decisions to be made and what is not a SLI.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/time-based-vs-event-based">What is time-based vs event-based SLI?</a> </strong>&#128994;</p><p>One of the first decisions about SLI is whether it is time-based, or event-based.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/valid-vs-total">What is &#8220;valid&#8221; in SLI and why not use &#8220;total&#8221;?</a> </strong>&#128994;</p><p>The denominator in the SLI formula is often mistaken for "total". It's a huge miss if we don't use it to scope our optimization effort and clarify ownership.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/sli-good">What is the definition of &#8220;good&#8221; in SLI?</a> </strong>&#128994;</p><p>How do we define the good portion of time or events?</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/sli-vs-kpi">SLI vs KPI</a> </strong>&#128994;<br>How do the two frameworks compare in terms of purpose, measurement, consumption, and action?</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/sli-measurement-location">Where to measure matters. Why do you get different readings?</a> </strong>&#128994;</p><p>Where we measure is sometimes more important than the actual value we measure.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/slo">Service Level Objective (SLO)</a> </strong>&#128994;<br>Deep dive into SLOs, the decision to be made, and clearing common misconceptions around them.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/sls">Service Level Status (SLS)</a></strong> &#128994;<br>SLS shows the status of the SLO commitment according to the SLI metric towards the service consumer at any given point in time.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/10x9">Rule of 10x per 9</a></strong> &#128994;<br>For every 9 you add to SLO, you&#8217;re making the system 10x more reliable but also 10x more expensive.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/multi-tiered-slos">Multi-tiered SLOs</a></strong> &#128994;<br>Using different parameters, we can set multiple objectives for the same indicator.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/compliance-period">Compliance period</a> (AKA &#8220;window&#8221;) </strong>&#128994;<br>Different types of compliance periods and how to pick one that suits your product?</p></li><li><p><strong>Alerting on SLOs </strong>&#128992;<br>What&#8217;s the point of measuring if we don&#8217;t commit to keep it in good shape? This chapter examines how we convert our SLO commitments to alerts. We also use the <a href="https://slo.alexewerlof.com/">Service Level Calculator</a></p></li><li><p><strong>On-call </strong>&#128308;</p><p>The practicalities (payment, off time, contract, etc.), toil reduction, <a href="https://www.infoq.com/articles/mtt-metrics-incident-response/">MTT* metrics</a>,&nbsp;</p></li><li><p><strong><a href="https://blog.alexewerlof.com/sla">Service Level Agreements (SLA)</a> </strong>&#128994;</p><p>Defines SLA and clarifies its difference with SLO. Examine <a href="https://alexewerlof.medium.com/dissecting-the-s3-sla-26421dda2d56">S3's SLA</a> as one of the oldest and most reliable services on the internet.</p></li><li><p><a href="https://blog.alexewerlof.com/p/sla-vs-slo">SLA vs SLO</a> &#128994;<br>Clarifying one of the most common confusions about the two terms with examples, illustrations and quotes from Google SRE books.</p></li><li><p><strong>The legal commitment and punishment models </strong>&#128992;</p></li><li><p><strong><a href="https://blog.alexewerlof.com/sla-tricks">SLA tricks</a> </strong>&#128992;<br>Various engineering and legal techniques that you can use to your advantage to reduce the consequences of system failure.</p></li><li><p><strong>How to set the level for SLA </strong>&#128992;<br>What is reasonable to commit based on <a href="https://alexewerlof.medium.com/calculating-composite-sla-d855eaf2c655">composite system reliability</a>.</p></li></ol><h1>Part 2: Engineering</h1><p>This part goes through different architectural patterns to improve software resilience.</p><ol start="6"><li><p><strong><a href="https://blog.alexewerlof.com/p/composite-slo">Composite system reliability</a> </strong>&#128994;</p><p>How to calculate the reliability metrics of a complex system that&#8217;s composed of multiple sub-systems?</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/percentile">Percentiles</a></strong> &#128994;<br>Why percentiles are important for understanding and optimizing system behavior, when to use them and how.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/nfr">Non-functional requirements (NFR)</a></strong> &#128994;<br>What are functional and non-functional requirements and where does reliability fit?</p></li><li><p><strong>Architectural patterns</strong></p><ol><li><p><strong><a href="https://blog.alexewerlof.com/p/fallback">Fallback</a> </strong>&#128994;</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/failover">Failover</a> </strong>&#128994;</p></li><li><p><strong>Circuit Breaker </strong>&#128992;</p></li><li><p><strong>Async, Queues and Dead letter &#128308;</strong></p></li><li><p><strong>Bulkhead </strong>&#128308;</p></li><li><p><strong>Retry </strong>&#128308;</p></li><li><p><strong>Rate-limit/Throttle</strong> &#128308;</p></li><li><p><strong>Cache</strong> &#128992;</p></li><li><p><strong><a href="https://alexewerlof.medium.com/calculating-the-sla-of-a-system-behind-a-cdn-161324445f3">CDN</a> </strong>&#128994;</p></li><li><p><strong>Serverless &#128308;</strong></p></li></ol></li><li><p><strong>Deployment patterns </strong>&#128992;</p><ol><li><p><strong>Blue Green </strong>&#128992;</p></li><li><p><strong>Canary </strong>&#128992;</p></li><li><p><strong>Dark Launch </strong>&#128992;</p></li><li><p><strong>Feature flags </strong>&#128992;</p></li><li><p><strong>Break glass &#128992;</strong></p></li></ol></li><li><p><strong>Tooling and requirements </strong>&#128308;</p><ol><li><p><strong>Observability: Metrics, Logs, Traces </strong>&#128308;</p></li><li><p><strong>Monitors and alerts </strong>&#128308;</p></li><li><p><strong>Incident handling process </strong>&#128308;</p></li><li><p><strong>Postmortems and fire drills </strong>&#128308;</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/slc">Service Level Calculator</a></strong> &#128994;<br>Introducing the service level calculator as a learning tool and utility in the hands of engineers and business stakeholders to set reasonable SLOs and understand the alerting rules.</p></li></ol></li></ol><h1>Part III: Mindset</h1><p>Reliability Engineering doesn&#8217;t happen in vacuum. It needs a special mindset and mental model both at the engineering and leadership level.</p><ol><li><p><strong><a href="https://blog.alexewerlof.com/p/service-level-adoption-obstacles">Service level adoption obstacles</a> </strong>&#128994;<strong><br></strong>Why is one of the greatest ways to measure and improve reliability so heavily underused and what are the most common ways companies fail to implement them correctly?</p></li><li><p><strong>Service Level adoption steps </strong>&#128992;</p><p>Not every team needs service levels, not everyone is receptive to the idea. This chapter is about defining a maturity model that sets the right expectations and lays out a framework for gradually evolving into full ownership.</p></li><li><p><strong>Getting the buy in from leadership</strong>&#128992;<strong><br></strong>Every organization is different, but most leaders care about results. How can we frame service levels with a clear outcome to get the time budget to shift the way of working?<br>What problems can service levels solve and what problems don&#8217;t they solve? Why should a particular organization use it and why doesn&#8217;t it make sense for another? How does operating with Service Levels change the way of working: accountability, transparency, and data-driven optimization. How to communicate complex technical topics to an audience who is not necessarily technical but needs to assess the tool.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">You build it you own it</a> </strong>&#128994;</p><p>Motivates and defines true ownership trio and its 3 elements: knowledge, mandate and responsibility.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/broken-ownership">6 archetypes of broken Ownership</a> </strong>&#128994;</p><p>A follow up discussing various broken ownerships.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/responsible-for-control">Team ownership</a> </strong>&#128994;</p><p>What exactly does the ownership trio look like at a team level? You should never be responsible for what you don&#8217;t control, and you should take control of what you are held responsible for.</p></li><li><p><strong>Individual ownership </strong>&#128308;</p><p>How do the knowledge, mandate and responsibility empower an individual in their career</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/mapping-reliability-to-accountability">Organizational ownership</a> &#128994;</strong></p><p>How can an organization set itself up for true ownership? Engineering leadership is responsible for the reliability of engineering artifacts.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/sre-archetypes">4 archetypes of SRE</a> &#128994;</strong><br>2 decades after the term SRE was coined, there are many flavors of SRE out in the wild and people who carry the title have a diverse range of skills.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/when-staff-engineer-is-an-anti-pattern">Engineering Leadership Ownership</a> </strong>&#128994;<br>Engineering leaders have an overlap with technical leaders. This article tries to clarify their responsibilities with examples and prevent one of the most common anti-patterns for tech leads.</p></li><li><p><strong><a href="https://blog.alexewerlof.com/p/washing-machine-vs-laundry-room">Platform team topologies</a> </strong>&#128994;</p><p>We use the washing machine analogy to nail the pros and cons of owning your washing machine at home or relying on the central laundry room.<br>We also point to relevant concepts from Team Topologies (the book) and offer slightly different perspectives on how to control cognitive load.</p></li><li><p><strong>Amortization plans for Tech debt </strong>&#128992;</p><p>We also discuss how to take care of <a href="https://blog.alexewerlof.com/p/tech-debt-day">tech debt</a> and make stronger architectural decisions without the burden of a <a href="https://blog.alexewerlof.com/p/technical-committee-lifecycle">technical committee</a>.</p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Do you want to read the chapters as soon as they are out?</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p><em>Writing a book is a tremendous task. Between August 2023 to July 2024, I have spent more than 500 hours to draft, edit, research, and illustrate the book and it is not yet finished.</em></p><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a>&nbsp;is to give away most content for free. I pull these hours from my private time, vacation days and weekends. Since April 2024 I went down in working hours and salary by 10% to be able to spend more time learning and sharing my experience with the public.</em></p><p><em>You can support this cause by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections on all posts.</em></p><p><em>Right now, you can get 20% off via&nbsp;<a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access. If none of that works for you, please share this book in your circles to help others discover it. Thanks in advance. </em>&#128591;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/rem?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/rem?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Degradation vs disruption]]></title><description><![CDATA[What's the difference between service degradation, service disruption, and service outage and why does it matter?]]></description><link>https://blog.alexewerlof.com/p/service-degradation-vs-disruption</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/service-degradation-vs-disruption</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Wed, 10 Jul 2024 13:49:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wL5v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the context of reliability engineering, there are three terms that are related but sometimes used incorrectly.</p><p>Loosely speaking:</p><ul><li><p><strong>Service </strong><em><strong>degradation</strong></em> is when the quality of the service drops.</p></li><li><p>If the service entirely stops, it&#8217;s a <strong>service </strong><em><strong>disruption</strong></em>.</p></li><li><p>If the disruption takes too long, it&#8217;s a <strong>service </strong><em><strong>outage</strong></em>.</p></li></ul><p>That definition lacks nuances. Let&#8217;s dig into four aspects of service levels to distinguish the difference with some examples and illustrations.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><h2>1. Availability</h2><p>A service usually has multiple capabilities. For example:</p><p>Amazon Web Services include many different services like databases, runtimes, queues, identity and access management, etc. It also has some other capabilities like documentation, and pages like terms of service, which are essential (and some of them are legally required) but don&#8217;t have any purpose without the core services of AWS. There would be no documentation if there were no AWS services!</p><p>Core capabilities are the ones that drive the business. For GitHub, it&#8217;s the git servers, for a car, it&#8217;s the ability to drive (and brakes), and for a dish, it&#8217;s edibility! The core features define the service.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wL5v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wL5v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png 424w, https://substackcdn.com/image/fetch/$s_!wL5v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png 848w, https://substackcdn.com/image/fetch/$s_!wL5v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png 1272w, https://substackcdn.com/image/fetch/$s_!wL5v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wL5v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png" width="943" height="620" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:620,&quot;width&quot;:943,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:73205,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wL5v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png 424w, https://substackcdn.com/image/fetch/$s_!wL5v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png 848w, https://substackcdn.com/image/fetch/$s_!wL5v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png 1272w, https://substackcdn.com/image/fetch/$s_!wL5v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bd88583-8b9e-4ce0-8cb6-befa958a794f_943x620.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In case of service <em>degradation</em>, the core capabilities are still available although with poor quality of service.</p><p>For example, in the early days of ChatGPT, the &#8220;AI&#8221; failed to carry a conversation and would randomly break. This is a service degradation because although it hurts the user experience, the site is still usable for some (or if the same user retries).</p><p>The emphasis here is on core capabilities that define the service. If only less important capabilities are affected (e.g. AWS terms of service pages are not accessible), it&#8217;s still considered a service degradation because the main service is not disrupted.</p><p><em>Graceful degradation</em> patterns (like <a href="https://blog.alexewerlof.com/p/fallback">fallback</a>) may temporarily switch to using an alternative backup strategy for business continuity.</p><p>When the key capabilities are completely stopped, there&#8217;s service <em>disruption</em>.</p><p>For example, when <a href="https://aws.amazon.com/message/41926/">AWS S3 was disrupted back in 2017</a>, all GET, LIST, PUT and DELETE requests were failing which rendered this service completely useless. This also impacted other AWS services which internally depended on S3. </p><h2>2. Service Level</h2><p>If you are measuring reliability using <a href="https://blog.alexewerlof.com/p/sli">Service Level Indicators</a> (e.g. latency, error rate, data freshness, etc.):</p><ul><li><p>Service degradation shows itself as burning error budget. The Service Level Status (<a href="https://blog.alexewerlof.com/p/sls">SLS</a>) drops below the Service Level Objective (<a href="https://blog.alexewerlof.com/p/slo">SLO</a>).</p></li><li><p>Service disruption shows itself as an error budget burn out: burning the error budget too fast for a longer period of time.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!anIn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!anIn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png 424w, https://substackcdn.com/image/fetch/$s_!anIn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png 848w, https://substackcdn.com/image/fetch/$s_!anIn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png 1272w, https://substackcdn.com/image/fetch/$s_!anIn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!anIn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png" width="975" height="573" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:573,&quot;width&quot;:975,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68668,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!anIn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png 424w, https://substackcdn.com/image/fetch/$s_!anIn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png 848w, https://substackcdn.com/image/fetch/$s_!anIn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png 1272w, https://substackcdn.com/image/fetch/$s_!anIn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7fb8d0-adac-4d31-b532-2d10922ddf95_975x573.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>For example, in 2018 <a href="https://github.blog/2018-10-30-oct21-post-incident-analysis/">GitHub experienced</a> a service degradation with some internal systems leading to displaying out of date or inconsistent information to users for a bit over 24 hours. If they had a SLI for data correctness, they would be seeing a rapid burnout that took 24 hours to recover.</p><p>However, since their main git service capabilities were untouched, it wasn&#8217;t technically a service disruption.</p><h2>3. Blast radius</h2><p>One of the defining factors to distinguish between service degradation and disruption is to ask:</p><blockquote><p>Who is affected by the issue?</p></blockquote><p>Is it just some users? Or all users? Is it the paid customers? Or the free customers?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zXY2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zXY2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png 424w, https://substackcdn.com/image/fetch/$s_!zXY2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png 848w, https://substackcdn.com/image/fetch/$s_!zXY2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png 1272w, https://substackcdn.com/image/fetch/$s_!zXY2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zXY2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png" width="964" height="786" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:786,&quot;width&quot;:964,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:251121,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zXY2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png 424w, https://substackcdn.com/image/fetch/$s_!zXY2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png 848w, https://substackcdn.com/image/fetch/$s_!zXY2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png 1272w, https://substackcdn.com/image/fetch/$s_!zXY2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a284d1c-a127-464a-b2e7-6bb73309fb4f_964x786.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If only some users are impacted, it might be a case of service degradation. But how many is too many? The answer depends on the consequences and the business appetite to take that risk.</p><p>For example, many cloud providers use compartmentalization using separate data centers (regions) to decouple risks and localize it.</p><p>If Microsoft Azure goes down in <a href="https://datacenters.microsoft.com/globe/explore?info=region_southindia">South India (Chennai) region</a>, it doesn&#8217;t impact services that are running in other regions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5EYH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5EYH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png 424w, https://substackcdn.com/image/fetch/$s_!5EYH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png 848w, https://substackcdn.com/image/fetch/$s_!5EYH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png 1272w, https://substackcdn.com/image/fetch/$s_!5EYH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5EYH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png" width="1456" height="1064" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1064,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1857477,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5EYH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png 424w, https://substackcdn.com/image/fetch/$s_!5EYH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png 848w, https://substackcdn.com/image/fetch/$s_!5EYH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png 1272w, https://substackcdn.com/image/fetch/$s_!5EYH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95b4bf7a-7d43-4988-b0de-e3babbd9bc68_1610x1177.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Explore Microsoft Datacenters on an <a href="https://datacenters.microsoft.com/globe/explore">interactive animated website</a></figcaption></figure></div><p>But if there&#8217;s a big Cricket match going on, it can potentially lead to massive free advertisement for AWS &#8212;not the positive kind! &#128521;</p><p>Another example is when an issue only affects a subgroup of customers:</p><ul><li><p>Users on Android, Web, or iOS only</p></li><li><p>Users with uncommon configurations</p></li><li><p>Users on an older version of the software</p></li><li><p>Free tier users</p></li><li><p>Users in a specific city, country, or region</p></li></ul><h2>4. Consequences</h2><p>Service degradation usually doesn&#8217;t have a big impact on the business. Some customers may be unhappy but not enough to leave. The business may lose some potential customers but not enough to go bankrupt. There may be a loss of reputation, some frustration on social media, and angry customer support calls but that&#8217;s usually about it. From the business standpoint, the consequences are negligible.</p><p>On the other hand, service disruptions have more severe consequences that go beyond &#8220;business as usual&#8221; or &#8220;cost of running the business&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-OQC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131ab135-1376-463e-8d56-bfba57633a37_942x645.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-OQC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131ab135-1376-463e-8d56-bfba57633a37_942x645.png 424w, https://substackcdn.com/image/fetch/$s_!-OQC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131ab135-1376-463e-8d56-bfba57633a37_942x645.png 848w, https://substackcdn.com/image/fetch/$s_!-OQC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131ab135-1376-463e-8d56-bfba57633a37_942x645.png 1272w, https://substackcdn.com/image/fetch/$s_!-OQC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131ab135-1376-463e-8d56-bfba57633a37_942x645.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-OQC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131ab135-1376-463e-8d56-bfba57633a37_942x645.png" width="942" height="645" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/131ab135-1376-463e-8d56-bfba57633a37_942x645.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:645,&quot;width&quot;:942,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:135366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-OQC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131ab135-1376-463e-8d56-bfba57633a37_942x645.png 424w, https://substackcdn.com/image/fetch/$s_!-OQC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131ab135-1376-463e-8d56-bfba57633a37_942x645.png 848w, https://substackcdn.com/image/fetch/$s_!-OQC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131ab135-1376-463e-8d56-bfba57633a37_942x645.png 1272w, https://substackcdn.com/image/fetch/$s_!-OQC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131ab135-1376-463e-8d56-bfba57633a37_942x645.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>One of the main points of service levels is to shift the perfectionist mindset to acknowledging that complex systems fail all the time, so let&#8217;s identify what defines a failure (which shapes SLI) and what is a reasonable expectation (which shapes SLO) and at what cost (see the <a href="https://blog.alexewerlof.com/p/10x9">rule of 10x/9</a>)</p><h2>Service Outage</h2><p>So far, we haven&#8217;t talked about the outage. That&#8217;s because <em>outage</em> and <em>disruption</em> are used interchangeably.</p><p>However, the word <em>outage</em> typically carries a more dramatic meaning and is used for longer and more serious disruptions with dire consequences. For example: <a href="https://blog.alexewerlof.com/p/sla">SLA</a> penalties, loss (sales, revenue, users, etc.), or legal consequences (accidents, people getting hurt, etc.).</p><p>How long and how serious? It depends on the type of product, customer expectation, and risk appetite:</p><ul><li><p>If your home electricity is cut for 12+ hours, you may call that an outage.  Here in Sweden for example, you&#8217;re <a href="https://www.hallakonsument.se/varor-och-tjanster/stromavbrott/">entitled to compensation</a> if that happens. In this cold corner of the map, many homes depend on electricity for anything from cooking and lights to warming the home. 12 hours is a very long time and can potentially put some lives at risk.</p></li><li><p>The 2011 PlayStation outage lasted 23 days and has its own <a href="https://en.wikipedia.org/wiki/2011_PlayStation_Network_outage">Wikipedia page</a>!</p></li><li><p>Back in 2022, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gergely Orosz&quot;,&quot;id&quot;:30107029,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F802a32bb-2048-428b-bdb5-d6acd1e2b2d5_48x48.png&quot;,&quot;uuid&quot;:&quot;92cdf40d-a6bf-49a4-8ea9-db83268aa8d3&quot;}" data-component-name="MentionToDOM"></span> covered <a href="https://newsletter.pragmaticengineer.com/p/scoop-atlassian">the longest Atlassian outage of all time</a> with an interesting insight: &#8220;The biggest impact of this outage is not in lost revenue: it is reputational damage and might hurt longer-term Cloud sales efforts for new customers. [&#8230;] The irony of the outage is how Atlassian was pushing customers to its Cloud offering, highlighting reliability as a selling point.&#8221; Using the word <em>outage</em> (with all its dramatic connotations) is completely justified here.</p></li></ul><p>For practical purposes when your <em>dependency</em> goes down, you can use &#8220;outage&#8221;. On the other hand, when <em>your</em> service goes down, you can use &#8220;service disruption&#8221; or even wrongfully call it a &#8220;degradation&#8221; to downplay the impact! &#128516;It just sounds fancier and more technical.</p><h1>Conclusion</h1><p>Reliability engineering is about preventing threats from becoming degradations and degradations from becoming disruption.</p><p>So, is degradation better than disruption? I have a question for you:</p><blockquote><p>Think about an online retail store. Which one has a <strong>more negative business impact</strong>?</p><p>A degradation which leads to showing the wrong prices to the customers? </p><p>Or a disruption where the side is not accessible at all?</p></blockquote><p>If you guessed degradation, you guessed right. While intuitively we may think that a degraded experience is better than total outage, showing wrong prices may literally cost the business more than the site being down and losing potential customers &#8212;who may in some cases come back after the side is recovered.</p><ul><li><p>If customers buy the products below the price, the business loses money</p></li><li><p>If the site is down, customers cannot buy the products for the wrong price</p></li></ul><p>Sometimes, it is better to disrupt a service than degrading it. The nuances are in the context, business model, risk tolerance, etc.</p><p>Before we close, I just wanted to highlight one point: One service&#8217;s outage may lead to another service&#8217;s degradation. If your team is providing services to another team in a loosely coupled matter:</p><ul><li><p>When your service is disrupted, <em>all</em> your services are disrupted</p></li><li><p>but for the services that your consumer provides, your disruption might be just a degradation they have to handle (if they&#8217;ve <a href="https://blog.alexewerlof.com/p/lagom-slo">done their homework</a>).</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q7WU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q7WU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png 424w, https://substackcdn.com/image/fetch/$s_!Q7WU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png 848w, https://substackcdn.com/image/fetch/$s_!Q7WU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png 1272w, https://substackcdn.com/image/fetch/$s_!Q7WU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q7WU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png" width="918" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:918,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86246,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Q7WU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png 424w, https://substackcdn.com/image/fetch/$s_!Q7WU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png 848w, https://substackcdn.com/image/fetch/$s_!Q7WU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png 1272w, https://substackcdn.com/image/fetch/$s_!Q7WU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5739c56e-6235-4f76-beec-44cf945acfcd_918x640.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a>&nbsp;is to give away most content for free. However, these posts take anywhere from a few hours to days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends. Recently I went down in working hours and salary by 10% to be able to spend more time learning and sharing my experience with the public. You can support this cause by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections as well as my online book&nbsp;<a href="https://blog.alexewerlof.com/p/book-intro-reliability-engineering">Reliability Engineering Mindset</a>. Right now, you can get 20% off via&nbsp;<a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/service-degradation-vs-disruption?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this post insightful, please share it in your circles to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/service-degradation-vs-disruption?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/service-degradation-vs-disruption?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[Percentile]]></title><description><![CDATA[What is it? Why is it used? And why is it important in the context of reliability engineering?]]></description><link>https://blog.alexewerlof.com/p/percentile</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/percentile</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Tue, 25 Jun 2024 17:06:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In simple terms, we can think of a metric as an array of values with a timestamp and some optional tags.</p><p>For example, the latency metric values for an API endpoint may look like this:</p><p><code>metric_data = [<br>  { epoch: 1716898141, 200, tags: [ &#8220;api&#8221;, &#8220;GET&#8221; ] },<br>  { epoch: 1716898142, 212, tags: [ &#8220;api&#8221;, &#8220;GET&#8221; ] },<br>  { epoch: 1716898143, 102, tags: [ &#8220;api&#8221;, &#8220;GET&#8221; ] },<br>  { epoch: 1716898144, 290, tags: [ &#8220;api&#8221;, &#8220;GET&#8221; ] },<br>  { epoch: 1716898145, 180, tags: [ &#8220;api&#8221;, &#8220;GET&#8221; ] },<br>  { epoch: 1716898146, 3000, tags: [ &#8220;api&#8221;, &#8220;GET&#8221; ] },<br>  { epoch: 1716898147, 153, tags: [ &#8220;api&#8221;, &#8220;GET&#8221; ] },<br>  &#8230;<br>]</code></p><p>Let&#8217;s ignore the timing and tags for now to focus on the values:</p><p><code>metric_values = [ 200, 212, 102, 290, 180, 3000, 153, &#8230; ]</code></p><p>In this dataset, most latency values are in the range [<code>100ms..200ms] </code>but there&#8217;s an outlier there: <code>3000ms</code>. What happened there? Before we look into that, let&#8217;s see if one of the most common tools can help: average.</p><p>The average of the whole dataset including the outlier is:</p><p><code>average([200, 212, 102, 290, 180, 3000, 153]) = 591ms</code></p><p>Without the outlier we have:</p><p><code>average([200, 212, 102, 290, 180, 153]) = 189.5ms</code></p><p>So, it is <code>591ms</code> versus <code>189.5ms</code>! Pretty large difference!</p><p>That is how average works: it hides those outliers and makes all data look equally bad.</p><p>Average often does not represent an actual data point.</p><p>For example, the average American family <a href="https://www.statista.com/statistics/718084/average-number-of-own-children-per-family/">has 1.94 children</a>! I know what one child looks like, but what exactly is 0.94 child? &#128118;And apparently all families have it! &#128516;Even the ones with no kids! &#129327;</p><p>If we want to focus our optimization efforts on the outliers, we need a tool that&#8217;s better than average (no pun intended)! We want a tool that picks actual outlier data points.</p><p>Say hello to percentiles!</p><h1>Percentiles</h1><p>Percentile is the value above a percentage of all data points.</p><p>OK, that was a mouthful. &#129325;Let&#8217;s say we have a metric with these values:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!42w4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!42w4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png 424w, https://substackcdn.com/image/fetch/$s_!42w4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png 848w, https://substackcdn.com/image/fetch/$s_!42w4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png 1272w, https://substackcdn.com/image/fetch/$s_!42w4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!42w4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png" width="1456" height="450" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:450,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:589623,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!42w4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png 424w, https://substackcdn.com/image/fetch/$s_!42w4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png 848w, https://substackcdn.com/image/fetch/$s_!42w4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png 1272w, https://substackcdn.com/image/fetch/$s_!42w4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ede2bd5-3a1f-49aa-8e6e-f47f0f274bc5_3129x968.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>These are 1000 values for a metric that is mostly hovering around 11000 to 12000 but occasionally there are outliers which are significantly higher or lower.</p><p>The purpose of percentiles is to find outliers.</p><p>The idea is very simple and intuitive:</p><ol><li><p>Sort the data</p></li><li><p>Pick the data at the index that is at <code>p%</code> of the number of data points</p></li></ol><p>Let&#8217;s try that with the dataset above.</p><ol><li><p>The sorted data looks like this:</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PpmL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PpmL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png 424w, https://substackcdn.com/image/fetch/$s_!PpmL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png 848w, https://substackcdn.com/image/fetch/$s_!PpmL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png 1272w, https://substackcdn.com/image/fetch/$s_!PpmL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PpmL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png" width="1456" height="453" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:453,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56139,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PpmL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png 424w, https://substackcdn.com/image/fetch/$s_!PpmL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png 848w, https://substackcdn.com/image/fetch/$s_!PpmL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png 1272w, https://substackcdn.com/image/fetch/$s_!PpmL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b43209c-15ae-43f6-a2b7-1910184efc3f_1558x485.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="2"><li><p>The percentile <code>P0, P1, P2, &#8230;, P100</code> look like this:</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PPQe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PPQe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png 424w, https://substackcdn.com/image/fetch/$s_!PPQe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png 848w, https://substackcdn.com/image/fetch/$s_!PPQe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png 1272w, https://substackcdn.com/image/fetch/$s_!PPQe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PPQe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png" width="1456" height="427" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:427,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:109706,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PPQe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png 424w, https://substackcdn.com/image/fetch/$s_!PPQe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png 848w, https://substackcdn.com/image/fetch/$s_!PPQe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png 1272w, https://substackcdn.com/image/fetch/$s_!PPQe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F372395ff-70a1-4cc6-8a18-247f9bfd9753_3393x994.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Do you spot the similarity? That&#8217;s because percentiles are directly deduced from the sorted data points.</p><p><em>Note: for consistency, in this article we only sort the data in ascending order, but the data may as well be sorted in descending order. The sorting order is not a requirement for percentiles.</em></p><p>Now we can write a small function that returns a given data point at a desired percentile:</p><div class="github-gist" data-attrs="{&quot;innerHTML&quot;:&quot;<div id=\&quot;gist131039584\&quot; class=\&quot;gist\&quot;>\n    <div class=\&quot;gist-file\&quot; translate=\&quot;no\&quot; data-color-mode=\&quot;light\&quot; data-light-theme=\&quot;light\&quot;>\n      <div class=\&quot;gist-data\&quot;>\n        <div class=\&quot;js-gist-file-update-container js-task-list-container\&quot;>\n  <div id=\&quot;file-percentile-js\&quot; class=\&quot;file my-2\&quot;>\n    \n    <div itemprop=\&quot;text\&quot; class=\&quot;Box-body p-0 blob-wrapper data type-javascript  \&quot;>\n\n        \n<div class=\&quot;js-check-bidi js-blob-code-container blob-code-content\&quot;>\n\n  <template class=\&quot;js-file-alert-template\&quot;>\n  <div data-view-component=\&quot;true\&quot; class=\&quot;flash flash-warn flash-full d-flex flex-items-center\&quot;>\n  <svg aria-hidden=\&quot;true\&quot; height=\&quot;16\&quot; viewBox=\&quot;0 0 16 16\&quot; version=\&quot;1.1\&quot; width=\&quot;16\&quot; data-view-component=\&quot;true\&quot; class=\&quot;octicon octicon-alert\&quot;>\n    <path d=\&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\&quot;></path>\n</svg>\n    <span>\n      This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.\n      <a class=\&quot;Link--inTextBlock\&quot; href=\&quot;https://github.co/hiddenchars\&quot; target=\&quot;_blank\&quot;>Learn more about bidirectional Unicode characters</a>\n    </span>\n\n\n  <div data-view-component=\&quot;true\&quot; class=\&quot;flash-action\&quot;>        <a href=\&quot;{{ revealButtonHref }}\&quot; data-view-component=\&quot;true\&quot; class=\&quot;btn-sm btn\&quot;>    Show hidden characters\n</a>\n</div>\n</div></template>\n<template class=\&quot;js-line-alert-template\&quot;>\n  <span aria-label=\&quot;This line has hidden Unicode characters\&quot; data-view-component=\&quot;true\&quot; class=\&quot;line-alert tooltipped tooltipped-e\&quot;>\n    <svg aria-hidden=\&quot;true\&quot; height=\&quot;16\&quot; viewBox=\&quot;0 0 16 16\&quot; version=\&quot;1.1\&quot; width=\&quot;16\&quot; data-view-component=\&quot;true\&quot; class=\&quot;octicon octicon-alert\&quot;>\n    <path d=\&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\&quot;></path>\n</svg>\n</span></template>\n\n  <table data-hpc class=\&quot;highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\&quot; data-tab-size=\&quot;8\&quot; data-paste-markdown-skip data-tagsearch-lang=\&quot;JavaScript\&quot; data-tagsearch-path=\&quot;percentile.js\&quot;>\n        <tr>\n          <td id=\&quot;file-percentile-js-L1\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;1\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC1\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-c>/**</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L2\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;2\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC2\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-c> * Gets the index of the element in an array that corresponds to the given percentile</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L3\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;3\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC3\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-c> * @param {number} arrLength the length of the array that we want to calculate its percentile</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L4\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;4\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC4\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-c> * @param {number} p the percentile in the range [0..100] inclusive</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L5\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;5\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC5\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-c> * @returns index of the array element that corresponds to the given percentile</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L6\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;6\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC6\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-c> */</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L7\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;7\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC7\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-k>export</span> <span class=pl-k>function</span> <span class=pl-en>percentileIndex</span><span class=pl-kos>(</span><span class=pl-s1>arrLength</span><span class=pl-kos>,</span> <span class=pl-s1>p</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L8\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;8\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC8\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-k>const</span> <span class=pl-s1>maxPossibleIndex</span> <span class=pl-c1>=</span> <span class=pl-s1>arrLength</span> <span class=pl-c1>-</span> <span class=pl-c1>1</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L9\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;9\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC9\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-k>return</span> <span class=pl-v>Math</span><span class=pl-kos>.</span><span class=pl-en>ceil</span><span class=pl-kos>(</span><span class=pl-s1>maxPossibleIndex</span> <span class=pl-c1>*</span> <span class=pl-s1>p</span> <span class=pl-c1>/</span> <span class=pl-c1>100</span><span class=pl-kos>)</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L10\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;10\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC10\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-kos>}</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L11\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;11\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC11\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>\n</td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L12\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;12\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC12\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-c>/**</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L13\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;13\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC13\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-c> * @returns the value at the nth location in the array where n is between 0 to array.length</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L14\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;14\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC14\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-c> */</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L15\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;15\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC15\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-k>export</span> <span class=pl-k>function</span> <span class=pl-en>percentile</span><span class=pl-kos>(</span><span class=pl-s1>arr</span><span class=pl-kos>,</span> <span class=pl-s1>p</span><span class=pl-kos>)</span> <span class=pl-kos>{</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L16\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;16\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC16\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;>    <span class=pl-k>return</span> <span class=pl-s1>arr</span><span class=pl-kos>[</span><span class=pl-en>percentileIndex</span><span class=pl-kos>(</span><span class=pl-s1>arr</span><span class=pl-kos>.</span><span class=pl-c1>length</span><span class=pl-kos>)</span><span class=pl-kos>]</span></td>\n        </tr>\n        <tr>\n          <td id=\&quot;file-percentile-js-L17\&quot; class=\&quot;blob-num js-line-number js-code-nav-line-number js-blob-rnum\&quot; data-line-number=\&quot;17\&quot;></td>\n          <td id=\&quot;file-percentile-js-LC17\&quot; class=\&quot;blob-code blob-code-inner js-file-line\&quot;><span class=pl-kos>}</span></td>\n        </tr>\n  </table>\n</div>\n\n\n    </div>\n\n  </div>\n</div>\n\n      </div>\n      <div class=\&quot;gist-meta\&quot;>\n        <a href=\&quot;https://gist.github.com/alexewerlof/4f1b19e1818e9135abf83fc6180ec17b/raw/2d6dc92d466485352174dc446e8265a55d295330/percentile.js\&quot; style=\&quot;float:right\&quot; class=\&quot;Link--inTextBlock\&quot;>view raw</a>\n        <a href=\&quot;https://gist.github.com/alexewerlof/4f1b19e1818e9135abf83fc6180ec17b#file-percentile-js\&quot; class=\&quot;Link--inTextBlock\&quot;>\n          percentile.js\n        </a>\n        hosted with &amp;#10084; by <a class=\&quot;Link--inTextBlock\&quot; href=\&quot;https://github.com\&quot;>GitHub</a>\n      </div>\n    </div>\n</div>\n&quot;,&quot;stylesheet&quot;:&quot;https://github.githubassets.com/assets/gist-embed-c38b724e3032.css&quot;}" data-component-name="GitgistToDOM"><link rel="stylesheet" href="https://github.githubassets.com/assets/gist-embed-c38b724e3032.css"><div id="gist131039584" class="gist">
    <div class="gist-file" data-color-mode="light" data-light-theme="light">
      <div class="gist-data">
        <div class="js-gist-file-update-container js-task-list-container">
  <div id="file-percentile-js" class="file my-2">
    
    <div itemprop="text" class="Box-body p-0 blob-wrapper data type-javascript  ">

        
<div class="js-check-bidi js-blob-code-container blob-code-content">

  
  <div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center">
  
    

    <span>
      This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a>
    </span>


  <div data-view-component="true" class="flash-action">        <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn">    Show hidden characters
</a>
</div>
</div>

  <span data-view-component="true" class="line-alert tooltipped tooltipped-e">
    
    

</span>

  <table data-hpc="" class="highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file" data-tab-size="8" data-paste-markdown-skip="" data-tagsearch-lang="JavaScript" data-tagsearch-path="percentile.js">
        <tbody><tr>
          <td id="file-percentile-js-L1" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="1"></td>
          <td id="file-percentile-js-LC1" class="blob-code blob-code-inner js-file-line"><span class="pl-c">/**</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L2" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="2"></td>
          <td id="file-percentile-js-LC2" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> * Gets the index of the element in an array that corresponds to the given percentile</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L3" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="3"></td>
          <td id="file-percentile-js-LC3" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> * @param {number} arrLength the length of the array that we want to calculate its percentile</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L4" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="4"></td>
          <td id="file-percentile-js-LC4" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> * @param {number} p the percentile in the range [0..100] inclusive</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L5" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="5"></td>
          <td id="file-percentile-js-LC5" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> * @returns index of the array element that corresponds to the given percentile</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L6" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="6"></td>
          <td id="file-percentile-js-LC6" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> */</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L7" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="7"></td>
          <td id="file-percentile-js-LC7" class="blob-code blob-code-inner js-file-line"><span class="pl-k">export</span> <span class="pl-k">function</span> <span class="pl-en">percentileIndex</span><span class="pl-kos">(</span><span class="pl-s1">arrLength</span><span class="pl-kos">,</span> <span class="pl-s1">p</span><span class="pl-kos">)</span> <span class="pl-kos">{</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L8" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="8"></td>
          <td id="file-percentile-js-LC8" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">const</span> <span class="pl-s1">maxPossibleIndex</span> <span class="pl-c1">=</span> <span class="pl-s1">arrLength</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L9" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="9"></td>
          <td id="file-percentile-js-LC9" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">return</span> <span class="pl-v">Math</span><span class="pl-kos">.</span><span class="pl-en">ceil</span><span class="pl-kos">(</span><span class="pl-s1">maxPossibleIndex</span> <span class="pl-c1">*</span> <span class="pl-s1">p</span> <span class="pl-c1">/</span> <span class="pl-c1">100</span><span class="pl-kos">)</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L10" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="10"></td>
          <td id="file-percentile-js-LC10" class="blob-code blob-code-inner js-file-line"><span class="pl-kos">}</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L11" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="11"></td>
          <td id="file-percentile-js-LC11" class="blob-code blob-code-inner js-file-line">
</td>
        </tr>
        <tr>
          <td id="file-percentile-js-L12" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="12"></td>
          <td id="file-percentile-js-LC12" class="blob-code blob-code-inner js-file-line"><span class="pl-c">/**</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L13" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="13"></td>
          <td id="file-percentile-js-LC13" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> * @returns the value at the nth location in the array where n is between 0 to array.length</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L14" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="14"></td>
          <td id="file-percentile-js-LC14" class="blob-code blob-code-inner js-file-line"><span class="pl-c"> */</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L15" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="15"></td>
          <td id="file-percentile-js-LC15" class="blob-code blob-code-inner js-file-line"><span class="pl-k">export</span> <span class="pl-k">function</span> <span class="pl-en">percentile</span><span class="pl-kos">(</span><span class="pl-s1">arr</span><span class="pl-kos">,</span> <span class="pl-s1">p</span><span class="pl-kos">)</span> <span class="pl-kos">{</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L16" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="16"></td>
          <td id="file-percentile-js-LC16" class="blob-code blob-code-inner js-file-line">    <span class="pl-k">return</span> <span class="pl-s1">arr</span><span class="pl-kos">[</span><span class="pl-en">percentileIndex</span><span class="pl-kos">(</span><span class="pl-s1">arr</span><span class="pl-kos">.</span><span class="pl-c1">length</span><span class="pl-kos">)</span><span class="pl-kos">]</span></td>
        </tr>
        <tr>
          <td id="file-percentile-js-L17" class="blob-num js-line-number js-code-nav-line-number js-blob-rnum" data-line-number="17"></td>
          <td id="file-percentile-js-LC17" class="blob-code blob-code-inner js-file-line"><span class="pl-kos">}</span></td>
        </tr>
  </tbody></table>
</div>


    </div>

  </div>
</div>

      </div>
      <div class="gist-meta">
        <a href="https://gist.github.com/alexewerlof/4f1b19e1818e9135abf83fc6180ec17b/raw/2d6dc92d466485352174dc446e8265a55d295330/percentile.js" style="float:right" class="Link--inTextBlock">view raw</a>
        <a href="https://gist.github.com/alexewerlof/4f1b19e1818e9135abf83fc6180ec17b#file-percentile-js" class="Link--inTextBlock">
          percentile.js
        </a>
        hosted with &#10084; by <a class="Link--inTextBlock" href="https://github.com">GitHub</a>
      </div>
    </div>
</div>
</div><p>The code is pretty simple. It just returns the array element at the nth position where n is at the p% position of the array length.</p><p>Example:</p><ul><li><p>If the array has <code>100 </code>elements, <code>P99 </code>is the item at the <code>99th</code> position. For languages that start the array from <code>0</code>, that would be <code>arr[98]</code></p></li><li><p>If the array has <code>1000 </code>elements, <code>P99 </code>is the <code>990th </code>element or <code>arr[989]</code></p></li><li><p>If the array has <code>24 </code>elements, <code>P95 </code>is the <code>23rd </code>element or <code>arr[22]</code>. That&#8217;s because the maximum possible array index is <code>23</code> and <code>95%23 = 21.85. Math.ceil(21.85) = 22</code>. Since this array is so short, even <code>P99 </code>is also at <code>arr[22]</code>.</p></li></ul><p>In simple terms, <code>P99 </code>is the value that shows up at the 99% position in a sorted array.</p><p>While <code>P99</code>, <code>P95</code>, or even <code>P90 </code>are most used, there&#8217;s no rule that excludes other numbers between 0-100.</p><p>For example, if you want to find unusually small numbers in a dataset, you can look for P1 or even P0.1.</p><p><code>P0.1</code> may look confusing, but it uses the same rules as before: find the data at the <code>0.1%</code> of the sorted dataset.</p><p>Example:</p><ul><li><p>If the array has <code>100 </code>elements, <code>P0.1 </code>is the item at the <code>2nd</code> position. For languages that start the array from 0, that would be <code>arr[1]</code></p></li><li><p>If the array has <code>10000 </code>elements, <code>P0.1 </code>is the <code>11th </code>element or <code>arr[10]</code>. That&#8217;s because the maximum possible array index is <code>9999 </code>and <code>0.1%9999 = 9.999. Math.ceil(9.999) = 10</code>.</p></li></ul><p>Other notable percentiles are:</p><ul><li><p>P10: Also known as <strong>1st Decile</strong></p></li><li><p>P20: Also known as <strong>2nd Decile</strong></p></li><li><p>P25: Also known as <strong>1st Quartile</strong></p></li><li><p>P50: Also known as <em>median</em> or <strong>2nd Quartile </strong>(this is not the average, but the item that is located exactly in the middle of the array)</p></li><li><p>P75: Also known as <strong>3rd Quartile</strong></p></li><li><p>P80: Also known as <strong>8th Decile</strong></p></li></ul><p><code>P50</code> is an interesting one. Instead of average, it represents the data in the middle of a sorted array.</p><p>For example, although the average American has <a href="https://www.statista.com/statistics/718084/average-number-of-own-children-per-family/">1.89 children</a>, the median family has either 0, 1, or 2 children. I couldn&#8217;t find the stats in a way that allowed me to calculate the median, but you get the point: <strong>percentile</strong> <em>selects</em> a data point from the array whereas <strong>average </strong><em>aggregates</em> the data points.</p><p>You don&#8217;t have to care about <em>decile</em> and <em>quartile</em>. I just wrote about them for the sake of inclusivity. In practice we almost exclusively work with <em>percentile</em>.</p><p>For the exact dataset that was visualized in this page, we have the following stats:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!itdg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!itdg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png 424w, https://substackcdn.com/image/fetch/$s_!itdg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png 848w, https://substackcdn.com/image/fetch/$s_!itdg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png 1272w, https://substackcdn.com/image/fetch/$s_!itdg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!itdg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png" width="633" height="498" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:498,&quot;width&quot;:633,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:133203,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!itdg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png 424w, https://substackcdn.com/image/fetch/$s_!itdg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png 848w, https://substackcdn.com/image/fetch/$s_!itdg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png 1272w, https://substackcdn.com/image/fetch/$s_!itdg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8136c08c-edc3-4dc9-bc17-78e535534032_633x498.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you want to play with different datasets, I&#8217;ve written <a href="https://alexewerlof.github.io/percentile/">a free open-source tool</a> that helped me learn and visualize these concepts.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_LEM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_LEM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png 424w, https://substackcdn.com/image/fetch/$s_!_LEM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png 848w, https://substackcdn.com/image/fetch/$s_!_LEM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png 1272w, https://substackcdn.com/image/fetch/$s_!_LEM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_LEM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png" width="1174" height="1280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1280,&quot;width&quot;:1174,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:290093,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_LEM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png 424w, https://substackcdn.com/image/fetch/$s_!_LEM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png 848w, https://substackcdn.com/image/fetch/$s_!_LEM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png 1272w, https://substackcdn.com/image/fetch/$s_!_LEM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f2593-7c0f-4fef-95a5-14dd230b68a4_1174x1280.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The interface is a bit crud at the moment, but I have big plans for integrating it to the <a href="https://slc.alexewerlof.com/">Service Leval Calculator</a>.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;fbccd967-1ee1-4488-9cf8-b6faca70e9f3&quot;,&quot;caption&quot;:&quot;Note: the &#128308; red circles mark the articles that are to be published. As they are gradually published, they will be linked. At my current job, I&#8217;m responsible to help over hundred teams to set their Service Levels: Choose meaningful indicators (SLI) Set&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Introducing Service Level Calculator&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-12-06T05:30:16.528Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb36bf32a-0d98-4de9-ae99-ea880183557d_500x500.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/slc&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:139424483,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:4,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Note: using percentiles simplifies talking about data. For example, if you read:</p><blockquote><p><code>12%</code> of European households have <code>3</code> or more children &#8212;<a href="https://www.elfac.org/12-of-european-households-have-3-or-more-children/">elfac.org</a></p></blockquote><p>You know that if there was an array representing the number of children for each individual family in Europe:</p><ul><li><p>If it was sorted in the decreasing order, the family at the position <code>P12</code>, would have exactly <code>3</code> children</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ANw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ANw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png 424w, https://substackcdn.com/image/fetch/$s_!ANw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png 848w, https://substackcdn.com/image/fetch/$s_!ANw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png 1272w, https://substackcdn.com/image/fetch/$s_!ANw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ANw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png" width="1456" height="422" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:422,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55575,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ANw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png 424w, https://substackcdn.com/image/fetch/$s_!ANw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png 848w, https://substackcdn.com/image/fetch/$s_!ANw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png 1272w, https://substackcdn.com/image/fetch/$s_!ANw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c3cc67-8247-4e71-b8e7-357a933a29b8_1621x470.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p>If it was sorted in increasing order, the <code>P88</code> family would have exactly <code>3</code> children.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YVAR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YVAR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png 424w, https://substackcdn.com/image/fetch/$s_!YVAR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png 848w, https://substackcdn.com/image/fetch/$s_!YVAR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png 1272w, https://substackcdn.com/image/fetch/$s_!YVAR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YVAR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png" width="1456" height="419" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:419,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56048,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YVAR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png 424w, https://substackcdn.com/image/fetch/$s_!YVAR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png 848w, https://substackcdn.com/image/fetch/$s_!YVAR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png 1272w, https://substackcdn.com/image/fetch/$s_!YVAR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9372cd1-0ce8-4f29-8722-93565a0f56bd_1624x467.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1>When to use percentiles?</h1><p>Percentile is a popular tool in the field of reliability engineering and performance optimization. It is a powerful tool to spot the outlier data points without diluting the story that a dataset is capable of telling.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">I write about technical leadership, reliability engineering, and growth breaking complex topics into simple visual concepts that are easy to understand and act upon</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Percentile is especially useful for datasets that are not evenly distributed &#8212;most data!</p><blockquote><p>Evenly distributed what? &#8212;you may ask!</p></blockquote><p>First let&#8217;s look at some evenly distributed data where each value is as likely to show up:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QRvq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QRvq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png 424w, https://substackcdn.com/image/fetch/$s_!QRvq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png 848w, https://substackcdn.com/image/fetch/$s_!QRvq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png 1272w, https://substackcdn.com/image/fetch/$s_!QRvq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QRvq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png" width="1456" height="453" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:453,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:823343,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QRvq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png 424w, https://substackcdn.com/image/fetch/$s_!QRvq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png 848w, https://substackcdn.com/image/fetch/$s_!QRvq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png 1272w, https://substackcdn.com/image/fetch/$s_!QRvq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fb0f24a-e9a9-4973-ab9e-ad7360ec995a_3098x964.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is how random number generators work. In fact, this data was created using <code>Math.random()</code> in JavaScript as we&#8217;ll see later.</p><p>If we sort that data it we get this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kOTU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kOTU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png 424w, https://substackcdn.com/image/fetch/$s_!kOTU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png 848w, https://substackcdn.com/image/fetch/$s_!kOTU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png 1272w, https://substackcdn.com/image/fetch/$s_!kOTU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kOTU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png" width="1456" height="454" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:67161,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kOTU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png 424w, https://substackcdn.com/image/fetch/$s_!kOTU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png 848w, https://substackcdn.com/image/fetch/$s_!kOTU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png 1272w, https://substackcdn.com/image/fetch/$s_!kOTU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d58e963-65c2-427b-a27f-8eeed040200b_1539x480.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As you can see, there are no anomalies. If we do the math, we can see that:</p><ul><li><p>Mean (also known as <em>average</em>) is <code>10279</code></p></li><li><p>Median (also known as <code>P50 </code>percentile) is <code>10453</code></p></li></ul><p>Not an enormous difference considering that the range of values is anywhere from 0 to 20000. And that&#8217;s expected from such an evenly distributed dataset.</p><p>But the story is different when there are outliers.</p><p>For example, if a small fraction of numbers are unusually high, we get something like this:</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xm9o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xm9o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png 424w, https://substackcdn.com/image/fetch/$s_!xm9o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png 848w, https://substackcdn.com/image/fetch/$s_!xm9o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png 1272w, https://substackcdn.com/image/fetch/$s_!xm9o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xm9o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png" width="1456" height="458" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:458,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:444275,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xm9o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png 424w, https://substackcdn.com/image/fetch/$s_!xm9o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png 848w, https://substackcdn.com/image/fetch/$s_!xm9o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png 1272w, https://substackcdn.com/image/fetch/$s_!xm9o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410b8518-a35e-438f-9ba9-a6d116b179db_3084x970.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Sorted, we get this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Asd3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Asd3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png 424w, https://substackcdn.com/image/fetch/$s_!Asd3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png 848w, https://substackcdn.com/image/fetch/$s_!Asd3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png 1272w, https://substackcdn.com/image/fetch/$s_!Asd3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Asd3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png" width="1456" height="447" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:447,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:54904,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Asd3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png 424w, https://substackcdn.com/image/fetch/$s_!Asd3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png 848w, https://substackcdn.com/image/fetch/$s_!Asd3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png 1272w, https://substackcdn.com/image/fetch/$s_!Asd3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e125d6c-1158-4ffb-b876-ddbf90647036_1550x476.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p>Mean (average): <code>2360</code></p></li><li><p>Median (<code>P50</code>): <code>2106</code></p></li><li><p><code>P95: 3969</code></p></li><li><p><code>P99: 18031</code>. This means <code>99%</code> of values are below <code>18031</code></p></li></ul><p>This type of data distribution is also known as <em><a href="https://en.wikipedia.org/wiki/Long_tail">long tail</a></em>.</p><p>Another example where most values are high, but a few are very low:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gB-e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gB-e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png 424w, https://substackcdn.com/image/fetch/$s_!gB-e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png 848w, https://substackcdn.com/image/fetch/$s_!gB-e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png 1272w, https://substackcdn.com/image/fetch/$s_!gB-e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gB-e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png" width="1456" height="468" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:468,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:277309,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gB-e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png 424w, https://substackcdn.com/image/fetch/$s_!gB-e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png 848w, https://substackcdn.com/image/fetch/$s_!gB-e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png 1272w, https://substackcdn.com/image/fetch/$s_!gB-e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe32ed13e-508e-4a65-84af-1b66c0097714_1576x507.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Look for those extremely low values. They are easier to see when the data is sorted:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wcoq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wcoq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png 424w, https://substackcdn.com/image/fetch/$s_!wcoq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png 848w, https://substackcdn.com/image/fetch/$s_!wcoq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png 1272w, https://substackcdn.com/image/fetch/$s_!wcoq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wcoq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png" width="1456" height="460" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:460,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56974,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wcoq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png 424w, https://substackcdn.com/image/fetch/$s_!wcoq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png 848w, https://substackcdn.com/image/fetch/$s_!wcoq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png 1272w, https://substackcdn.com/image/fetch/$s_!wcoq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2977b92-59a1-4f38-81e8-1136a16fe354_1532x484.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Analysing:</p><ul><li><p>Mean (average): <code>17556</code></p></li><li><p>Median (<code>P50</code>): <code>18695</code></p></li><li><p><code>P1: 2359</code>. This means only <code>1%</code> of values are below <code>2359</code>.</p></li><li><p><code>P99: 19969</code></p></li></ul><p>And of course, there can be datasets where most data fluctuate around a usual range, but occasionally there are outliers that are either too high or too low:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y0Xr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y0Xr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png 424w, https://substackcdn.com/image/fetch/$s_!Y0Xr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png 848w, https://substackcdn.com/image/fetch/$s_!Y0Xr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png 1272w, https://substackcdn.com/image/fetch/$s_!Y0Xr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y0Xr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png" width="1456" height="445" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:445,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:668389,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y0Xr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png 424w, https://substackcdn.com/image/fetch/$s_!Y0Xr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png 848w, https://substackcdn.com/image/fetch/$s_!Y0Xr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png 1272w, https://substackcdn.com/image/fetch/$s_!Y0Xr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8171d82-10e6-4ff8-8836-523a47c13ad9_3090x945.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Sorted:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CGuf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CGuf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png 424w, https://substackcdn.com/image/fetch/$s_!CGuf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png 848w, https://substackcdn.com/image/fetch/$s_!CGuf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png 1272w, https://substackcdn.com/image/fetch/$s_!CGuf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CGuf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png" width="1456" height="447" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:447,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:63455,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CGuf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png 424w, https://substackcdn.com/image/fetch/$s_!CGuf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png 848w, https://substackcdn.com/image/fetch/$s_!CGuf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png 1272w, https://substackcdn.com/image/fetch/$s_!CGuf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b67c1b8-da33-441f-bf4e-90ecb6e0c7bd_1547x475.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Analyzing:</p><ul><li><p>Mean (average): <code>10048</code></p></li><li><p>Median (P50): <code>10076</code></p></li><li><p><code>P1: 1546</code></p></li><li><p><code>P99: 17949</code></p></li><li><p><code>P99.5: 18858</code></p></li><li><p><code>P99.9: 19378</code></p></li></ul><h1>Selection vs aggregation</h1><p>Percentile can select a subset of actual data to analyze and drive meaningful action. </p><p>For example, let&#8217;s say you are a policy maker who wants to reduce child obesity in Belgium. <a href="https://www.statista.com/statistics/1090687/body-mass-index-obese-belgian-children/">According to statista</a> 5.2% of Belgian children are obese. That&#8217;s a tiny number and if we were going to use average weight, we would think that the average Belgian child is slightly obese. Considering that a percentage of the children may be underweight, the average may actually mislead us to believe that the average Belgian child has a perfectly healthy BMI (body mass index).</p><p>However, if we sort all Belgian kids in a very very long row based on their BMI, we can quickly identify the obese ones.</p><p>This allows you to focus on one end of the row where obese children are standing and trying to understand what contributes to their obesity and what policies can reduce their risk factors.</p><h1>Crazy bounce</h1><p>One final tip: when starting to optimize the system behavior, start from the common percentiles (e.g. P50) and gradually shrink your focus towards the outliers (e.g. P1 or P99 depending on the shape of the sorted diagram).</p><p>There is, however, no universal rule. Always start by looking at the sorted data to understand where you want to start.</p><p>For example, this rather uncommon dataset fluctuates between very high and very low values:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d1FH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d1FH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png 424w, https://substackcdn.com/image/fetch/$s_!d1FH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png 848w, https://substackcdn.com/image/fetch/$s_!d1FH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png 1272w, https://substackcdn.com/image/fetch/$s_!d1FH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d1FH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png" width="1456" height="444" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:444,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:656598,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!d1FH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png 424w, https://substackcdn.com/image/fetch/$s_!d1FH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png 848w, https://substackcdn.com/image/fetch/$s_!d1FH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png 1272w, https://substackcdn.com/image/fetch/$s_!d1FH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe985234-ac06-4347-8fe8-13ab2f7230a2_3137x957.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Sorted:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-Yzm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-Yzm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png 424w, https://substackcdn.com/image/fetch/$s_!-Yzm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png 848w, https://substackcdn.com/image/fetch/$s_!-Yzm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png 1272w, https://substackcdn.com/image/fetch/$s_!-Yzm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-Yzm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png" width="1456" height="469" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:469,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56757,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-Yzm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png 424w, https://substackcdn.com/image/fetch/$s_!-Yzm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png 848w, https://substackcdn.com/image/fetch/$s_!-Yzm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png 1272w, https://substackcdn.com/image/fetch/$s_!-Yzm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a06203f-3e2d-4ea9-9fa5-40f5786406ec_1542x497.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As you can see, the majority of data points are either too low or too high. This might be the average latency of an API where the data from <code>GET </code>and <code>POST </code>requests are combined in one view.</p><p>Here, you may want to use labels to narrow down the dataset to something that P1 or P99 can meaningfully tell a story and direct our optimization.</p><p>For example, we may realize that if we only look at the data for <code>GET </code>requests to the API, we see a long tail diagram like the ones we saw before. And that may actually look quite good. Maybe, it is the <code>PUT </code>requests that are taking too long.</p><p>Different subsets of data may tell different stories which may drive different actions.</p><h1>Recap</h1><p>Percentiles allow:</p><ul><li><p>Selecting the outliers and focusing on understanding them (instead of aggregating them as <em>average</em> does)</p></li><li><p>Focusing the optimization efforts</p></li><li><p>Impactful decisions that are guided by actual data points</p></li></ul><p>Start the optimization effort with a percentile that represents the typical data points. As your optimization yields results, narrow down your efforts to more niche outliers.</p><p>There is no universal rule that applies to all datasets. The best way to know which percentile to use is to look at the sorted data.</p><p>You may have to filter the data to get to a shape that is actionable.</p><p>Try to identify the actions with the best ROI (return on investment). Just because there is a long tail, doesn&#8217;t mean that you have to trim it! &#128013;</p><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a>&nbsp;is to give away most content for free. However, these posts take anywhere from a few hours to days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends. Recently I went down in working hours and salary by 10% to be able to spend more time sharing my experience with the public. You can support this cause by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips section as well as my online book&nbsp;<a href="https://blog.alexewerlof.com/p/book-intro-reliability-engineering">Reliability Engineering Mindset</a>. Right now, you can get 20% off via&nbsp;<a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/percentile?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you find this post insightful, please like and share it in your circles to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/percentile?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/percentile?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p><br></p>]]></content:encoded></item><item><title><![CDATA[Service level adoption obstacles]]></title><description><![CDATA[Why do many organizations fail to adopt and implement service levels properly and what are the practical tips to overcome the pitfalls?]]></description><link>https://blog.alexewerlof.com/p/service-level-adoption-obstacles</link><guid isPermaLink="false">https://blog.alexewerlof.com/p/service-level-adoption-obstacles</guid><dc:creator><![CDATA[Alex Ewerlöf]]></dc:creator><pubDate>Fri, 24 May 2024 13:03:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been working with Service Levels (SLI/SLO) across several companies and organizations in the past few years. I&#8217;ve run 70+ service level workshops, built a <a href="https://slc.alexewerlof.com/">tool</a> with lots of <a href="https://slc.alexewerlof.com/templates/index.html">examples</a>, and talked to hundreds of engineers and leaders to get them onboard with service levels. I&#8217;ve had <a href="https://alphalist.com/podcast/98-alex-ewerlof-sr-staff-engineer-volvo-cars">podcast</a> <a href="https://open.spotify.com/episode/0tRXkQyDOKUYW29V3KDxFI">episodes</a>, talked to other companies, and even drafted a <a href="https://blog.alexewerlof.com/p/book-intro-reliability-engineering">book</a> about it.</p><p><strong>&#129302;&#128683; Note: Note: No AI is used to generate this content. This essay is only intended for human consumption and is NOT allowed to be used for machine training including but not limited to LLMs.</strong></p><p>It is safe to say that I am invested in service levels &#128516;If I could sum up that experience in one sentence, that would be:</p><blockquote><p>Service levels are the best tool to <strong>measure and optimize reliability</strong> of complex software systems, but they are <strong>heavily underrated</strong>.</p></blockquote><p>But why?</p><p>First let&#8217;s unpack the first part: why are service levels the best tool to measure and optimize reliability?</p><ul><li><p>Service levels measure the <a href="https://blog.alexewerlof.com/p/service">service</a> not the people who offer it. They encourage blameless postmortem to learn from incidents instead of finger pointing.</p></li><li><p>Service levels debunk the assumption that &#8220;systems should never fail&#8221; and the inevitable panic when they do. We acknowledge that complex systems fail all the time and shift the conversation to identifying &#8220;what is failure&#8221; (<a href="https://blog.alexewerlof.com/p/sli">SLI</a>) and how much of it can the service consumers tolerate (<a href="https://blog.alexewerlof.com/p/error-budget">error budget</a> which is the complement of <a href="https://blog.alexewerlof.com/p/slo">SLO</a>).</p></li><li><p>Service levels normalize failures by using percentage to put them in the larger perspective. They reduce alert fatigue by <a href="https://blog.alexewerlof.com/p/alerting-on-slo">alerting on error budget burn rate</a>.</p></li><li><p>Service levels give a direction to optimization efforts. <a href="https://blog.alexewerlof.com/p/premature-optimization">Premature optimization</a> is when the the wrong thing is optimized, or at the wrong time, or for the wrong trade-offs. Service levels provide leverage to motivate optimization and data to prevent premature optimization.<br></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;84471851-a0b6-4ccf-bae1-3b8e21f6de9d&quot;,&quot;caption&quot;:&quot;This article builds a mental model to distinguish between mature and premature optimization. We then proceed to talk about 7 important aspects to reduce risk. As usual, there are amble examples and illustrations.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Premature optimization&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-02-24T18:17:37.142Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d2d1408-43e6-475d-b228-79ebfbbc8dac_716x641.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/premature-optimization&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:152375176,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></li><li><p>Service levels put a cap on the optimization effort because there is such a thing as &#8220;<a href="https://blog.alexewerlof.com/p/lagom-slo">reliable enough</a>&#8221;, given the <a href="https://blog.alexewerlof.com/p/10x9">cost of reliability</a>. They help find a balance between innovation and stability: <a href="https://blog.alexewerlof.com/p/error-budget">error budget</a> is a tool to control risk. The encourage treating reliability as a feature to be weighed against other features considering its ROI (<a href="https://blog.alexewerlof.com/p/10x9">rule of 10x/9</a>).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6zJ7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6zJ7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6zJ7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6zJ7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6zJ7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6zJ7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg" width="500" height="649" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:649,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6zJ7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg 424w, https://substackcdn.com/image/fetch/$s_!6zJ7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg 848w, https://substackcdn.com/image/fetch/$s_!6zJ7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!6zJ7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F793cc616-9c9c-4535-b320-e53ad69b808f_500x649.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div></li><li><p>Service levels map <a href="https://blog.alexewerlof.com/p/responsible-for-control">responsibility to control</a> and use it for <a href="https://blog.alexewerlof.com/p/kebab-vs-cake">organization architecture</a> to reduce handover and risk of things falling between the cracks. They also map reliability (which exists in the system architecture graph) to accountability (which exists in the org chart tree) as we will see in a future article.</p></li><li><p>Service levels balance autonomy and alignment: <a href="https://blog.alexewerlof.com/p/service">what goes inside a team is no one&#8217;s business</a> as long as the service meets the expected level. Implement <a href="https://blog.alexewerlof.com/p/you-build-it-you-own-it">you build it, you own it</a> (and preventing <a href="https://blog.alexewerlof.com/p/broken-ownership">broken ownership</a>).</p></li><li><p>And last but not least, service levels establish a culture of measurement, data-informed decision, and talking to consumers (to understand how the service is perceived).</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/subscribe?"><span>Subscribe now</span></a></p><p>Now to the second part: why are service levels heavily underrated?</p><h2><strong>Mental shift</strong></h2><p>For too long the conventional wisdom was to pick some metrics (often by engineers without talking to consumers), attach some alerts to metric thresholds, and panic for every incident.</p><p>This vicious cycle was empowered by a plethora of tools that were built around this way of working.</p><p>In my experience the so called &#8220;juniors&#8221; who have no experience with monitoring, on-call, or incident handling are much more receptive to giving service levels a try.</p><p>On the other hand, the &#8220;seniors&#8221; are often more opinionated, reluctant or flat out resistant to properly implement service levels. Instead, they typically take the high level concept and adapt it to their traditional workflow. The vanity metrics are now called &#8220;Service Levels&#8221;. Problem solved! </p><p>What gives? The baggage!</p><p>For senior knowledge workers, the ability to unlearn is as important as the ability to learn.</p><p>Often, we are trapped in our perceptions which is shaped by our career trajectory. When we&#8217;re too attached to that perception, we fail to gain new perspectives.</p><p>As we have discussed before, a good SLI is connected to how consumers perceive reliability. That is why they are measured at the boundaries of the service that is owned by the team. Traditional metrics often measure internal vitals of the system and have little to no relation with how consumers perceive service reliability.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3Glr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Glr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3Glr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3Glr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3Glr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Glr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg" width="580" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:580,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3Glr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3Glr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3Glr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3Glr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd47d7f-0f96-494a-9700-ac7b1df3acee_580x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The mindset alone is important enough for me to spend a third of my book <a href="https://blog.alexewerlof.com/p/book-intro-reliability-engineering">Reliability Engineering Mindset</a> to its individual and collective aspects.</p><h2><strong>Jargon &amp; Math</strong></h2><p><a href="https://blog.alexewerlof.com/p/sli">SLI</a>, <a href="https://blog.alexewerlof.com/p/slo">SLO</a>, <a href="https://blog.alexewerlof.com/p/sls">SLS</a>, <a href="https://blog.alexewerlof.com/p/sla">SLA</a>, <a href="https://blog.alexewerlof.com/p/error-budget">error budget</a>, <a href="https://blog.alexewerlof.com/p/alerting-on-slo">Burn Rate</a>, <a href="https://blog.alexewerlof.com/p/valid-vs-total">Valid</a>, <a href="https://blog.alexewerlof.com/p/sli-good">Threshold</a>, <a href="https://blog.alexewerlof.com/p/time-based-vs-event-based">Time/Event based</a>, <a href="https://blog.alexewerlof.com/p/composite-slo">Composite</a>, <a href="https://blog.alexewerlof.com/p/multi-tiered-slos">Multi-Tier</a>, &#8230; Yeah! And all you wanted was informed decision to optimize service reliability &#129394;</p><p>The language of reliability and data has a learning curve, and it takes time to speak this language fluently.</p><p>I have written many articles to break down these topics with illustrations and examples. I&#8217;ve also <a href="https://blog.alexewerlof.com/p/slc">created</a> the <a href="https://slc.alexewerlof.com/">Service Level Calculator</a> with many templates:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ptNe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ptNe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png 424w, https://substackcdn.com/image/fetch/$s_!ptNe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png 848w, https://substackcdn.com/image/fetch/$s_!ptNe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png 1272w, https://substackcdn.com/image/fetch/$s_!ptNe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ptNe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png" width="1420" height="1453" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1453,&quot;width&quot;:1420,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ptNe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png 424w, https://substackcdn.com/image/fetch/$s_!ptNe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png 848w, https://substackcdn.com/image/fetch/$s_!ptNe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png 1272w, https://substackcdn.com/image/fetch/$s_!ptNe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3db5f6ab-a0a6-453a-8a73-7e485962fe06_1420x1453.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As AI writes more code, there&#8217;s an increasing need for people who can reason about the complex behavior of the &#8220;black box&#8221; and measure and optimize reliability because we are simultaneously becoming more dependent on these complex interconnected systems.</p><p>Arguably the math for Service Levels is far inferior to what is taught in 10th grade. But still, math can be intimidating to some people.</p><p>I have made <a href="https://slc.alexewerlof.com/">an interactive tool</a> to make the service level math more approachable. Concepts like <a href="https://blog.alexewerlof.com/p/percentile">percentiles</a> can be counter-intuitive at first, but once you get hold of it, it makes you a better critical thinker and comfortable with data and metrics.</p><h2><strong>Poor tooling</strong></h2><p>Let&#8217;s face it, <a href="https://www.usenix.org/conference/srecon14/technical-sessions/presentation/keys-sre">21 years</a> after the word SRE was coined, and <a href="https://cloud.google.com/blog/products/devops-sre/the-sre-book-turns-6">8 years</a> after Google went big externally on the topic, the tooling built around service levels is crap at best!</p><p>I don&#8217;t mean to intimidate people in the slightest but I have thoroughly investigated many tools and shared some of my investigation in another post:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3b4e56c9-afaf-4ab5-8d4f-25d1904f3a94&quot;,&quot;caption&quot;:&quot;I&#8217;ve spent the past few years learning, teaching, and coding service levels. So I got curious to see how the well-known observability providers implement it.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;SLO: Elastic vs Datadog vs Grafana&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:87732486,&quot;name&quot;:&quot;Alex Ewerl&#246;f&quot;,&quot;bio&quot;:&quot;Writes about technical leadership, growth mindset, and system reliability engineering.\n\nSenior Staff Engineer, MSc Systems Engineering from KTH, Stockholmer, dad, amateur artist.\n\nRead more here: https://www.alexewerlof.com/who&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2713990-da82-481b-b579-01a7aaa5b85b_560x560.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-09-13T04:43:07.337Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc536dcd0-3ce6-45ae-a47a-053162600c7e_1038x419.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.alexewerlof.com/p/slo-elastic-datadog-grafana&quot;,&quot;section_name&quot;:&quot;Reliability Engineering&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:148723414,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:12,&quot;comment_count&quot;:5,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Alex Ewerl&#246;f Notes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c58cb07-9341-402b-bcdb-9fa767c2cdac_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>NO ONE GOT IT RIGHT! It is as if they just wanted to check a box to add SLO as a feature to their products.</p><p>SLO is not just a feature. It is the best way to drive value from the observability data.</p><p>The state of tooling is so bad that companies like <a href="https://www.nobl9.com/">Nobl9</a> found a niche to build a business around.</p><p>And the native tooling you get out of the box from your favorite cloud provider is mediocre at best. The only exception is <a href="https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring">Google Cloud</a> &#8212;for obvious reasons!</p><p>Poor tooling leads to premature implementation which ultimately leads to negative experience.</p><h2><strong>Premature implementation</strong></h2><p>Google knows the formula to make something popular: give it away for free!</p><p>As part of their strategy to build credibility and bring developers to their cloud platforms, Google released <a href="https://sre.google/books/">their excellent SRE books</a>. Many people got excited and started <a href="https://blog.alexewerlof.com/p/cargo-culting">cargo culting</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3ihJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3ihJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3ihJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3ihJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3ihJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3ihJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg" width="763" height="327" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:327,&quot;width&quot;:763,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3ihJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3ihJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3ihJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3ihJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0fbe5ac-ed15-49f0-872e-b9054dfa615d_763x327.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What happened in reality was that they read parts of the book (<a href="https://sre.google/workbook/implementing-slos/">Chapter 2</a> is a favorite) and quickly started implementing. They provisioned APM (application performance monitoring), built/bought observability platforms,  made dashboards and set alerts.</p><p>The tooling aspect is always more attractive for the average engineers than the overarching cultural and mental shifts.</p><p>Fast forward a few years and those dashboards are gathering dust and the only people who care about them are the &#8220;SREs&#8221; who implemented them.</p><p>A common symptom is when leadership aims for a one-size-fit-all solution e.g. measuring availability for all teams regardless of their service.</p><h2><strong>Negative experience</strong></h2><p>I've seen service levels <a href="https://blog.alexewerlof.com/p/why-bother-with-sli-and-slo">being weaponized by leadership</a>, vanity metrics being measured leading to no action or worse: wrong actions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dpfh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dpfh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dpfh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dpfh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dpfh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dpfh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg" width="698" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:698,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dpfh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dpfh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dpfh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dpfh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25044062-261d-4fe8-8853-effba122d7df_698x500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Just because someone abused a tool, it doesn't mean the tool is bad. I&#8217;ve heard multiple stories about companies hiring leaders from big tech only to end up doing the mechanical part (tooling, measuring something, dashboards on TV, etc.) without shifting the deeper belief systems and ways of working.</p><p>Prior negative experience can be a huge obstacle to give service levels another try.</p><p>Service levels measure services, not people or their productivity.</p><h2><strong>Unrealistic expectations</strong></h2><p>Many engineers have a negative experience with transparency (and measurement in general).</p><p>For SLOs to deliver their full potential, we must create a culture that is comfortable with facing the service consumer, measuring impact, transparency, accountability, and <a href="https://blog.alexewerlof.com/p/broken-ownership">full ownership</a>.</p><p>A common symptom is when leadership expectations is far beyond the organization capability. We&#8217;ve covered the rule of 10x/9 <a href="https://blog.alexewerlof.com/p/10x9">here</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xm2e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xm2e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!xm2e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!xm2e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!xm2e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xm2e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png" width="500" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xm2e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!xm2e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!xm2e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!xm2e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f75e88d-e53b-4983-bd7d-85a1e9650d7c_500x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>The SRE stigma</strong></h2><p>The concept of service levels gained popularity with <a href="https://sre.google/books/">Google&#8217;s SRE book</a>. Many organizations don&#8217;t do SRE because &#8220;Platform Engineering deprecated SRE!&#8221;, or &#8220;SRE works at Google&#8221;.</p><p>What is SRE really? I have identified <a href="https://blog.alexewerlof.com/p/sre-archetypes">4 archetypes</a> but it boils down to applying software engineering principles to operations!</p><p>There&#8217;s NOTHING in the service levels as a concept that requires someone with &#8220;SRE&#8221; in their job title.</p><p>If you have a <a href="https://blog.alexewerlof.com/p/service">service</a>, you have a service level, whether you acknowledge, measure, and communicate it or not. And if you have engineers, you should be able to:</p><ul><li><p>Identify the right metric by talking to service consumers</p></li><li><p>Tying responsibility to mandate using alert</p></li><li><p>Normalizing failure and seeing them as learning opportunities</p></li><li><p>Using data to motivate optimization</p></li><li><p>Putting failures in perspective using percentage</p></li><li><p>Using automation to reduce toil</p></li><li><p>etc.</p></li></ul><p>According to Ben Treynor Sloss who coined the term, <a href="https://blog.alexewerlof.com/p/sre-archetypes">SRE is what you get when you put software engineers in charge of operations</a>. So let&#8217;s not overcomplicate it by job titles or even worse: <a href="https://blog.alexewerlof.com/p/breaking-role-to-titles">breaking roles to multiple titles</a>.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/service-level-adoption-obstacles?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">If you found this post insightful, please share it in your circles to inspire others.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.alexewerlof.com/p/service-level-adoption-obstacles?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.alexewerlof.com/p/service-level-adoption-obstacles?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em><a href="https://blog.alexewerlof.com/p/faq#%C2%A7payment">My monetization strategy</a>&nbsp;is to give away most content for free. However, these posts take anywhere from a few hours to a few days to draft, edit, research, illustrate, and publish. I pull these hours from my private time, vacation days and weekends.</em></p><p><em>You can support me by sparing a few bucks for a paid subscription. As a token of appreciation, you get access to the Pro-Tips sections as well as my online book&nbsp;<a href="https://blog.alexewerlof.com/p/rem">Reliability Engineering Mindset</a>. Right now, you can get 20% off via&nbsp;<a href="https://blog.alexewerlof.com/protipsdiscount">this link</a>. You can also <a href="https://blog.alexewerlof.com/leaderboard">invite your friends</a> to gain free access.</em></p>]]></content:encoded></item></channel></rss>