<?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[Reliability Enablers: Hear the Podcast]]></title><description><![CDATA[Audio conversations around reliability, especially around enabling it across teams and organizations]]></description><link>https://read.srepath.com/s/podcast</link><image><url>https://substackcdn.com/image/fetch/$s_!hjhf!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ee1dc2-77bf-4ffa-b056-f66dac8ad0d0_128x128.png</url><title>Reliability Enablers: Hear the Podcast</title><link>https://read.srepath.com/s/podcast</link></image><generator>Substack</generator><lastBuildDate>Fri, 17 Apr 2026 09:38:39 GMT</lastBuildDate><atom:link href="https://read.srepath.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Ash P]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[srepath@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[srepath@substack.com]]></itunes:email><itunes:name><![CDATA[Ash Patel]]></itunes:name></itunes:owner><itunes:author><![CDATA[Ash Patel]]></itunes:author><googleplay:owner><![CDATA[srepath@substack.com]]></googleplay:owner><googleplay:email><![CDATA[srepath@substack.com]]></googleplay:email><googleplay:author><![CDATA[Ash Patel]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[You (and AI) can't automate reliability away]]></title><description><![CDATA[What if the hardest part of reliability has nothing to do with tooling or automation?]]></description><link>https://read.srepath.com/p/you-and-ai-cant-automate-reliability</link><guid isPermaLink="false">https://read.srepath.com/p/you-and-ai-cant-automate-reliability</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 02 Dec 2025 13:03:47 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/179318513/1b715e971fdb5ab78a4c7fd545894f54.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><em>What if the hardest part of reliability has nothing to do with tooling or automation? Jennifer Petoff explains why real reliability comes from the human workflows wrapped around the engineering work.</em></p><p><strong>Everyone seems to think AI will automate reliability away.</strong> </p><p>I keep hearing the same story: </p><p><em>&#8220;Our tooling will catch it.&#8221;</em> </p><p><em>&#8220;Copilots will reduce operational load.&#8221;</em> </p><p><em>&#8220;Automation will mitigate incidents before they happen.&#8221;</em></p><p>But here&#8217;s a hard truth to swallow: AI only automates the mechanical parts of reliability &#8212; the machine in the machine.</p><p><strong>The hard parts haven&#8217;t changed at all.</strong></p><p>You still need teams with clarity on system boundaries.<br>You still need consistent approaches to resolution.<br>You still need postmortems that drive learning rather than blame.</p><p><strong>AI doesn&#8217;t fix any of that.</strong> If anything, it exposes every organizational gap we&#8217;ve been ignoring. And that&#8217;s exactly why I wanted today&#8217;s guest on.</p><p>Jennifer Petoff is Director of Program &#8202;Management for Google Cloud Platform and Technical Infrastructure education.  Every day, she works with SREs at Google, as well as with SREs at other companies through her public speaking and Google Cloud Customer engagements.</p><p>Even if you have never touched GCP, you have still been influenced by her work at some point in your SRE career. She is co-editor of Google&#8217;s original Site Reliability Engineering book from 2016. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EQLo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EQLo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.webp 424w, https://substackcdn.com/image/fetch/$s_!EQLo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.webp 848w, https://substackcdn.com/image/fetch/$s_!EQLo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.webp 1272w, https://substackcdn.com/image/fetch/$s_!EQLo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EQLo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.webp" width="232" height="296.96" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:512,&quot;width&quot;:400,&quot;resizeWidth&quot;:232,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Site Reliability Engineering&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="Site Reliability Engineering" title="Site Reliability Engineering" srcset="https://substackcdn.com/image/fetch/$s_!EQLo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.webp 424w, https://substackcdn.com/image/fetch/$s_!EQLo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.webp 848w, https://substackcdn.com/image/fetch/$s_!EQLo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.webp 1272w, https://substackcdn.com/image/fetch/$s_!EQLo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f293e8-14b4-4dc2-8a3e-e88582286cb9_400x512.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></figure></div><p>Yeah, that one!</p><p>It was my immense pleasure to have her join me to discuss the internal dynamics behind successful reliability initiatives. Here are 5 highlights from our talk:</p><h2>3 issues stifling individual SREs&#8217; work</h2><p>To start, I wanted to know from Jennifer the kinds of <strong>challenges she has seen individual SREs face</strong> when attempting to introduce or reinforce reliability improvements within their teams or the broader organization.</p><p>She categorized these challenges into 3 main categories</p><ol><li><p>Cultural issues (with a look into Westrum&#8217;s typology of organizational culture)</p></li><li><p>Insufficient buy-in from stakeholders</p></li><li><p>Inability to communicate the value of reliability work</p></li></ol><div class="pullquote"><p>Organizations with generative cultures have 30% better organizational performance.</p></div><p>A key highlight from this topic came from her look at DORA research, an annual survey of thousands of tech professionals and the research upon which the book <em>Accelerate</em> is based.</p><p>It showed that organizations with generative cultures have 30% better organizational performance. In other words, you can have the best technology, tools, and processes to get good results, but culture further raises the bar. </p><p>A generative culture also makes it easier to implement the more technical aspects of DevOps or SRE that are associated with improved organizational performance.</p><h2>Hands-on is the best kind of training</h2><p>We then explored structured approaches that ensure consistency, build capability, and deliberately shape reliability culture. As they say &#8211; <em><strong>Culture eats strategy for breakfast!</strong></em></p><p>One key example Jennifer gave was the hands-on approach they take at Google. She believes that <strong>adults learn by doing. In other words, SREs</strong> <strong>gain confidence by</strong> <strong>doing hands-on work</strong>. </p><p>Where possible, training programs should move away from passive listening to lectures toward hands-on exercises that mimic real SRE work, especially troubleshooting.</p><p>One specific exercise that Google has built internally is <strong>Simulating Production Breakages.  </strong></p><p>Engineers undergoing that training have a chance to troubleshoot a real system built for this purpose in a safe environment. </p><p>The results have been profound, with a tremendous amount of confidence that Jennifer&#8217;s team saw in survey results. </p><blockquote><p>This confidence is focused on job-related behaviors, which when repeated over time reinforce that culture of reliability.</p></blockquote><h2>Reliability is mandatory for <em>everybody</em></h2><p>Another thing Jennifer told me Google did differently was making reliability a mandatory part of <em>every </em>engineer&#8217;s curriculum, not only SREs.</p><blockquote><p>When we first spun up the SRE Education team, our focus was squarely on our SREs. However, that&#8217;s like preaching to the choir. SREs are usually bought into reliability. </p><p>A few years in, our leadership was interested in propagating the reliability-focused culture of SRE to all of Google&#8217;s development teams, a challenge an order of magnitude greater than training SREs. </p></blockquote><p>How did they achieve this mandate?</p><ul><li><p>They developed a short and engaging (and mandatory) production safety training</p></li><li><p>That training has now been taken by tens of thousands of Googlers</p></li><li><p>Jennifer attributes this initiative&#8217;s success to how they&#8220;SRE&#8217;ed the program&#8221;. </p><p><em>&#8220;We ran a canary followed by a progressive roll-out. We instituted monitoring and set up feedback loops so that we could learn and drive continuous improvement.&#8221;</em></p></li></ul><p>The result of this massive effort? </p><p>A very respectable 80%+ net promoter score with open text feedback: &#8220;best required training ever.&#8221;</p><pre><code>What made this program successful is that Jennifer and her team SRE&#8217;d its design and iterative improvement. 

You can learn more about &#8220;<strong>How to SRE anything</strong>&#8221; (from work to life) using her rubric: 
https://www.reliablepgm.com/how-to-sre-anything/</code></pre><h2>Reliability gets rewarded just like feature work</h2><p>Jennifer then talked about how Google mitigates a risk that I think every reliability engineer wishes could be solved at their organization. </p><p>That is, having great reliability work rewarded at the same level as great feature work.</p><p>For development and operations teams alike at Google, this means making sure &#8220;grungy work&#8221; like tech debt reduction, automation, and other activities that improve reliability are rewarded equally to shiny new product features. </p><p>Organizational reward programs that recognize outstanding work typically have committees. These committees not only look for excellent feature development work, but also reward and celebrate foundational activities that improve reliability. </p><p>This is explicitly built into the rubric for judging award submissions.</p><h2>Keep a scorecard of reliability performance</h2><p>Jennifer gave another example of how Google judges reliability performance, but more specifically for SRE teams this time. </p><div class="pullquote"><p>Google&#8217;s <strong>Production Excellence (ProdEx) program</strong> was created in 2015 to <strong>assess and improve production excellence (aka reliability improvements)</strong> across SRE teams.</p></div><p>ProdEx acts like a <strong>central scorecard</strong> <strong>to aggregate metrics from various production health domains</strong> to provide a comprehensive overview of an SRE team&#8217;s health and the reliability of the services they manage. </p><p>Here are some specifics from the program:</p><ul><li><p>Domains include SLOs, on-call workload, alerting quality, and postmortem discipline</p></li><li><p>Reviews are conducted live every few quarters by senior SREs (directors or principal engineers) who are not part of the team&#8217;s direct leadership</p></li><li><p>There is a focus on coaching and accountability without shame (to elicit psychological safety)</p></li></ul><p>ProdEx serves various levels of the SRE organization through:</p><ol><li><p>providing strategic situational awareness regarding organizational and system health to leadership <em>and</em></p></li><li><p>keeping forward momentum around reliability and surfacing team-level issues early to support engineers in addressing them</p></li></ol><h2>Wrapping up</h2><p>Having an inside view of reliability mechanisms within a few large organizations, I know that few are actively doing all &#8212; or sometimes any &#8212; of the reliability enhancers that Google uses and Jennifer has graciously shared with us. </p><p>It&#8217;s time to get the ball rolling. What will you do today to make it happen?</p>]]></content:encoded></item><item><title><![CDATA[#67 Why the SRE Book Fails Most Orgs — Lessons from a Google Veteran]]></title><description><![CDATA[Listen now | Dave O'Connor has been an SRE leadership practitioner and coach for many years. Prior to this, he was an SRE and reliability leader at the director-level at Google for close to 16 years.]]></description><link>https://read.srepath.com/p/ex-googler-on-driving-reliability</link><guid isPermaLink="false">https://read.srepath.com/p/ex-googler-on-driving-reliability</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 15 Jul 2025 13:05:13 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/165789886/9c56332d942071a8f50da4da198173da.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>A new or growing SRE team. A copy of the book. A company that says it cares about reliability. <em>What happens next? </em>Usually&#8230; not much.</p><p>In this episode, I sit down with <strong>Dave O&#8217;Connor</strong>, <strong>a 16-year Google SRE veteran</strong>, to talk about what happens when organizations cargo-cult reliability practices without understanding the context they were born in.</p><p>You might know him for his self-deprecating wit and legendary USENIX blurb about being &#8220;complicit in the development of the SRE function.&#8221;</p><p>This one&#8217;s a treat &#8212; less &#8220;here&#8217;s a shiny new tool&#8221; and more &#8220;here&#8217;s what reliability <em>actually</em> looks like when you&#8217;ve seen it all.&#8221;</p><p>&#10024; <em>No vendor plugs from Dave at all, just a good old-fashioned chat about what works and what doesn&#8217;t.</em></p><p>Here&#8217;s what we dive into:</p><ul><li><p><strong>The adoption trap</strong>: Why SRE efforts often fail before they begin&#8212;especially when new hires care more about reliability than the org ever intended.</p></li><li><p><strong>The SRE book dilemma</strong>: Dave&#8217;s take on why following the SRE book chapter-by-chapter is a trap for most companies (and what to do instead).</p></li><li><p><strong>The cost of &#8220;caring too much&#8221;</strong>: How engineers burn out trying to force reliability into places it was never funded to live.</p></li><li><p><strong>You build it, you run it (but should you?)</strong>: Not everyone&#8217;s cut out for incident command&#8212;and why pretending otherwise sets teams up to fail.</p></li><li><p><strong>Buying vs. building</strong>: The real reason even conservative enterprises are turning into software shops &#8212; and the reliability nightmare that follows.</p></li></ul><p>We also discuss the evolving role of reliability in organizations today, from being mistaken for &#8220;just ops&#8221; to becoming a strategic investment (when done right).</p><p>Dave's seen the waves come and go in SRE &#8212; and he's still optimistic. That alone is worth a listen.</p>]]></content:encoded></item><item><title><![CDATA[#66 - Unpacking 2025 SRE Report’s Damning Findings ]]></title><description><![CDATA[This episode was prompted by the 2025 Catchpoint SRE Report, which dropped some damning but all-too-familiar findings. Sebastian joined me for this episode so you know it'll have great insights.]]></description><link>https://read.srepath.com/p/unpacking-2025-sre-reports-damning</link><guid isPermaLink="false">https://read.srepath.com/p/unpacking-2025-sre-reports-damning</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 01 Jul 2025 01:10:26 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/165791277/d94303c52fc563110b9a2ed26846b24f.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>I know it&#8217;s already six months into 2025, but we recorded this almost three months ago. I&#8217;ve been busy with my foray into the world of tech consulting and training &#8212;and, well, editing these podcast episodes takes time and care.</p><p>This episode was prompted by the <strong>2025 Catchpoint SRE Report</strong>, which dropped some damning but all-too-familiar findings:</p><ul><li><p><strong>53% of orgs still define reliability as uptime only</strong>, ignoring degraded experience and hidden toil</p></li><li><p><strong>Manual effort is creeping back in</strong>, reversing five years of automation gains</p></li><li><p><strong>41% of engineers feel pressure to ship fast</strong>, even when it undermines long-term stability</p></li></ul><p>To unpack what this actually means inside organizations, I sat down with <strong>Sebastian Vietz</strong>, Director of Reliability Engineering at Compass Digital and co-host of the Reliability Enablers podcast. </p><p>Sebastian doesn&#8217;t just talk about technical fixes &#8212; he focuses on the organizational frictions that stall change, burn out engineers, and leave &#8220;reliability&#8221; as a slide deck instead of a lived practice.</p><p>We dig into:</p><ul><li><p>How SREs get stuck as messengers of inconvenient truths</p></li><li><p>What it really takes to move from advocacy to adoption &#8212; without turning your whole org into a cost center</p></li><li><p>Why tech is more like <em>milk</em> than <em>wine</em> (Sebastian explains)</p></li><li><p>And how SREs can strengthen&#8212;not compete with&#8212;security, risk, and compliance teams</p></li></ul><p>This one&#8217;s for anyone tired of reliability theatrics. No kumbaya around K8s here. Just an exploration of the messy, human work behind making systems and teams more resilient.</p>]]></content:encoded></item><item><title><![CDATA[#65 - In Critical Systems, 99.9% Isn’t Reliable — It’s a Liability]]></title><description><![CDATA[In most SaaS, 99.9% uptime gets you promoted. In critical infrastructure like the energy sector, it gets flagged as a failure mode.]]></description><link>https://read.srepath.com/p/65-in-critical-systems-999-isnt-reliable</link><guid isPermaLink="false">https://read.srepath.com/p/65-in-critical-systems-999-isnt-reliable</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 17 Jun 2025 13:05:09 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/165835533/0767760aa43e11aa1fa534b9bf7af421.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Most teams talk about reliability with a margin for error. &#8220;What&#8217;s our SLO? What&#8217;s our budget for failure?&#8221; </p><p>But in the energy sector? <strong>There is no acceptable downtime. Not even a little.</strong></p><p>In this episode, I talk with <strong>Wade Harris, Director of FAST Engineering in Australia</strong>, who&#8217;s spent 15+ years designing and rolling out monitoring and control systems for critical energy infrastructure like power stations, solar farms, SCADA networks, you name it.</p><p>What makes this episode different is that Wade isn&#8217;t a reliability engineer by title, but it&#8217;s baked into everything his team touches. And that matters more than ever as software creeps deeper into operational technology (OT), and the cloud tries to stake its claim in critical systems.</p><p>We cover:</p><ul><li><p>Why <strong>100% uptime is the minimum bar</strong>, not a stretch goal</p></li><li><p>How the rise of renewables has <strong>increased system complexity</strong> &#8212; and what that means for monitoring</p></li><li><p>Why <strong>bespoke integration and SCADA spaghetti</strong> are still normal (and here to stay)</p></li><li><p>The <strong>reality of cloud risk</strong> in critical infrastructure (&#8220;the cloud is just someone else&#8217;s computer&#8221;)</p></li><li><p>What software engineers need to understand if they want their products used in serious environments</p></li></ul><p>This isn&#8217;t about observability dashboards or DevOps rituals. This is reliability <strong>when the lights go out and people risk getting hurt</strong> if you get it wrong.</p><p>And it&#8217;s a reminder: not every system lives in a feature-driven world. Some systems just have to work. Always. No matter what.</p>]]></content:encoded></item><item><title><![CDATA[#64 - Using AI to Reduce Observability Costs]]></title><description><![CDATA[Exploring how to manage observability tool sprawl, reduce costs, and leverage AI to make smarter, data-driven decisions.]]></description><link>https://read.srepath.com/p/64-using-ai-to-reduce-observability</link><guid isPermaLink="false">https://read.srepath.com/p/64-using-ai-to-reduce-observability</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 28 Jan 2025 14:03:35 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/155579851/21d55b415ca03894981571709c73bff5.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><em>Exploring how to manage observability tool sprawl, reduce costs, and leverage AI to make smarter, data-driven decisions.</em></p><div><hr></div><p>It's been a hot minute since the last episode of the Reliability Enablers podcast.</p><p>Sebastian and I have been working on a few things in our realms. On a personal <em>and </em>work front, I&#8217;ve been to over 25 cities in the last 3 months and need a breather.</p><p>Meanwhile, listen to this interesting vendor, Ruchir Jha from Cardinal, working on the cutting edge of o11y to help reduce costs from spiraling out of control. </p><p>(To the skeptics, he did not pay me for this episode)</p><p>Here&#8217;s an AI-generated summary of what you can expect in our conversation:</p><p>In this conversation, we explore cutting-edge approaches to FinOps i.e. cost optimization for observability. </p><p>You'll hear about three pressing topics:</p><ol><li><p><strong>Managing Tool Sprawl</strong>: Insights into the common challenge of juggling 5-15 tools and how to identify which ones deliver real value.</p></li><li><p><strong>Reducing Observability Costs</strong>: Techniques to track and trim waste, including how to uncover cost hotspots like overused or redundant metrics.</p></li><li><p><strong>AI for Observability Decisions</strong>: Practical ways AI can simplify complex data, empowering non-technical stakeholders to make informed decisions.</p></li></ol><p>We also touch on the balance between open-source solutions like OpenTelemetry and commercial observability tools. </p><p>Learn how these strategies, informed by Ruchir's experience at Netflix, can help streamline observability operations and cut costs without sacrificing reliability.</p>]]></content:encoded></item><item><title><![CDATA[#63 - Does "Big Observability" Neglect Mobile?]]></title><description><![CDATA[Andrew Tunall is a product engineering leader focused on pushing the boundaries of reliability with a current focus on mobile observability.]]></description><link>https://read.srepath.com/p/63-mobile-apps-and-how-observability</link><guid isPermaLink="false">https://read.srepath.com/p/63-mobile-apps-and-how-observability</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 12 Nov 2024 13:03:12 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/151260045/334ab290bb5ba3269054b9dba051f92d.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Andrew Tunall is a product engineering leader focused on pushing the boundaries of reliability with a current focus on mobile observability. Using his experience from AWS and New Relic, he&#8217;s vocal about the need for a more user-focused observability, especially in mobile, where traditional practices fall short. </p><p></p><ol><li><p><strong>Career Journey and Current Role</strong>: Andrew Tunall, now at Embrace, a mobile observability startup in Portland, Oregon, started his journey at AWS before moving to New Relic. He shifted to a smaller, Series B company to learn beyond what corporate America offered.</p></li><li><p><strong>Specialization in Mobile Observability</strong>: At Embrace, Andrew and his colleagues build tools for consumer mobile apps, helping engineers, SREs, and DevOps teams integrate observability directly into their workflows.</p></li><li><p><strong>Gap in Mobile Observability</strong>: Observability for mobile apps is still developing, with early tools like Crashlytics only covering basic crash reporting. Andrew highlights that more nuanced data on app performance, crucial to user experience, is often missed.</p></li><li><p><strong>Motivation for User-Centric Tools</strong>: Leaving &#8220;big observability&#8221; to focus on mobile, Andrew prioritizes tools that directly enhance user experience rather than backend metrics, aiming to be closer to end-users.</p></li><li><p><strong>Mobile's Role as a Brand Touchpoint</strong>: He emphasizes that for many brands, the primary consumer interaction happens on mobile. Observability needs to account for this by focusing on user experience in the app, not just backend performance.</p></li><li><p><strong>Challenges in Measuring Mobile Reliability</strong>: Traditional observability emphasizes backend uptime, but Andrew sees a gap in capturing issues that affect user experience on mobile, underscoring the need for end-to-end observability.</p></li><li><p><strong>Observability Over-Focused on Backend Systems</strong>: Andrew points out that &#8220;big observability&#8221; has largely catered to backend engineers due to the immense complexity of backend systems with microservices and Kubernetes. Despite mobile being a primary interface for apps like Facebook and Instagram, observability tools for mobile lag behind backend-focused solutions.</p></li><li><p><strong>Lack of Mobile Engineering Leadership in Observability</strong>: Reflecting on a former Meta product manager&#8217;s observations, Andrew highlights the lack of VPs from mobile backgrounds, which has left a gap in observability practices for mobile-specific challenges. This gap stems partly from frontend engineers often seeing themselves as creators rather than operators, unlike backend teams.</p></li><li><p><strong>OpenTelemetry&#8217;s Limitations in Mobile</strong>: While OpenTelemetry provides basic instrumentation, it falls short in mobile due to limited SDK support for languages like Kotlin and frameworks like Unity, React Native, and Flutter. Andrew emphasizes the challenges of adapting OpenTelemetry to mobile, where app-specific factors like memory consumption don&#8217;t align with traditional time-based observability.</p></li><li><p><strong>SREs as Connective Tissue</strong>: Andrew views Site Reliability Engineers (SREs) as essential in bridging backend observability practices with frontend user experience needs. Whether through service level objectives (SLOs) or similar metrics, SREs help ensure that backend metrics translate into positive end-user experiences&#8212;a critical factor in retaining app users.</p></li><li><p><strong>Amazon&#8217;s Operational Readiness Review</strong>: Drawing from his experience at AWS, Andrew values Amazon&#8217;s practice of operational readiness reviews before launching new services. These reviews encourage teams to anticipate possible failures or user experience issues, weighing risks carefully to maintain reliability while allowing innovation.</p></li><li><p><strong>Shifting Focus to &#8220;Answerability&#8221; in Observability</strong>: For Andrew, the goal of observability should evolve toward &#8220;answerability,&#8221; where systems provide engineers with actionable answers rather than mere data. He envisions a future where automation or AI could handle repetitive tasks, allowing engineers to focus on enhancing user experiences instead of troubleshooting.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[#62 - Early Youtube SRE shares Modern Reliability Strategy]]></title><description><![CDATA[Hear about Andrew Fong's thoughts on modern SRE as an early employee at Youtube, VP of Infra @ Dropbox, co-founder of a cloud infra startup and Senior Director of Engineering at Databricks.]]></description><link>https://read.srepath.com/p/62-early-youtube-sre-shares-modern</link><guid isPermaLink="false">https://read.srepath.com/p/62-early-youtube-sre-shares-modern</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 05 Nov 2024 13:40:50 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/151182017/df3b19cd2e88d6c3cefe0b329d5b3e86.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Andrew Fong&#8217;s take on engineering cuts through the usual role labels, urging teams to start with the problem they&#8217;re solving instead of locking into rigid job titles. He sees reliability, inclusivity, and efficiency as the real drivers of good engineering. </p><p>In his view, SRE is all about keeping systems reliable and healthy, while platform engineering is geared toward speed, developer enablement, and keeping costs in check. It&#8217;s a values-first, practical approach to tackling tough challenges that engineers face every day.</p><p>Here&#8217;s a slightly deeper dive into the concepts we discussed:</p><ol><li><p><strong>Career and Evolution in Tech</strong>: Andrew shares his journey through various roles, from early SRE at Youtube to VP of Infrastructure at Dropbox to Director of Engineering at Databricks, with extensive experience in infrastructure through three distinct eras of the internet. He emphasized the transition from early infrastructure roles into specialized SRE functions, noting the rise of SRE as a formalized role and the evolution of responsibilities within it.</p></li><li><p><strong>Building Prodvana and the Future of SRE</strong>: As CEO of startup, Prodvana, they're focused on an "intelligent delivery system" designed to simplify production management for engineers, addressing cognitive overload. They highlight SRE as a field facing new demands due to AI, discussing insights shared with Niall Murphy and Corey Bertram around AI's potential in the space, distinguishing it from "web three" hype, and affirming that while AI will transform SRE, it will not eliminate it.</p></li><li><p><strong>Challenges of Migration and Integration</strong>: Reflecting on experiences at YouTube post-acquisition by Google, the speaker discusses the challenges of migrating YouTube&#8217;s infrastructure onto Google&#8217;s proprietary, non-thread-safe systems. This required extensive adaptation and &#8220;glue code,&#8221; offering insights into the intricacies and sometimes rigid culture of Google&#8217;s engineering approach at that time.</p></li><li><p><strong>SRE&#8217;s Shift Toward Reliability as a Core Feature</strong>: The speaker describes how SRE has shifted from system-level automation to application reliability, with growing recognition that reliability is a user-facing feature. They emphasize that leadership buy-in and cultural support are essential for organizations to evolve beyond reactive incident response to proactive, reliability-focused SRE practices.</p></li><li><p><strong>Organizational Culture and Leadership Influence</strong>: Leadership&#8217;s role in SRE success is highlighted as crucial, with examples from Dropbox and Google emphasizing that strong, supportive leadership can shape positive, reliability-centered cultures. The speaker advises engineers to gauge leadership attitudes towards SRE during job interviews to find environments where reliability is valued over mere incident response.</p></li><li><p><strong>Outcome-Focused Work Over Titles</strong>: Emphasis on assembling the right team based on skills, not titles, to solve technical problems effectively. Titles often distract from focusing on outcomes, and fostering a problem-solving culture over role-based thinking accelerates teamwork and results.</p></li><li><p><strong>Engineers as Problem Solvers</strong>: Engineers, especially natural ones, generally resist job boundaries and focus on solving problems rather than sticking rigidly to job descriptions. This echoes how iconic engineers like Steve Jobs valued versatility over predefined roles.</p></li><li><p><strong>Culture as Core Values</strong>: Organizational culture should be driven by core values like reliability, efficiency, and inclusivity rather than rigid processes or roles. For instance, Dropbox's infrastructure culture emphasized being a &#8220;force multiplier&#8221; to sustain product velocity, an approach that ensured values were integrated into every decision.</p></li><li><p><strong>Balancing SRE and Platform Priorities</strong>: The fundamental difference between SRE (Site Reliability Engineering) and platform engineering is their focus: SRE prioritizes reliability, while platform engineering is geared toward increasing velocity or reducing costs. Leaders must be cautious when assigning both roles simultaneously, as each requires a distinct focus and expertise.</p></li><li><p><strong>Strategic Trade-Offs in Smaller Orgs</strong>: In smaller companies with limited resources, leaders often face challenges balancing cost, reliability, and other objectives within single roles. It's advised to sequence these priorities rather than burden one individual with conflicting objectives. Prioritizing platform stability, for example, can help improve reliability in the long term.</p></li><li><p><strong>DevOps as a Philosophy</strong>: DevOps is viewed here as an operational philosophy rather than a separate role. The approach enhances both reliability and platform functions by fostering a collaborative, efficient work culture.</p></li><li><p><strong>Focus Investments for Long-Term Gains</strong>: Strategic technology investments, even if they might temporarily hinder short-term metrics (like reliability), can drive long-term efficiency and reliability improvements. For instance, Dropbox invested in a shared metadata system to enable active-active disaster recovery, viewing this as essential for future reliability.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[#61 Scott Moore on SRE, Performance Engineering, and More]]></title><description><![CDATA[Scott's got a few interesting things to say about these topics and software operations in general!]]></description><link>https://read.srepath.com/p/61-scott-moore-on-sre-performance</link><guid isPermaLink="false">https://read.srepath.com/p/61-scott-moore-on-sre-performance</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 22 Oct 2024 11:24:50 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/150400932/37055ad2597cbf99d5955d8cca950aa0.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p></p>]]></content:encoded></item><item><title><![CDATA[#60 How to NOT fail in Platform Engineering]]></title><description><![CDATA[Ankit Wal from ThoughtWorks Asia Pacific gave me the inside word on this hot topic]]></description><link>https://read.srepath.com/p/60-how-to-not-fail-in-platform-engineering</link><guid isPermaLink="false">https://read.srepath.com/p/60-how-to-not-fail-in-platform-engineering</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 01 Oct 2024 13:01:34 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/149602222/f1990dbfa464f6d47fb1626c9cdd62db.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Here&#8217;s what we covered:</p><h3>Defining Platform Engineering</h3><ul><li><p><strong>Platform engineering</strong>: Building compelling internal products to help teams reuse capabilities with less coordination.</p></li><li><p><strong>Cloud computing connection</strong>: Enterprises can now compose platforms from cloud services, creating mature, internal products for all engineering personas.</p></li></ul><h3>Ankit&#8217;s career journey</h3><ul><li><p>Didn't choose platform engineering; it found him.</p></li><li><p>Early start in programming (since age 11).</p></li><li><p>Transitioned from a product engineer mindset to building internal tools and platforms.</p></li><li><p>Key experience across startups, the public sector, unicorn companies, and private cloud projects.</p></li></ul><h3>Singapore Public Sector Experience</h3><ul><li><p><strong>Public sector</strong>: Highly advanced digital services (e.g., identity services for tax, housing).</p></li><li><p><strong>Exciting environment</strong>: Software development in Singapore&#8217;s public sector is fast-paced and digitally progressive.</p></li></ul><h3>Platform Engineering Turf Wars</h3><ul><li><p><strong>Turf wars</strong>: Debate among DevOps, SRE, and platform engineering.</p><ul><li><p><strong>DevOps</strong>: Collaboration between dev and ops to think systemically.</p></li><li><p><strong>SRE</strong>: Operations done the software engineering way.</p></li><li><p><strong>Platform engineering</strong>: Delivering operational services as internal, self-service products.</p></li></ul></li></ul><h3>Dysfunctional Team Interactions</h3><ul><li><p><strong>Issue</strong>: Requiring tickets to get work done creates bottlenecks.</p><ul><li><p><strong>Ideal state</strong>: Teams should be able to work autonomously without raising tickets.</p></li><li><p><strong>Spectrum of dysfunction</strong>: From one ticket for one service to multiple tickets across teams leading to delays and misconfigurations.</p></li></ul></li></ul><h3>Quadrant Model (Autonomy vs. Cognitive Load)</h3><ul><li><p><strong>Challenge</strong>: Balancing user autonomy with managing cognitive load.</p></li><li><p><strong>Goal</strong>: Enable product teams with autonomy while managing cognitive load.</p></li><li><p><strong>Solution</strong>: Platforms should abstract unnecessary complexity while still giving teams the autonomy to operate independently.</p><h3>How it pans out</h3><ul><li><p><strong>Low autonomy, low cognitive load</strong>: Dependent on platform teams but a simple process.</p></li><li><p><strong>Low autonomy, high cognitive load</strong>: Requires interacting with multiple teams and understanding technical details (worst case).</p></li><li><p><strong>High autonomy, high cognitive load</strong>: Teams have full access (e.g., AWS accounts) but face infrastructure burden and fragmentation.</p></li><li><p><strong>High autonomy, low cognitive load</strong>: Ideal situation&#8212;teams get what they need quickly without detailed knowledge.</p></li></ul></li></ul><h3>Shift from Product Thinking to Cognitive Load</h3><ul><li><p><strong>Cognitive load focus</strong>: More important than just product thinking&#8212;consider the human experience when using the system.</p></li><li><p><strong>Team Topologies</strong>: Mentioned as a key reference on this concept of cognitive load management.</p></li></ul><h3>Platform as a Product Mindset</h3><ul><li><p><strong>Collaboration</strong>: Building the platform in close collaboration with initial users (pilot teams) is crucial for success.</p></li><li><p><strong>Product Management</strong>: Essential to have a product manager or team dedicated to communication, user journeys, and internal marketing.</p></li></ul><h3>Self-Service as a Platform Requirement</h3><ul><li><p><strong>Definition</strong>: Users should easily discover, understand, and use platform capabilities without human intervention.</p></li><li><p><strong>User Testing</strong>: Watch how users interact with the platform to understand stumbling points and improve the self-service experience.</p></li></ul><h3>Platform Team Cognitive Load</h3><ul><li><p><strong>Burnout Prevention</strong>: Platform engineers need low cognitive load as well. Moving from a reactive (ticket-based) model to a proactive, self-service approach can reduce the strain.</p></li><li><p><strong>Proactive Approach</strong>: Self-service models allow platform teams to prioritize development and avoid being overwhelmed by constant requests.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[#59 Who handles monitoring in your team and how?]]></title><description><![CDATA[Monitoring responsibilities vary between organizations, and how your team handles them might differ significantly from others, especially companies like Google.]]></description><link>https://read.srepath.com/p/59-who-handles-monitoring-in-your</link><guid isPermaLink="false">https://read.srepath.com/p/59-who-handles-monitoring-in-your</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 24 Sep 2024 11:35:49 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/149286810/e9971afe5b1fd5e3e4822b8c8923c90a.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<h2>Why many copy Google&#8217;s monitoring team setup</h2><ol><li><p><strong>Google&#8217;s Influence. </strong>Google played a key role in defining the concept of software reliability.</p></li><li><p><strong>Success in Reliability.</strong> Few can dispute Google&#8217;s ability to ensure high levels of reliability <em>and</em> its ability to share useful ways to improve it in other settings</p><p></p><p><em><strong>BUT there&#8217;s a problem:</strong></em></p></li><li><p><strong>It&#8217;s not always replicable.</strong> While Google's practices are admired, they may not be a perfect fit for every team.</p></li></ol><h2>What is Google&#8217;s monitoring approach within teams?</h2><p>Here&#8217;s the thing that Google does:</p><ul><li><p>Google assigns one or two people per team to manage monitoring.</p></li><li><p>Even with centralized infrastructure, a dedicated person handles monitoring.</p></li><li><p>Many organizations use a separate observability team, unlike Google's integrated approach</p></li></ul><p>If your org is large enough <em>and</em> prioritizes reliability highly enough, you might find it feasible to follow Google&#8217;s model to the tee. </p><p>Otherwise, a centralized team with occasional &#8220;embedded x engineer&#8221; secondments might be more effective.</p><h2>Can your team mimic Google&#8217;s model?</h2><p>Here are a few things you should factor in:</p><h3>Size matters</h3><p>Google's model works because of its scale and technical complexity. Many organizations don&#8217;t have the size, resources, or technology to replicate this.</p><h3>What are the options for your team?</h3><h4>Dedicated monitoring team (very popular but $$$)</h4><p>If you have the resources, you might create a dedicated observability team. This might call for a ~$500k+ personnel budget so it&#8217;s not something that a startup or SME can easily justify. </p><h4>Dedicate SREs to monitoring work (effective but difficult to manage)</h4><p>You might do this on rotation or make an SRE permanently &#8220;responsible for all monitoring matters&#8221;. Putting SREs on permanent tasks might lead to burnout as it might not suit their goals, and rotation work requires effective planning.</p><h4>Internal monitoring experts (useful but hard capability)</h4><p>One or more engineers within teams could take on monitoring/observability responsibilities as needed and support the team&#8217;s needs. This should be how we get monitoring work done, but it&#8217;s hard to get volunteers across a majority of teams. </p><h2>Transitioning monitoring from project work to maintenance</h2><h3>2 distinct phases</h3><h4>Initial Setup (the &#8220;project&#8221;) </h4><p>SREs may help set up the monitoring/observability infrastructure. </p><p>Since they have breadth of knowledge across systems, they can help connect disparate services and instrument applications effectively.</p><h4>Post-project phase (&#8220;keep the lights on&#8221;)</h4><p>Once the system is up, the focus shifts from project mode to ongoing operational tasks. But who will do that?</p><h3>Who will maintain the monitoring system?</h3><h4>Answer: usually not the same team</h4><p>After the project phase, a new set of people&#8212;often different from the original team&#8212;typically handles maintenance.</p><h4>Options to consider (once again)</h4><ol><li><p><strong>Spin up a monitoring/observability team.</strong> Create a dedicated team for observability infrastructure.</p></li><li><p><strong>Take a decentralized approach. </strong>Engineers across various teams take on observability roles as part of their regular duties.</p></li><li><p><strong>Internal monitoring/observability experts.</strong> They can take responsibility for monitoring and ensure best practices are followed.</p></li></ol><p>The key thing to remember here is&#8230;</p><h3>Adapt to Your Organizational Context</h3><h4>One size doesn&#8217;t fit all</h4><p>Google's model may not work for everyone. Tailor your approach based on your organization&#8217;s specific needs.</p><h4>The core principle to keep in mind</h4><p>As long as people understand why monitoring/observability matters and pay attention to it, you're on the right track.</p><h4>Work according to engineer awareness</h4><p><em><strong>If engineers within product and other non-operations teams are aware of monitoring:</strong> </em>You can attempt to **decentralize the effort** and involve more team members.</p><p><em><strong>If awareness or interest is low:</strong></em><strong> c</strong>onsider **dedicated observability roles** or an SRE team to ensure monitoring gets the attention it needs.</p><h2>In conclusion</h2><p>There&#8217;s no universal solution. </p><p>Whether you centralize or decentralize monitoring depends on your team&#8217;s structure, size, and expertise. </p><p>The important part is ensuring that observability practices are understood and implemented in a way that works best for your organization.</p><div><hr></div><p>PS. Rather than spend an hour on writing, I decided to write in the style I normally use in a work setting i.e. &#8220;executive short-hand&#8221;. Tell me what you think.</p>]]></content:encoded></item><item><title><![CDATA[#58 Fixing Monitoring's Bad Signal-to-Noise Ratio]]></title><description><![CDATA[Sebastian and I looked further into common pitfalls in monitoring. A major issue is the poor signal-to-noise ratio of data. This often results from having too much irrelevant... (read below)]]></description><link>https://read.srepath.com/p/58-fixing-monitorings-bad-signal</link><guid isPermaLink="false">https://read.srepath.com/p/58-fixing-monitorings-bad-signal</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 17 Sep 2024 12:13:22 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/148997261/9271a7ba5a94bf6df96c07d83a9078a1.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Monitoring in the software engineering world continues to grapple with poor signal-to-noise ratios. It&#8217;s a challenge that&#8217;s been around since the beginning of software development and will persist for years to come. </p><p>The core issue is the overwhelming noise from non-essential data, which floods systems with useless alerts. </p><p>This interrupts workflows, affects personal time, and even disrupts sleep.</p><p>Sebastian dove into this problem, highlighting that the issue isn't just about having meaningless pages but also the struggle to find valuable information amidst the noise. </p><p>When legitimate alerts get lost in a sea of irrelevant data, pinpointing the root cause becomes exceptionally hard.</p><p>Sebastian proposes a fundamental fix for this data overload: <strong>be deliberate with the data you emit.</strong> </p><p>When instrumenting your systems, be intentional about what data you collect and transport. </p><p>Overloading with irrelevant information makes it tough to isolate critical alerts and find the one piece of data that indicates a problem.</p><p>To combat this, focus on:</p><ol><li><p><strong>Being Deliberate with Data</strong>. Make sure that every piece of telemetry data serves a clear purpose and aligns with your observability goals.</p></li><li><p><strong>Filtering Data Effectively</strong>. Improve how you filter incoming data to eliminate less relevant information and retain what's crucial.</p></li><li><p><strong>Refining Alerts</strong>. Optimize alert rules such as creating tiered alerts to distinguish between critical issues and minor warnings.</p></li></ol><p>Dan Ravenstone, who leads platform at Top Hat, discussed &#8220;triaging alerts&#8221; recently.</p><p> He shared that managing millions of alerts, often filled with noise, is a significant issue. </p><p>His advice: <strong>scrutinize alerts for value, ensuring they meet the criteria of a good alert, and discard those that don&#8217;t impact the user journey</strong>.</p><p>According to Dan, the anatomy of a good alert includes:</p><ul><li><p>A run book</p></li><li><p>A defined priority level</p></li><li><p>A corresponding dashboard</p></li><li><p>Consistent labels and tags</p></li><li><p>Clear escalation paths and ownership</p></li></ul><p>To elevate your approach, consider using aggregation and correlation techniques to link otherwise disconnected data, making it easier to uncover patterns and root causes.</p><p>The learning point is simple: <strong>aim for quality over quantity.</strong> </p><p>By refining your data practices and focusing on what's truly valuable, you can enhance the signal-to-noise ratio, ultimately allowing more time for deep work rather than constantly managing incidents.</p>]]></content:encoded></item><item><title><![CDATA[#57 How Technical Leads Support Software Reliability]]></title><description><![CDATA[You might be familiar with the term, &#8220;technical lead&#8221;. You might even be working with one or a few right now. But how well do you know their ability to support your reliability work?]]></description><link>https://read.srepath.com/p/57-how-technical-leads-support-software</link><guid isPermaLink="false">https://read.srepath.com/p/57-how-technical-leads-support-software</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 10 Sep 2024 12:10:22 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/148676546/8510cd70601fee529f8e83dbc8905a1a.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>The question then condenses down to: <em>Can technical leads support reliability work?</em> </p><p>Yes, they can! </p><p>Anemari has been a technical lead for years &#8212; even spending a few years doing that at the coveted consultancy, Thoughtworks &#8212; and now coaches others. </p><p>She and I discussed the link between this role and software reliability.</p><h2>Technical lead &#8800; Engineering manager</h2><p>According to Anemari, a tech lead is a person with technical knowledge who is responsible for leading a technical team to align them with a common technical strategy. </p><p>For the most part, engineering managers are focused on the people aspect of the work. They coach engineers and other technical folk to improve their performance. </p><p><strong>In terms of activities, engineering managers</strong> coach, mentor, and support the development of their team members or direct reports. They&#8217;ll also go and bat for the team within the organization. </p><p><strong>Technical leads are more focused on</strong> guiding the technical work that these people do. Their focus includes work like architecture, design patterns, and implementing projects. They offer technical insights and mentorship to the team.</p><p>Anemari found in her work experience that the use of technical leads depends from company to company:</p><blockquote><p>I've worked with teams that don't have tech leads and then the engineering manager takes a more hands-on approach. Then you have teams where you have a tech lead only focused on tech, and then you have like a team lead or engineering manager, doing the people side.</p></blockquote><p>Interestingly, she found that it was very difficult to singularly focus on the technical side of the work:</p><blockquote><p>[Even] if you only want to focus on tech as a tech lead, you still end up having to deal with the people side because most tech problems are people problems in the end and so you kind of require both.  </p></blockquote><h2>How can technical leads drive reliability principles?</h2><p>Anemari advised me that tech leads are often required to think about reliability principles as part of their technical strategy.</p><p>Sometimes, teams don&#8217;t have an SRE team supporting them and are operating in a <strong>&#8220;you build it, you run it&#8221; mode. In this situation, reliability becomes a 90+ percent responsibility of the team.</strong></p><p>In other words, the product team has had to develop the reliability-focused knowledge required to build and run their product reliably.</p><p>The technical lead can help the less experienced team members pick up reliability concepts and not just have that mindset of creating more features and making the burndown chart look pretty.</p><p>However, their preference usually goes on working with a Site Reliability Engineering (SRE) team if it is possible.</p><h2>Working with reliability teams like SREs </h2><p>Anemari believes it&#8217;s important to be aware of reliability principles. She put it as knowing:</p><div class="pullquote"><p>What does it mean for my product to be reliable?</p></div><p>So, the first critical step is to align your definition of reliability from pondering this question with the known constraints of the product. These constraints can be:</p><ul><li><p>performance limits</p></li><li><p>operational environments</p></li><li><p>user expectations</p></li></ul><p>Anemari went on in our conversation to challenge the notion of simply stating reliability requirements to product teams. </p><p>It may seem obvious to reliability folk, but it&#8217;s one thing in a very large pile of considerations for a product team:</p><blockquote><p>So I think it's important when we're talking about [reliability]&#8230; when we're talking about uptime, like, what does that mean? And why do we need 99 percent or whatever?</p></blockquote><p>The onus falls on reliability engineers to support this thinking.</p><p>Technical leads can be a good point of contact for that initial conversation of alignment. The reliability team can advise about the standards we mentioned before. </p><p>So <strong>the</strong> <strong>first step is co-creating a common version of reliability</strong>. </p><p>The second step is continuous communication between the product and reliability teams. Anemari believes there must be an easy way for either party to communicate with the other.</p><p>&#8220;Creating a ticket&#8221; to reach the reliability team or vice versa does not work well.</p><p>Anemari has seen having a Slack channel between the SRE team and each product team as something that has worked well. </p><blockquote><p>You can go in there, pop up a question and take it from there and solve problems.</p></blockquote><p>Anemari is also a fan of the embedded SRE model.</p><blockquote><p>If you have to build something new from scratch and you have to build a whole infrastructure, another strategy that I've seen is bringing a person with SRE knowledge [into] the team for a while, helping us define [technical work] and being hands on.</p></blockquote><p>A long-term embedded SRE, however, might be an antipattern.</p><blockquote><p>I&#8217;ve had some teams that had an SRE team member&#8230; all the time, but I&#8217;ve also seen them struggle with the fact that at some point  there is not so much to do.</p></blockquote><p>An embedded SRE should be brought in to enable the teams to do more and take care of their products  By training the team on reliability topics &#8212; even at a high level &#8212; like understanding all the different dashboards that they have.</p><h2>What can SREs do better to support product teams with reliability efforts?</h2><p>Anemari told me that it would be great if SREs first put more effort into helping the product team understand why reliability is so important. It&#8217;s obvious to us in this space, but as I mentioned earlier, people have n+100 other things on their minds.</p><p>Product teams need to be made more aware of what the reliability engineers are taking care of and how that can affect their products. </p><p>There needs to be more conversation than what Anemari has experienced in a lot of encounters with SRE teams:</p><blockquote><p>The SRE teams are like, &#8220;Just give it to us. We'll take care of it. You know, like,   we, we know what to do. I don't have to explain all of these things to you.&#8221; </p></blockquote><p>She found it more effective to sit down with the reliability team and try to understand what might seem trivial, but are important questions like:</p><ul><li><p>Why is our service not processing enough requests and how can we change it?</p></li><li><p>Why can we just drop this?</p></li><li><p>Why do we need to have all of these services? </p></li></ul><p>Asking these kinds of questions helped the collaborators come up with a better solution than what the SRE team could come up with on their own.</p><p>Anemari has seen in the past when an SRE team came in and introduced themselves to the product team. They then covered how their services ran in the background. This led the product team to ask questions to brainstorm on what could be improved.</p><p>The intentionality is important: the SRE team did not come with horns blaring that they were going to change the systems. They came in to discuss and brainstorm ideas. </p><h2>But will the software engineers cooperate?</h2><p>A lot of  SREs I've spoken with are frustrated and think developer teams do not want to understand reliability.</p><p>But I'm sure at least <em>some</em> teams want to understand how reliability works. </p><p>Sometimes you have to just swallow that bitter pill and say, &#8220;Hey, look, I'm going to spell every single thing I'm doing out to you, just so that maybe in the future you can do it yourself.&#8221; </p><p>I think a lot of developers remember their early days and want to be able to run their product entirely on their own. </p><p>Anemari confirmed with her experience that developers want to have full power over what's happening with their product. Dependency is not necessarily something developers like very much.</p><p>There's of course the consideration of the learning journey.  </p><blockquote><p>There's that sweet spot that is hard to find early on, &#8220;How much do I need to know? Like, do I need to become an SRE expert now to run my service? Or how much do I need to know to just run  my service?&#8221; </p></blockquote><p>Anemari recalled one particular high-performing team that she led. The reason why it was high-performing was partly because they were able to run services fully with very little support from an external SRE team.</p><blockquote><p>We [brought] someone we knew with knowledge&#8230; to fully understand how does our AWS work and how to restart our services and everything so that we were able to fully run it and be on call for it.</p></blockquote><p>The sweet spot notion comes in once again where you have to work out, <em>&#8220;How much do I need to develop and spend time on developing this SRE knowledge, and how much do put into developing the product?&#8221;</em></p><p>It's complicated, but communication is the key to it.</p><h2>How can product teams handle conflicting priorities?  </h2><p>Anemari told me that the answer depends on the context: </p><ul><li><p>where you are</p></li><li><p>what situation your product is in </p></li><li><p>how the developer and SRE teams are laid out</p></li></ul><p>It&#8217;s very different to start a project from scratch versus having a whole monolith running for years and trying to make things better. </p><p>Anemari added:</p><blockquote><p>It might sound a little bit crazy but I still think that it's very important for you to like write down all of these different things that you think you need to solve&#8230; </p><p>A big part of the role of a tech lead is to make sure that all of these different parts agree and align on a strategy. So that means the product, that means the developer, that means the SREs, that means the customer support, etc.</p></blockquote><p>A tech lead would work to bring all of this together and then propose to all of these different stakeholders. You might have to put it as simply as, &#8220;This is what we have to focus on right now, given that as a product team. We have to keep delivering.&#8221;</p><p>Then come the compromises. For example, &#8220;20 percent of our time would go into improving our delivery pipeline.&#8221; </p><p>It is crucial to work out compromises before getting agreement from the various stakeholders in the software delivery organization. </p><div><hr></div><p>This write-up was just a preview of what Anemari and I talked about in this episode of the Reliability Enablers. Be sure to listen to get the other half of our conversation.</p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[#56 Resolving DORA Metrics Mistakes]]></title><description><![CDATA[I asked Nathen Harvey who is lead DORA advocate at Google about some of the mistakes people make. The major ones seem to come down to management misconceptions about what it can do.]]></description><link>https://read.srepath.com/p/56-resolving-dora-metrics-mistakes</link><guid isPermaLink="false">https://read.srepath.com/p/56-resolving-dora-metrics-mistakes</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Wed, 04 Sep 2024 12:02:44 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/148441662/fc4197978ba67641e1eb7586a50ae120.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>We're already well into 2024 and it&#8217;s sad that people still have enough fuel to complain about various aspects of their engineering life.  </p><p>DORA seems to be turning into one of those problem areas.</p><p>Not at every organization, but some places are turning it into a case of &#8220;hitting metrics&#8221; without caring for the underlying capabilities and conversations.</p><p>Nathen Harvey is no stranger to this problem.</p><p>He used to talk a lot about SRE at Google as a developer advocate. Then, he became the lead advocate for DORA when Google acquired it in 2018. </p><p>His focus has been on questions like:</p><div class="pullquote"><p>How do we help teams get better at delivering and operating software? </p></div><p>You and I can agree that this is an important question to ask. </p><p>I&#8217;d listen to what he has to say about DORA because he&#8217;s got a wealth of experience behind him, having also run community engineering at Chef Software.</p><p>Before we continue, let&#8217;s explore <strong>What is DORA? </strong>in Nathen&#8217;s (paraphrased) words:</p><p>DORA is a software research program that's been running since 2015.</p><p>This research program looks to figure out:</p><div class="pullquote"><p>How do teams get good at delivering, operating, building, and running software? </p></div><p>The researchers were able to draw out the concept of the metrics based on <strong>correlating teams that have good technology practices with highly robust software delivery outcomes</strong>.</p><p>They found that this positively impacted organizational outcomes like profitability, revenue, and customer satisfaction.</p><p>Essentially, all those things that matter to the business.</p><p>One of the challenges the researchers found over the last decade was working out: <em>how do you measure something like software delivery?</em> </p><p>It's not the same as a factory system where you can go and count the widgets that we're delivering necessarily.</p><p>The unfortunate problem is that the factory mindset I think still leaks in. I&#8217;ve personally noted some silly metrics over the years like lines of code.</p><p>Imagine being asked constantly: &#8220;How many lines of code did you write this week?&#8221;</p><p>You might not have to imagine. It might be a reality for you. </p><p>DORA&#8217;s researchers agreed that the factory mode of metrics cannot determine whether or not you are a productive engineer. </p><p>They settled on and validated 4 key measures for software delivery performance.</p><p>Nathen elaborated that <strong>2 of these measures look at throughput</strong>:</p><blockquote><p>[Those] two [that] look at throughput really ask two questions:</p><ol><li><p>How long does it take for a change of any kind, whether it's a code change, configuration change, whatever, a change to go from the developer's workstation. right through to production?</p></li></ol><p>And then the second question on throughput is:</p><ol start="2"><li><p>How frequently are you updating production?</p></li></ol></blockquote><p>In plain English, these 2 metrics are:</p><ol><li><p><strong>Deployment Frequency</strong>. How often code is deployed to production? This metric reflects the team's ability to deliver new features or updates quickly.</p></li><li><p><strong>Lead Time for Changes</strong>: Measures the time it takes from code being committed to being deployed to production. </p></li></ol><p>Nathen recounted his experience of working at organizations that differed in how often they update production from once every six months to multiple times a day.  </p><p>They're both very different types of organizations, so their perspective on throughput metrics will be wildly different. </p><p>This has some implications for the <em>speed</em><strong> </strong>of software delivery.</p><p>Of course, <strong>everyone wants to move faster, but there&#8217;s this other thing that comes in and that's stability</strong>.</p><p>And so, the other two stability-oriented metrics look at:</p><blockquote><p>What happens when you do update production and... something's gone horribly wrong. &#8220;Yeah, we need to roll that back quickly or push a hot fix.&#8221; </p></blockquote><p>In plain English, they are:</p><ol start="3"><li><p><strong>Change Failure Rate</strong>: Measures the percentage of deployments that cause a failure in production (e.g., outages, bugs). </p></li><li><p><strong>Failed Deployment Recovery Time</strong>: Measures how long it takes to recover from a failure in production. </p></li></ol><p>You might be thinking the same thing as me. These stability metrics might be a lot more interesting to reliability folks than the first 2 throughput metrics.</p><p>But keep in mind, it&#8217;s about balancing all 4 metrics. </p><p>Nathen believes it&#8217;s fair to say today that across <strong>many organizations, they look at these concepts of throughput and stability as tradeoffs of one another</strong>. </p><div class="pullquote"><p>We can either be fast or we can be stable. </p></div><p>But the interesting thing that the DORA researchers have learned from their decade of collecting data is that throughput and stability aren't trade-offs of one another.</p><p>They tend to move together. They&#8217;ve seen organizations of every shape and size, in every industry, doing well across all four of those metrics. </p><p>They are the best performers. </p><p>The interesting thing is that the size of your organization doesn't matter the industry that you're in.</p><p>Whether you&#8217;re working in a highly regulated or unregulated industry, it doesn't matter.</p><p>The key insight that Nathen thinks we should be searching for is: <strong>how do you get there?</strong>  </p><p>To him, it's about shipping smaller changes. </p><p>When you ship small changes, they're easier to move through your pipeline. </p><p>They're easier to reason about. </p><p>And when something goes wrong, they're easier to recover from and restore service.</p><p>But along with those small changes, we need to think about those feedback cycles.</p><p>Every line of code that we write is in reality a little bit of an experiment. </p><p>We think it's going to do what we expect and it's going to help our users in some way, but we need to get feedback on that as quickly as possible.</p><p>Underlying all of this, both small changes and getting fast feedback, is a real climate for learning. Nathen drew up a few thinking points from this:</p><blockquote><p>So what is the learning culture like within our organization? </p><p>Is there a climate for learning? </p><p>And are we using things like failures as opportunities to learn, so that we can ever be improving?</p></blockquote><p>&#8202;I don&#8217;t know if you&#8217;re thinking the same as me already, but we're already learning that DORA is a lot more than just metrics.</p><p>&#8202;To Nathen (and me), <strong>the metrics should be one of the least interesting parts of DORA because it digs into useful capabilities, like small changes and fast feedback</strong>. </p><p>That&#8217;s what truly helps determine how well you're going to do against those performance metrics.</p><p>Not saying &#8220;We are a low to medium performer. Now go and improve the metrics!&#8221;</p><p>I think the issue is that a lot of organizations emphasize the metrics because it's something that can sit on an executive dashboard  </p><p>But the true reason we have metrics is to help drive conversations.</p><p>Through those conversations, we drive improvement.</p><p>That&#8217;s important because currently an unfortunately noticeable amount of organizations are doing this according to Nathen:</p><blockquote><p>I've seen organizations [where it&#8217;s like]: &#8220;Oh, we're going to do DORA. Here's my dashboard. Okay, we're done. We've done DORA. I can look at these metrics on a dashboard.&#8221;  </p><p>That doesn't change anything. </p><p>We have to go the step further and put those metrics into action.</p></blockquote><p>We should be treating the metrics as a kind of compass on a map. </p><p>You can use those metrics to help orient yourself and understand, &#8220;Where are we heading?&#8221;.</p><p>But then you have to choose how are you going to make progress toward whatever your goal is.</p><p>The capabilities enabled by the DORA framework should help answer questions like:</p><ul><li><p>Where are our bottlenecks?</p></li><li><p>Where are our constraints?</p></li><li><p>Do we need to do some improvement work as a team?</p></li></ul><p>We also talked about the SPACE framework, which is a follow-on tool from DORA metrics. </p><p>It is a framework for understanding developer productivity.  </p><p>It encourages teams or organizations to<strong> look at five dimensions when trying to measure something from a productivity perspective</strong>.</p><p>It stands for:</p><ul><li><p><strong>S</strong> &#8212; satisfaction and well-being</p></li><li><p><strong>P</strong> &#8212; performance</p></li><li><p><strong>A</strong> &#8212; activity</p></li><li><p><strong>C</strong> &#8212; communication and collaboration</p></li><li><p><strong>E</strong> &#8212; efficiency and flow</p></li></ul><p>What the SPACE framework recommends is that you</p><p>First, pick metrics from two to three of those five categories. </p><p>(You don't need a metric from every one of those five but find something that works well for your team.)</p><p>Then write down those metrics and start measuring them. </p><p>Here&#8217;s the interesting thing: <strong>DORA is an implementation of SPACE.</strong> </p><p>You can correlate each metric with the SPACE acronym!</p><ul><li><p>Lead time for changes is a measure of <strong>E</strong>fficiency and flow</p></li><li><p>Deployment frequency is an <strong>A</strong>ctivity</p></li><li><p>Change fail rate is about <strong>P</strong>erformance.</p></li><li><p>Failed deployment recovery time is about <strong>E</strong>fficiency and flow</p></li></ul><p>Keep in mind that SPACE itself has no metrics. </p><p>It is a framework for identifying metrics.</p><p>Nathen reiterated that you can't use the space metrics because there is no such thing. </p><p>I mentioned earlier how DORA is a means of identifying the capabilities that can improve the metrics.</p><p>These can be technical practices like using continuous integration.</p><p>But they can also be capabilities like collaboration and communication. </p><p>As an example, you might look at what your change approval process looks like. </p><p>You might look at how collaboration and communication have failed when you&#8217;ve had to send changes off to an external approval board like a CAB (change approval board).</p><p>DORA&#8217;s research backs the above up:</p><blockquote><p>What our research has shown through collecting data over the years, is that while they do exist on the whole, <strong>an external change approval body will slow you down.</strong></p><p>That's no surprise. So <strong>your change lead time is going to increase, your deployment frequency will decrease</strong>.  </p><p>But, <strong>at best, they have zero impact on your change fail rate.</strong> In most cases, they have a negative impact on your change fail rate. So you're failing more often.</p></blockquote><p>It goes back to the idea of smaller changes, faster feedback, and being able to validate that. Building in audit controls and so forth.</p><p>This is something that reliability-focused engineers should be able to help with because one of the things Sebastian and I talk about a lot is embracing and managing risk effectively and not trying to mitigate it through stifling measures like CABs. </p><p>In short,  DORA and software reliability are not mutually exclusive concepts.</p><p>They're certainly in the same universe.</p><p>Nathen went as far as to say that <strong>some SRE practices necessarily get a little bit deeper than sort of the capability level that DORA has</strong> and provide even more sort of specific guidance on how to do things.</p><p>He clarified a doubt I had because a lot of people have argued with me (mainly at conferences) that DORA is this thing that developers do, earlier in the SDLC.</p><p>And then SRE is completely different because it focuses on the production side. </p><div class="pullquote"><p>The worst possible situation could be turning to developers and saying, &#8220;These 2 throughput metrics, they&#8217;re yours. Make sure they go up no matter what,&#8221; and then turn to our SREs and say &#8220;Those stability metrics, they're yours. Make sure they stay good&#8221; </p><p>All that does is put these false incentives in place and we're just fighting against each other.</p></div><p>We talked a little more about the future of DORA in our podcast episode (player/link right at the top of this post) if you want to hear about that.</p><p>Here are some useful links from Nathen for further research:</p><p><a href="https://dora.community/">DORA online community of practice</a></p><p><a href="https://dora.dev">DORA homepage</a></p><p><a href="https://queue.acm.org/detail.cfm?id=3454124">[Article] The SPACE of Developer Productivity</a></p><p><a href="https://linktr.ee/nathenharvey">Nathen Harvey's Linktree</a></p>]]></content:encoded></item><item><title><![CDATA[#55 3 Uses for Monitoring Data Other Than Alerts and Dashboards]]></title><description><![CDATA[I've noticed that many engineers use monitoring data mainly for only 2 uses: alerts and dashboards. There are a few more things engineers can do with that data. We'll explore them in this post.]]></description><link>https://read.srepath.com/p/54-3-uses-for-monitoring-data-other</link><guid isPermaLink="false">https://read.srepath.com/p/54-3-uses-for-monitoring-data-other</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 27 Aug 2024 12:05:04 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/147706456/e1a10448938530d00a84be37c4b6ad4e.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>We&#8217;ll explore 3 use cases for monitoring data. They are:</p><ol><li><p>Analyzing long-term trends</p></li><li><p>Comparing over time or experiment groups</p></li><li><p>Conducting ad hoc retrospective analysis </p></li></ol><h2>Analyzing long-term trends  </h2><p>You can ask yourself a couple of simple questions as a starting point:</p><ul><li><p>How big is my database?</p></li><li><p>How fast is the database growing? </p></li><li><p>How quickly is my user count growing?</p></li></ul><p>As you get comfortable with analyzing data for the simpler questions, you can start to analyze trends for less straightforward questions like:</p><ul><li><p>How is the database performance evolving? Are there signs of degradation?</p></li><li><p>Is there consistent growth in data volume that may require future infrastructure adjustments?</p></li><li><p>How is overall resource utilization trending over time across different services?</p></li><li><p>How is the cost of cloud resources evolving, and what does that mean for budget forecasting?</p></li><li><p>Are there recurring patterns in downtime or service degradation, and what can be done to mitigate them?</p></li></ul><p>Sebastian mentioned that it's a part of observability he enjoys doing. I can understand why. It&#8217;s exciting to see how components are changing over a period and working out solutions before you end up in an incident response nightmare.</p><p><strong>Getting to effectively analyze the trends requires the right level of data retention settings. </strong>Because if you're throwing out your logs, traces, and metrics too early, you will not have enough historical data to do this kind of work.</p><p>Doing this right means having the right amount of data in place to be able to analyze those trends over time, and that will of course depend on your desired period. </p><h2>Comparing over time or experiment groups</h2><h3>Google&#8217;s definition</h3><p>You're comparing the data results for different groups that you want to compare and contrast. Using a few examples from the SRE (2016) book:</p><ul><li><p>Are your queries faster in this version of this database or this version of that database?  </p></li><li><p>How much better is my memcache hit rate with an extra node and is my site slower than it was last week?  </p></li></ul><p>You're comparing it to different buckets of time and different types of products.</p><h3>A proper use case for comparing groups</h3><p>Sebastian did this particular use case recently because he had to compare two different technologies for deploying code: AWS Lambda vs AWS Fargate ECS.  </p><p>He took those two services and played around with different memories and different virtual CPUs. Then he ran different amounts of requests against those settings and tried to figure out which one was the better technology option most cost-effectively.</p><p>His need for this went beyond engineering work but <strong>enabling product teams with the right decision-making data</strong>. He wrote out a knowledge base article to give them guidance for a more educated decision on the right AWS service.</p><p>Having the data to compare the two services allowed him to answer questions like:</p><ul><li><p>When should you be using either of these technologies? </p></li><li><p>What use cases would either technology be more suitable for?</p></li></ul><p>This data-based decision support is based mainly on monitoring or observability data. The idea of using the monitoring data to compare tools and technologies for guiding product teams is something I think reliability folk can gain a lot of value from doing. </p><h2>Conducting ad hoc retrospective analysis (debugging)</h2><p>Debugging is a bread-and-butter responsibility for anyone who is a software engineer of any level. </p><p>It&#8217;s something that everybody should know a little bit more about than other tasks because there are very effective and also very ineffective ways of going about debugging. </p><p><strong>Monitoring data can help make the debugging process fall into the effective side.</strong></p><p>There are organizations where you have 10 different systems. In one system, you might get one fragmented piece of information. In another, you&#8217;ll get another fragment. And so on for all the different systems.  </p><p>And then you have to correlate these pieces of information in your head and hopefully, you get some clarity out of the fragments to form some kind of insight. </p><p>Monitoring data that are brought together into one datastream can help correlate and combine all these pieces of information. With it, you can:</p><ol><li><p><strong>Pinpoint slow-running queries or functions</strong> by analyzing execution times and resource usage, helping you identify inefficiencies in your code</p></li><li><p><strong>Correlate application logs with infrastructure metrics</strong> to determine if a performance issue is due to code errors or underlying infrastructure problems</p></li><li><p><strong>Track memory leaks or CPU spikes</strong> by monitoring resource usage trends, which can help you identify faulty code or services</p></li><li><p><strong>Set up detailed error tracking</strong> that automatically flags code exceptions and matches them with infrastructure events, to get to the root cause faster</p></li><li><p><strong>Monitor system load alongside application performance</strong> to see if scaling issues are related to traffic spikes or inefficient code paths</p></li></ol><p>Being able to do all this makes the insight part easier for you. And so your debugging approach becomes very different. It becomes much more effective.  It becomes much less time-consuming. It potentially makes the debugging task fun.</p><p>Because you get to the root cause of the thing that is not working much faster.  Your monitoring/observability data setup can make it nice and fun to a certain degree, or it can make it downright miserable. </p><p>If it's done well, it's just one of those things you don't even have to think about. It's just part of your job. You do it. It's very effective and you move on. </p><h2>Wrapping up</h2><p>So we've covered three more use cases for monitoring data, other than the usual alerts and dashboards.</p><p>They are once again:</p><ol><li><p>analyzing long-term trends</p></li><li><p>comparing over time or experiment groups and</p></li><li><p>conducting ad hoc retrospective analysis, aka debugging</p></li></ol><p>Next time your boss asks you what all these systems do, you now have three more reasons that you need to focus on your monitoring and be able to use it more effectively. </p><p>Until next time, happy monitoring.</p>]]></content:encoded></item><item><title><![CDATA[#54 Becoming a Valuable Engineer Without Sacrificing Your Sanity]]></title><description><![CDATA[I heard Shlomo Bielak, a VP of Engineering, talk last year in downtown Toronto about the troubles that engineers face in trying to move linearly upward in their careers.]]></description><link>https://read.srepath.com/p/54-becoming-a-valuable-engineer-without</link><guid isPermaLink="false">https://read.srepath.com/p/54-becoming-a-valuable-engineer-without</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 20 Aug 2024 12:09:12 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/147695242/2266943f239c9fde2422803f6e8b8b0c.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Shlomo Bielak is the Head of Engineering (Operational Excellence and Cloud) at Penn Interactive, an interactive gaming company. </p><p>He&#8217;s dedicated much of his talk time at DevOps events to talk about a topic less covered at such technical events. A lot of what he said alluded to ways to become a more valuable engineer.</p><p>I&#8217;ve broken them down into the following areas:</p><ol><li><p>Avoid the heroic efforts</p></li><li><p>Mind + heart &gt; Mind alone </p></li><li><p>Curiosity &gt; Credentials</p></li><li><p>Experience &gt; Certifications </p></li><li><p>Thinking for complexity</p></li></ol><p>When I saw him in Toronto, I thought he would talk about pre-production observability. It would only make sense after watching the previous presenter do a deep dive into Kubernetes tooling.</p><p>But surprisingly, he started about culture and the need to prevent burnout among engineers &#8212; a topic that is as important today as it was 2 years ago when he did the talk. </p><p>Here&#8217;s a look into Shlomo&#8217;s philosophy and the practices he champions.</p><h2>Avoid the heroic efforts</h2><p>Shlomo's perspective on heroics in engineering and operations challenges a traditional mindset that often glorifies <em>excessive </em>individual efforts at the cost of long-term sustainability. </p><p>He emphasizes that relying on heroics &#8212; where individuals consistently go above and beyond to save the day &#8212; creates an unhealthy work environment. </p><blockquote><p>"We shouldn't be rewarding people for pulling all-nighters to save a project; we should be asking why those all-nighters were necessary in the first place."</p></blockquote><p>This approach not only burns out engineers but also masks underlying systemic issues that need to be addressed. So, instead of celebrating these heroic efforts, Shlomo advocates for creating processes and metrics that ensure smooth operations without the need for constant intervention. </p><h2>Mind + Heart &gt; Mind alone</h2><p>One of the challenges Shlomo has faced recently is scaling his engineering organization amidst rapid growth. His approach to hiring is unique; <strong>he doesn&#8217;t just look for technical skills but prioritizes self-awareness and kindness.</strong> </p><blockquote><p>"Hiring with heart means looking for individuals who bring empathy and integrity to the team, not just expertise."</p></blockquote><p>When he joined The Score, a subsidiary of Penn Interactive, Shlomo immediately revamped the hiring practices by integrating the values above into the process. </p><p>He favors role-playing scenarios over solely using behavioral interviews to evaluate candidates, as this method reveals how individuals might <em>react</em> in real production situations. </p><p>I tend to agree with this approach as seeing how people are doing the work is more enlightening than asking them how they behaved in a past situation alone. </p><h2>Curiosity &gt; credentials</h2><h3>How it plays into career progression</h3><p>When it comes to career progression, Shlomo places little value on traditional markers like education or years of experience. Instead, he values adaptability, resilience, and curiosity. This last trait is the one he doubles down on.</p><p>According to Shlomo, curiosity is the cornerstone of continuous growth and innovation. It&#8217;s not just about asking questions. It&#8217;s about fostering a mindset that constantly seeks to understand the 'why' behind everything. </p><p>Shlomo advocates for a deep, insatiable curiosity that drives engineers to explore beyond the surface of problems, looking for underlying causes and potential improvements. </p><p>He believes that <strong>this kind of curiosity is what separates good engineers from great ones</strong>, as it leads to discovering solutions that aren&#8217;t immediately obvious and pushes the boundaries of what&#8217;s possible.</p><h3>How it plays into teamwork</h3><p>For Shlomo, curiosity also plays a crucial role in building a cohesive and forward-thinking team. He encourages leaders to cultivate an environment where questions are welcomed, and no stone is left unturned. </p><p>This approach not only sparks creativity but also ensures that everyone is engaged in a continuous learning process, which is vital in a field that evolves as rapidly as DevOps and SRE.</p><p>By nurturing curiosity, teams can stay ahead of the curve. They can anticipate challenges before they arise and develop right-fit solutions that keep their work relevant and impactful.</p><p>Shlomo advises engineers not to let their current organization limit them and to always seek out new challenges and learning opportunities. This mindset will make them valuable to any organization they may work with.</p><h2>Experience &gt; Certifications </h2><p>Shlomo&#8217;s stance on certifications is clear: they don&#8217;t necessarily lead to career advancement. He argues that the best engineers are those who are too busy doing the work to focus on accumulating certifications. Instead, he encourages engineers to network with industry leaders, demonstrate their skills, and seek mentorship opportunities. Experience and mentorship, he believes, are far more critical to growth than any piece of paper.</p><h2>Thinking for complexity</h2><p>It&#8217;s a well-tread saying now, almost a cliche, but still very relevant to standing out in a crowded engineering talent market. </p><p>Shlomo and I talked about the issue of many engineers being trained to think in terms of best practices. I feel like over time, this emphasis will reduce, especially for more senior roles. Best practices are not directly applicable to solving today&#8217;s problems that are increasing in complexity. </p><p>Shlomo tries to test potential hires to see if they can handle the complexity. During interviews, he presents candidates with unreasonable scenarios to test their ability to think outside the box. </p><p>This approach not only assesses their problem-solving skills but also helps them understand the interconnectedness of the challenges they will face.</p><h2>Wrapping up</h2><p>The insights Shlomo shared with me underscore a crucial point:</p><p><strong>The most successful engineers are those who combine technical prowess with a strong sense of curiosity, a commitment to continuous improvement, and a genuine understanding of their role within the team</strong>. </p><p>By embracing these qualities, you not only enhance your current contributions but also set yourself on a path for long-term growth and success. </p><p>The takeaway is clear: to truly stand out and advance in your career, it's not just about doing your job well &#8212; it's about constantly seeking to learn more, improve processes, and connect with your team on a deeper level.</p><p>These are the traits that make you not just a good engineer, but a valuable one.</p>]]></content:encoded></item><item><title><![CDATA[#53 What's Missing in Incident Response Processes?]]></title><description><![CDATA[Bonus clip from my chat with Dr Vladislav Ukis about the issues that beginner's to reliability work fall into during incident response]]></description><link>https://read.srepath.com/p/53-whats-missing-in-incident-response</link><guid isPermaLink="false">https://read.srepath.com/p/53-whats-missing-in-incident-response</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Thu, 15 Aug 2024 12:15:39 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/147694605/cc75bfed7ccaf821394e39ae5ff82936.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Incident response is an increasingly difficult area for organizations. Many teams end up paying a lot of money for incident management solutions. However, issues remain because processes supporting the incident response are not robust.</p><div class="pullquote"><p>Incident response software alone isn't going to fix bad incident processes. </p></div><p>It's gonna help for sure. You need these incident management tools to manage the data and communications within the incident. </p><p>But you also need to have effective processes and human-technology integration. Dr Ukis wrote in his <a href="https://www.amazon.com/Establishing-Foundations-Step-Step-Organizations-ebook/dp/B09RPM845X">Establishing SRE Foundations</a> book about complex incident coordination and priority setting. </p><p>According to Vladislav, at the beginning of your SRE journey, it&#8217;s not going to be focused on incident response in terms of setting up an incident response process, but more on core SRE artifacts like SLIs, availability measurement, SLOs, etc. </p><p>And now we are safely investing more into the customer-facing features and things like this. So this is going to be the  core SRE concepts.  But then at some point, once you've got these things, more or less established in the organization. </p><h2>Understanding and Leveraging SLOs</h2><p>Once your Service Level Objectives (SLOs) are well-defined and refined over time, they should accurately reflect user and customer experiences. Your SLOs are no longer just initial metrics; they&#8217;ve been validated through production. </p><p>Product managers should now be able to use this data to make informed decisions about feature prioritization. This foundational work is crucial because it sets the stage for integrating a formal incident response process effectively.</p><h2>Implementing a Formal Incident Response</h2><p>Before you overlay a formal incident response process, ensure that you have the cultural and technical groundwork in place. </p><p>Without this, the process might not be as effective. When the foundational SLOs and organizational culture are strong, a well-structured incident response process can significantly enhance its effectiveness.</p><h2>Coordinating During Major Incidents</h2><p>When a significant incident occurs, detecting it through SLO breaches is just the beginning. You need a system in place to coordinate responses across multiple teams. </p><p>Consider appointing incident commanders and coordinators, <a href="https://response.pagerduty.com/training/incident_commander/">as recommended in PagerDuty&#8217;s documentation</a>, to manage this coordination. Develop a lightweight process to guide how incidents are handled.</p><h2>Classifying Incidents</h2><p>Establish an incident classification scheme to differentiate between types of incidents. This scheme should include priorities such as Priority One, Priority Two, and Priority Three. </p><p>Due to the inherently fuzzy nature of incidents, your classification system should also include guidelines for handling ambiguous cases. For instance, if uncertain whether an incident is Priority One or Two, default to Priority One.</p><h2>Deriving Actions from Incident Classification</h2><p>Based on the incident classification, outline specific actions. For example, Priority One incidents might require immediate involvement from an incident commander. </p><p>They might take the following actions:</p><ol><li><p>Create a communication channel, assemble relevant teams, and start coordination. </p></li><li><p>Simultaneously inform stakeholders according to their priority group. </p></li><li><p>Define stakeholder groups and establish protocols for notifying them as the situation evolves.</p><h2>Keep Incident Response Processes Simple and Accessible</h2></li></ol><p>Ensure that your incident response process is concise and easily understandable. Ideally, it should fit on a single sheet of paper. Complexity can lead to confusion and inefficiencies, so aim for simplicity and clarity in your process diagram. </p><p>This approach ensures that the process is practical and can be followed effectively during an incident.</p><h2>Preparing Your Organization</h2><p>An effective incident response process relies on an organization&#8217;s readiness for such rigor. Attempting to implement this process in an organization not yet mature enough may result in poor adherence during critical times. </p><p><strong>Make sure your organization is prepared to follow the established procedures.</strong></p><p>For a deeper dive into these concepts, consider reading "Establishing SRE Foundations," available on Amazon and other book retailers. For further inquiries, you can also connect with the author, Vlad, on LinkedIn.</p>]]></content:encoded></item><item><title><![CDATA[Can ITIL Benefit from Site Reliability Engineering?]]></title><description><![CDATA[I asked Dr Vladislav Ukis this question after noticing that ITIL people are checking reliability engineering out. Here's his answer...]]></description><link>https://read.srepath.com/p/can-itil-benefit-from-site-reliability</link><guid isPermaLink="false">https://read.srepath.com/p/can-itil-benefit-from-site-reliability</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 13 Aug 2024 11:45:12 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/147657280/c3a53947f59026a7af80422173f76590.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>According to Vlad Ukis, there are a lot of enterprises around whose IT functions are organized around ITIL. What you use SRE for is something completely different. </p><blockquote><p>SRE is not for setting up the IT function. It is for enabling the product organization to operate online services reliably at scale.</p></blockquote><p>However, the problem is that many in the industry are NOT using SRE principles but instead handing over complex services to a more traditional IT function.</p><p>Dr. Vladislav Ukis is well qualified to talk about reliability, being at Siemens Healthineers and leading 250 people globally to offer their cloud platform running off Microsoft Azure.</p><p>We discussed key concepts from his book, <a href="https://www.amazon.com.au/Establishing-Foundations-Step-Step-Organizations/dp/0137424604">Establishing SRE Foundations: A Step-by-Step Guide to Introducing Site Reliability Engineering in Software Delivery Organizations</a>.</p><p>Unlike other technical books in this field, <strong>Dr Ukis&#8217; book is aimed at technology professionals who are beginners to the reliability journey</strong>. </p><p>This is different from the <em>Site Reliability Engineering </em>(2016) book by Google, which covers all the bells and whistles that SRE encompasses. That book requires a degree of prior knowledge and also prior experience in the field. </p><p>Vlad wanted to make it more accessible:</p><blockquote><p>What I did with my book is to say, &#8216;Okay, so now you've never done operations,  but you now are thrown in the world of online services where you have to operate them. How do you get started?&#8217; So this is what the book is for. So for people who want to learn how to get started in the world of operating online services.</p></blockquote><p>ITIL was originally developed by the UK government in the 80s to improve IT governance. It is best related to SRE through its service management and incident management components. But it&#8217;s for managing systems that are more predictable and can be handled through strict process control.</p><p>Modern product delivery doesn&#8217;t have the luxury of bureaucratic levels of predictability that older IT services have. It requires a more engineer-oriented approach to solving problems/incidents and providing services. </p><p>So how was Vlad&#8217;s experience bringing SRE into an organization that previously had run solely on the ITIL model?</p><p>Siemens Healthineers for many years operated like a traditional software development organization. In other words, they were developing on-prem software, not cloud software. </p><p>The company would ship the physical software product to its hospital customers and then those hospitals would have the software operated and supported by their IT departments. </p><p>The change came about when Siemens Healthineers began to work on a new digital health platform, which would be cloud-based from the beginning. So they would no longer ship physical software in discs to customers, but provide online services in the cloud centrally for the customers to use.</p><p>The early days were haphazardly done with the software deployed to the cloud with no major issues. Not many customers were on the cloud platform so the team could get away with &#8220;handcrafted operating procedures&#8221;.</p><p>But as traffic and service count started to rise rapidly, the Healthineers team learned that they needed a more professional approach.  They began to understand that their initial approach to operations could not continue as-is.</p><p>This is when Vladislav began to drive SRE practices in the organization. </p><p>This was a sub-30-minute conversation that covered a lot of ground that would be relevant to the needs of organizations looking to transition to product delivery of online services at scale. </p><p>Have a listen.</p>]]></content:encoded></item><item><title><![CDATA[#52 Navigating Complexity within Incidents]]></title><description><![CDATA[I talked with Sonja Blignaut about the pressing issue of increasing complexity within incidents. She's an expert in complexity thinking with an early career background as a Fortran and C programmer.]]></description><link>https://read.srepath.com/p/navigating-complexity-incidents</link><guid isPermaLink="false">https://read.srepath.com/p/navigating-complexity-incidents</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 06 Aug 2024 12:03:00 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/147357673/5c303f5c0d37ee6080f619f5a0fe05ef.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>As I mentioned in the intro, <a href="https://www.linkedin.com/in/sonjablignaut/">Sonja Blignaut </a>is a complexity expert. That might not sound relevant to incident response in reliability engineering.</p><p><em>But it is!</em></p><p><strong>Our systems are becoming more complex and so are the resulting incidents</strong>.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:200096}" data-component-name="PollToDOM"></div><p>Learning about complexity can help reliability folk go into an incident with less anxiety, which we&#8217;ll explore in this post.</p><h2>The complexity of incidents</h2><p>You might already know that incident response is a huge part of reliability work in software systems. </p><p>What you might not know is that incident response as a whole is getting harder because of more unpredictable situations. </p><p>Here are some modern computing examples that contribute to this complexity:</p><ul><li><p>cloud computing shifting us from 1 &#8594; 100+ pieces of infrastructure</p></li><li><p>code as a serverless function, making incident response harder through statelessness</p></li><li><p>containerization increases configuration complexity meaning that there is a greater failure surface area</p></li></ul><p>So how can a mindset geared towards complexity aid in adapting to unexpected challenges during an incident?</p><h3>Let&#8217;s first understand the levels of incidents</h3><p>You might be used to terminology like Sev1/2/3 and P0/1/2/3/4 events, but let&#8217;s try to distinguish them in terms of a decision-making framework.</p><p><strong>The Cynefin framework is a way to decipher the complexity of incidents. </strong>It helps us distinguish among four different kinds of incidents. </p><p>The kinds of incidents can be:</p><ol><li><p><strong>Simple.</strong> A straightforward issue that can be resolved by following a series of predetermined steps e.g. <em><strong>a runbook for a server reboot procedure </strong></em></p></li><li><p><strong>Complicated.</strong> Not straightforward, but we can still plan for them. We know where things might fail and plan for that e.g. <em><strong>load balancer configuration update</strong></em></p></li><li><p><strong>Complex.</strong> This is where unexpected things can happen.  Typically, they emerge,  and we need to find our way through e.g. <em><strong>application performance degradation</strong></em></p></li><li><p><strong>Chaotic.</strong> Things that you can prepare but can't plan for because you've got no idea exactly what's going to happen e.g. <em><strong>data center power outage</strong></em></p></li></ol><h3>How incidents develop in this framework</h3><p>Sonja has worked extensively with power utility companies and software teams in other industries. She found that the initial moments of an incident would often be chaotic.</p><p>For example, she faced a situation where several South African banks' payment systems went down simultaneously, causing chaos for her clients.</p><p><strong>How do we prepare for something chaotic?</strong> It's a crisis. We almost need to drop everything and just fix this. </p><p>After the initial chaos settles, we try to wrangle control of the incident through our tried and tested methods. But at times, we struggle to take control.</p><div class="pullquote"><p>In many organizations, we've come to equate control with competence. If you're a leader or if you are an expert software engineer, you're supposed to be in control.</p><p>If you're dealing with something complex, you can't ever fully be in control. That creates anxiety because then we start questioning our own competence. </p><p>In many organizations, we experience others questioning our competence as well because we're trying to control something that essentially can't be controlled.</p></div><p>What we&#8217;re trying to control is something that cannot be controlled, which is the underlying complexity within our incidents.</p><h2>A deeper dive into complexity</h2><p>In plain English, complexity is what occurs in interconnected systems where changes in one part can affect the whole system in unexpected ways.</p><p><em>Sound familiar?</em></p><p>Sonja came across the idea of complexity while working as a consultant at IBM. One of her colleagues, Dave Snowden, went on to develop the Cynefin framework.</p><p>This framework explores the decision-making domains that govern how we perceive problems and go about resolving 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_!E81k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93e854b-dafa-4884-97c8-10dd22ad609c_970x947.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E81k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93e854b-dafa-4884-97c8-10dd22ad609c_970x947.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E81k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93e854b-dafa-4884-97c8-10dd22ad609c_970x947.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E81k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93e854b-dafa-4884-97c8-10dd22ad609c_970x947.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E81k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93e854b-dafa-4884-97c8-10dd22ad609c_970x947.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E81k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93e854b-dafa-4884-97c8-10dd22ad609c_970x947.jpeg" width="464" height="452.9979381443299" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d93e854b-dafa-4884-97c8-10dd22ad609c_970x947.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:947,&quot;width&quot;:970,&quot;resizeWidth&quot;:464,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;undefined&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="undefined" title="undefined" srcset="https://substackcdn.com/image/fetch/$s_!E81k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93e854b-dafa-4884-97c8-10dd22ad609c_970x947.jpeg 424w, https://substackcdn.com/image/fetch/$s_!E81k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93e854b-dafa-4884-97c8-10dd22ad609c_970x947.jpeg 848w, https://substackcdn.com/image/fetch/$s_!E81k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93e854b-dafa-4884-97c8-10dd22ad609c_970x947.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!E81k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93e854b-dafa-4884-97c8-10dd22ad609c_970x947.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">by Dave Snowden via Wikimedia under CY BY 3.0</figcaption></figure></div><blockquote><p>I first came across this idea of complexity when I was in IBM.  I met Dave Snowden there.  At the time, I was a very unhappy consultant because at many of the big consultancies &#8212; I think even still today &#8212; their business model is focused on selling <em>best practices</em> or selling you what I like to refer to as <em>recipes</em> and disregarding context. </p><p>&#8212; Sonja on why complexity piqued her interest</p></blockquote><p>That meeting with Dave made Sonja realize the idea of complexity and how <em>context</em> matters. The word <em>context</em> highlights the fact that <strong>every complex system is unique.</strong> </p><p>She went on to explore Dave Snowden&#8217;s framework in greater detail after leaving IBM to start her consultancy. After a while, she realized something interesting:</p><blockquote><p>I think that every decision maker, whether it's senior levels or lower levels, or even if it's decision making in the household&#8230; can benefit from understanding complexity.</p></blockquote><h2>Why care about complexity?</h2><p>Sonja told me about the key benefit of understanding complexity:</p><blockquote><p>One of my early clients who also became a friend, was quite a senior leader in an organization.  She said when she fully understood complexity and the implications thereof for the first time, <strong>it was as if a weight was lifted off of her shoulders</strong>.</p></blockquote><p>Being a senior leader, Sonja&#8217;s friend was grappling with many priorities at once and felt overwhelmed. But after understanding complexity, she realized that it wasn't because of a lack of competence that she couldn't understand issues.</p><p>It was because of the complexity that nobody could know.  </p><p>For some, that sense of not being able to know can create anxiety. For others, it creates a sense of freedom because essentially what it means is we are all wayfinding. We are finding our way through these messy tangles. </p><p>We will fail and we will make mistakes, but we will eventually find a way through.</p><p>But when we treat something complex as if it's complicated,  very often we just waste a lot of time. We get ourselves even more stuck. We create unintended consequences. </p><h2>Complex &#8800; Complicated</h2><p>I&#8217;ve noticed over the years that people mix up the meanings behind complex and complicated, so I felt it was best to clarify with the expert.</p><p>Sonja told me it&#8217;s good to get down to the root meanings of the two words.</p><h3>The meaning behind &#8220;complicated&#8221;</h3><p>The &#8220;plic&#8221; in complicated draws from the Latin word, plica aka <em>plik</em>. </p><p><em>plik</em> means folded together. With something complicated, I can unfold it, analyze it, then understand it, and finally, replicate it. </p><p><strong>A car is an example of a complicated system.</strong> </p><p>All of the different parts connect and come together in linear, predictable ways to create a certain functionality. There's no functionality or behavior in that car that you can't understand by understanding the part.  </p><h3>The meaning behind &#8220;complex&#8221;</h3><p>The &#8220;plex&#8221; in complex is a Latin root word.</p><p>It means braided together, or in Sonja&#8217;s words, &#8220;it&#8217;s tangled together&#8221;. </p><p>While there are many aspects to <strong>something being complex, the first and foremost aspect is that it's entangled in ways that we can't fully understand.</strong></p><p>So things are connected in ways that are not linear. </p><p>In comparison, complicated systems have linear, predictable traits. </p><p>Because of this, complex systems show unique traits such as:</p><ul><li><p>being dynamic</p></li><li><p>continuously shifting and changing</p></li><li><p>rife with interconnectedness that we can't fully understand</p></li></ul><p>It's almost difficult to draw a boundary line around where this system starts and ends.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://read.srepath.com/p/navigating-complexity-incidents?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">Thank you for reading so far. Feel free to share this post with someone who will find it helpful. </p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://read.srepath.com/p/navigating-complexity-incidents?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://read.srepath.com/p/navigating-complexity-incidents?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p><h3>Example of complex systems</h3><p>You don&#8217;t have to wrack your brain to think of systems that fit the above criteria. Remember, complex means things can happen that you could not predict ahead of time.</p><p><strong>Families meet the criteria and are complex systems. The human body is complex. Our gut biomes are complex.  Even consciousness</strong> &#8212; scientists are still trying to figure out exactly what consciousness is and where it emerges from.</p><p>So when two or more human beings come together, the situation is immediately complex. The unpredictability continues to rise as you add more humans. </p><p>Any living system is complex, but it's also sometimes that can create some anxiety for us because you can't control a complex system like you could potentially do a complicated one.</p><h2>Humans compound technical complexity</h2><p>What I&#8217;m alluding to here is that while the complexity of incidents might be greater because of things like cloud, serverless, and containers, that&#8217;s not the end of it.</p><p>Complexity emerges in incidents because <strong>we don&#8217;t work in technical systems but in sociotechnical systems</strong>. Humans are managing the underlying components of our technical systems. They interpret these components in their unique way.</p><p>We as computing folk have become accustomed to running predictable systems that can fault-tolerate humans, but that&#8217;s changed.<strong> </strong></p><p>Now, these very systems are shifting into a world of complexity, and we are struggling to handle the lack of predictable outcomes. </p><p>You have to understand all those tangled bits and trying to do that can be very difficult because there are so many different things happening at the same time. </p><h2>Why it is difficult to make sense of complex systems?</h2><h3>Our schooling plays a role</h3><p>Sonja thinks one of the issues is that <strong>we were for the most part taught in our educational systems to think in very reductionist ways</strong>. </p><p>This might be a familiar experience: if you're facing what would be classified as a complicated problem, you break it down into smaller pieces, you solve the pieces and then, in the end, you can solve the complicated problem.</p><p>In complexity, it doesn't quite work like that. </p><h3>Why complex systems can&#8217;t be codified</h3><p>Using the family system as an example, you can't break it into smaller pieces to try and understand it. You almost need to work with the whole. </p><p>There are &#8220;emergent qualities&#8221; within the family that don't exist within the individual members of the family.  As members of the family individually interact with each other, they come together in unique ways.</p><p>The same applies to organizational culture.  Culture emerges from the thousands of unique interactions between the humans in that system. The more humans you add to the mix, the more interactions you create. </p><p>This increases complexity at a parabolic rate.</p><p>Sonja puts it well:</p><blockquote><p>All of the conversations, all of the ways that people even just look at each other, the interactions between people and the technology they work in,  with the office space they're in. All of these things create this emergent identity or culture of this organization. And that culture does not exist within the individual people or the individual parts.</p></blockquote><p>In other words, the whole is greater than the sum of its parts.</p><p>The critical learning point at this stage is that with something complex having interrelated components, <strong>the relationships between the components become more important than the components themselves.</strong></p><h2>How to get a better grasp of complex systems</h2><p>Sonja suggests that the first step to embracing complexity means unlearning the patterns of thought associated with complicated systems.</p><p>That&#8217;s reducing or eliminating the tendency to want to reduce things into parts because when we're dealing with something complex, we also need to look at the whole. </p><div class="pullquote"><p>We need to look at the whole as well as the parts and how things are connected.</p></div><p>That also means we need to shift from a linear problem-solution way of thinking. </p><p>In complexity,  Sonja believes it&#8217;s better (and in her exact words, &#8220;more generative&#8221;) to <strong>think in terms of &#8220;emergent patterns&#8221; and not &#8220;problems&#8221;.</strong> </p><p>It's not impossible to understand complexity, but if we look at it through a linear reductionist lens, then we can get ourselves stuck. The thing to get comfortable with &#8212; and it will initially be hard &#8212; is that <strong>a pattern cannot necessarily be solved, but you can shift it.</strong> </p><blockquote><p>If you think of something extremely complex like, for example, poverty or social inequality, if you see them solely as a &#8220;problem to solve&#8221;, you&#8217;ll almost immediately stuck because the system is connected to so many other contributing parts.</p></blockquote><p>You won&#8217;t even know where to start and how solving one part causes an unpredictable outcome in another part of the system. But if you see the issue as a pattern, then all of a sudden, you can start interacting with it more effectively. </p><p>You can try different things and see what works. </p><p>You've got multiple entry points because so many things are connected.</p><h2>Wrapping up</h2><p>By now, I hope you have a better understanding of (1) complexity and (2) how it impacts your ability to respond to incidents.</p><p>Sonja and I also discussed:</p><ol><li><p>the problem of achieving psychological safety in complex environments</p></li><li><p>deeper into the concept of emergence and how it contributes to our understanding of incidents as they develop</p></li><li><p>a need for resilience in working professionals as we become more attention-poor</p></li></ol><p>For these 3 ideas, you&#8217;ll have to listen to the podcast episode.</p><div><hr></div><h2>About Sonja</h2><p>I found Sonja&#8217;s work in 2019 while looking for ways to deal with the increasing VUCA (volatility, uncertainty, complexity, and ambiguity) at my work. </p><p>Sonja is a co-founder of <a href="https://complexityfit.com/">Complexity Fit</a> and founder of <a href="https://www.morebeyond.co.za/">More Beyond</a> focusing on helping teams build capacity for sensemaking, collaboration, and wayfinding.</p><p>She has a background in programming from her early career as a meteorologist, having worked in C and Fortran, and then progressing to working as a web developer. </p><p>You can connect with Sonja to learn more about complexity <a href="https://www.linkedin.com/in/sonjablignaut/">via LinkedIn</a>.</p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[#51 Whitebox vs Blackbox Monitoring]]></title><description><![CDATA[Full writeup in email. Monitoring is not just a monolith. Google's SREs talk about 2 distinct forms of monitoring, one of which is essential to assuring reliability of external software.]]></description><link>https://read.srepath.com/p/whitebox-vs-blackbox-monitoring</link><guid isPermaLink="false">https://read.srepath.com/p/whitebox-vs-blackbox-monitoring</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 30 Jul 2024 12:15:59 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/147123300/5226eecf9e1db5afbfbd81c30ca6e776.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Sebastian and I took some time in July to talk about how we could make concepts from Google's SRE book more digestible and usable in practice. </p><p>We'll start on this by covering monitoring concepts, the first concept being what Google's SREs call white box versus black box monitoring. </p><p>I initially thought that we could just call it internal versus external monitoring to explain it to you, but it turns out that would not be correct. We&#8217;ll explore this further.</p><p>First of all&#8230;</p><h2>What is monitoring?</h2><p>If you think of monitoring, or observability as we call it today, you&#8217;d think about it as:</p><div class="pullquote"><p>Monitoring is a way to measure your system, to gain insight and knowledge about the system.</p></div><p>In our context, a system is usually software of some kind e.g. SaaS, platform, etc.</p><h2>So what is whitebox monitoring then?</h2><p>In monitoring terms, a <em>whitebox monitoring system </em>covers the system and its components that you have full control over, which is yours. </p><p>It's the one that you can instrument and you can instrument it whichever way you feel is appropriate for your context and for the kind of insight that you're trying to get out of it. </p><p>You have full control over what is happening. There's no limitation to what you could do. </p><h3>Some characteristics of whitebox monitoring include:</h3><ul><li><p>You can and do get very granular with the data you&#8217;re capturing</p></li><li><p>You have full control over the end-to-end life cycle of your observability data </p></li><li><p>The focus is on the internals of your system that you control</p></li></ul><p>It is a subset of <em>internal monitoring</em>, but it takes the data capture much deeper than  high-level metrics like you&#8217;d get from traditional application performance monitoring (APM) tools. </p><p>Now let's define black box monitoring.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://read.srepath.com/p/whitebox-vs-blackbox-monitoring?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"><em>Thank you for reading Reliability Enablers. Please share this post if you found it useful.</em></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://read.srepath.com/p/whitebox-vs-blackbox-monitoring?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://read.srepath.com/p/whitebox-vs-blackbox-monitoring?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><h3>What is blackbox monitoring?</h3><p>On the opposite end, there are systems that you have no control over.  </p><p>That applies to systems like third-party API endpoints, or generally external pieces of software that you're using. A vendor provides you access to their system in some way, shape, or form, but you don't get to go inside that system and instrument that system to the degree that you might want to. </p><p>The way you then need to approach monitoring or observing these kinds of systems is somewhat different from your own systems. </p><p>What you can do is apply approaches that let you approximate what might happen within that system that is behind an API endpoint or within that piece of software that you're connected to.</p><p>There are things like heartbeats or health checks that you can implement on your side that end can follow a simple pattern like, for example:</p><ol><li><p>send a simple HTTP request to an endpoint</p></li><li><p>you get a response back (or not)</p></li><li><p>gauge the health of that system based on the response </p></li></ol><p>It's not a foolproof method. It's an approximation. </p><p>To a certain degree, that&#8217;s the best you can do with these types of systems that are a blackbox to you.</p><p>You can just go around the outside of that system and try to probe it with certain types of observability approaches  And then infer from the data that you receive back, <em>&#8220;Is the system that I'm connected with healthy or not?&#8221;.</em></p><p><em>&#8220;Will it respond appropriately and properly the way I need it to when I'm sending a barrage of requests to it?&#8221;</em></p><h3>Blackbox monitoring is analogous to airplane blackboxes</h3><p>You&#8217;d find that every airplane has a blackbox that records everything that's happening in the flight, but you cannot do anything with the data directly.</p><p>You cannot look at the data. If you're a pilot, you're not looking at that monitoring data at any point.  That's only for investigation after the fact.</p><p>To sum it up, a black box is:</p><ul><li><p>an aspect of your system that you don't have control over</p></li><li><p>focused on real time data collection</p></li><li><p>a higher-level overview of whatever is observable </p></li><li><p>designed for situations where you can&#8217;t drill down into the internals </p></li><li><p>able to keep you on top of the health of a provider&#8217;s API or system integration  </p></li></ul><h2>The rising importance of blackbox monitoring</h2><p>With recent events where third parties have let prominent software vendors down, I think black box monitoring is likely to become a lot more important in the future. </p><p>The focus in the industry has been on white box monitoring, which makes sense. It's something you have direct control over.  </p><p>But <strong>as we increase our risk surface area with more third-party services, and as incidents intensify, blackbox monitoring needs to be discussed more</strong>.  </p><p>In the last 10 years in the industry, there hasn't been a whole lot of movement in terms of innovation or advancements when it comes to especially the black box monitoring or observability portion.</p><p>We feel like that's an area that could be in for a little bit of a round of (visible) innovation. </p><p>It&#8217;s worthwhile improving your blackbox monitoring to infer more accurately what is happening with that third-party piece of software. The benefit might be for your sanity. </p><p>This lets you make more rational engineering decisions that can only come from a stronger picture of the overall health of your ecosystem.</p><h2>How to get started in blackbox monitoring</h2><p>As far as we are aware, there are not a slew of open-source options around.</p><p>However, Prometheus has an <a href="https://github.com/prometheus/blackbox_exporter">open source blackbox exporter</a> that can probe endpoints such as web servers, databases, or network devices. It can probe over protocols like HTTP, HTTPS, DNS, TCP, ICMP, and gRPC.</p><h2>Wrapping up</h2><p>We've defined what Google's SREs think of whitebox and blackbox monitoring, but in particular, we&#8217;d like you to think about your black box efforts.</p><p>As an industry, we tend to put most of our energy into whitebox monitoring in most settings. But our systems are rife with 3rd party APIs and integrations.</p><p>How are you making sure that you don't get something like a global outage because a third-party vendor pushed bad code? Or at least, how would you minimize your blast radius?  </p><p>The costs of third-party mishaps can be high, with the recent CrowdStrike-related outage incurring $5.4 billion in downtime costs. </p><p>It's important to set guardrails around your third-party systems, so:</p><ol><li><p>changes from there are deployed slowly to your own systems</p></li><li><p>monitored by blackbox monitoring methods </p></li><li><p>and if failure occurs, there's a failover ready to go.</p></li></ol><p>I hope this updated version of our SRE book rundown has been more helpful to your work. </p><p><em>This is a concept from Chapter 6 (Monitoring Distributed Systems) of the Google SRE (2016) book. Chapter written by Rob Ewaschuk and edited by Betsy Beyer.</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://read.srepath.com/p/whitebox-vs-blackbox-monitoring?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"><em>Thank you for reading Reliability Enablers. Please share this post if you found it useful.</em></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://read.srepath.com/p/whitebox-vs-blackbox-monitoring?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://read.srepath.com/p/whitebox-vs-blackbox-monitoring?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p>]]></content:encoded></item><item><title><![CDATA[#50 Making Better Sense of Observability Data]]></title><description><![CDATA[In this email, we explore ideas to push our thinking of observability data like the 5th signal, adding &#960; to the observability mix, and more.]]></description><link>https://read.srepath.com/p/50-making-better-sense-of-observability</link><guid isPermaLink="false">https://read.srepath.com/p/50-making-better-sense-of-observability</guid><dc:creator><![CDATA[Ash Patel]]></dc:creator><pubDate>Tue, 09 Jul 2024 12:12:50 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/146273994/83e76d48cdb82c5eee863c4ed5791303.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Jack Neely is a DevOps observability architect at Palo Alto Networks and has a few interesting ways of extracting value from o11y data.</p><p>We crammed into just under 25 minutes ideas like these 7 takeaways:</p><ol><li><p><strong>Reasserting the Need to Monitor Four Golden Signals</strong>: Focus on latency, traffic, errors, and saturation for effective system monitoring and management.</p></li><li><p><strong>Prioritize Customer Health</strong>: in Jack&#8217;s words, the 5th golden signal. Go beyond traditional metrics to monitor the health of your customers for a more comprehensive view of your system's impact.</p></li><li><p><strong>Apply Mathematical Techniques</strong>: Incorporate advanced mathematical concepts, like the Nyquist Shannon law and T Digest algorithm, to enhance data accuracy and observability metrics.</p></li><li><p><strong>Build Accurate Percentiles</strong>: Implement techniques to accurately reproduce percentiles from raw data to ensure reliable performance metrics.</p></li><li><p><strong>Manage High Cardinality Data</strong>: Develop strategies to handle high cardinality data without overwhelming your resources, ensuring you extract valuable insights.</p></li><li><p><strong>Standardize Log Records</strong>: Use readily available frameworks to emit standardized log records makes data easier to process and visualize.</p></li><li><p><strong>Handle High-Velocity Data Efficiently</strong>: Develop methods for collecting and processing high-velocity data without incurring prohibitive costs.</p></li></ol><p>Watch Jack&#8217;s Monitorama talk here:</p><div id="vimeo-843996971" class="vimeo-wrap" data-attrs="{&quot;videoId&quot;:&quot;843996971&quot;,&quot;videoKey&quot;:&quot;&quot;,&quot;belowTheFold&quot;:false}" data-component-name="VimeoToDOM"><div class="vimeo-inner"><iframe src="https://player.vimeo.com/video/843996971?autoplay=0" frameborder="0" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true"></iframe></div></div>]]></content:encoded></item></channel></rss>