<?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[Runbooks & Robots]]></title><description><![CDATA[AI for DevOps. DevOps for AI.  Helping Devops Professionals transition into Agentic Devops MLOps.  A publication by School of DevOps & AI.]]></description><link>https://runbooks.schoolofdevops.com</link><image><url>https://substackcdn.com/image/fetch/$s_!hZ7q!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca1aae6-92d1-433c-80e1-1f0e74ede561_500x500.png</url><title>Runbooks &amp; Robots</title><link>https://runbooks.schoolofdevops.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 31 Aug 2026 20:50:37 GMT</lastBuildDate><atom:link href="https://runbooks.schoolofdevops.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Gourav Shah]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[schoolofdevops@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[schoolofdevops@substack.com]]></itunes:email><itunes:name><![CDATA[Gourav Shah]]></itunes:name></itunes:owner><itunes:author><![CDATA[Gourav Shah]]></itunes:author><googleplay:owner><![CDATA[schoolofdevops@substack.com]]></googleplay:owner><googleplay:email><![CDATA[schoolofdevops@substack.com]]></googleplay:email><googleplay:author><![CDATA[Gourav Shah]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Use Case #01: Inside Intercom’s AI Voice Agent Architecture]]></title><description><![CDATA[Inside the architecture, controlled rollout, human handoff, and LLMOps system behind Intercom&#8217;s enterprise AI agent for phone support.]]></description><link>https://runbooks.schoolofdevops.com/p/use-case-01-how-intercom-built-and</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/use-case-01-how-intercom-built-and</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Thu, 27 Aug 2026 03:30:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!SQWl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Intercom built and shipped <strong>Fin Voice</strong> in about 100 days, then deployed it on several enterprise customers&#8217; main phone lines.</p><p>The economics made voice support a practical AI use case. In Peter Bar&#8217;s July 2025 talk, <strong>more than 80%</strong> of support teams still used phone support, and <strong>more than one-third</strong> of customer-service interactions happened by phone. A US call handled by a human cost about <strong>7&#8211;12</strong>; Bar estimated that voice AI could be at least <strong>five times cheaper</strong>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Runbooks &amp; Robots! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Intercom also had a production foundation. Its wider Fin platform served <strong>5,000+ customers</strong> with a <strong>56% average resolution rate</strong>, reaching <strong>70&#8211;80%</strong> for some customers. These figures describe Fin overall, not Fin Voice traffic; Voice call volume and peak concurrency were not disclosed.</p><p>Fin Voice therefore extended an established AI support platform into a channel that was widely used and expensive to operate. Doing that required more than an LLM endpoint: telephony, speech processing, RAG, workflow integration, controlled deployment, observability, evaluation, and human handoff all became part of the system.</p><h2>How Intercom introduced Fin Voice</h2><p>Intercom began with knowledge-based questions already handled by its text agent. Call transcripts showed that help-center content could answer many phone requests.</p><p>Intercom first placed Fin Voice in after-hours support, where it replaced voicemail without changing the daytime workflow. This gave support teams real calls to review while limiting the effect of mistakes. Fin Voice later moved onto several customers&#8217; main phone lines. Intercom&#8217;s current deployment guide recommends an initial <strong>5&#8211;10% of calls</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0J6a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0J6a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!0J6a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!0J6a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!0J6a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0J6a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Intercom Fin Voice: A Low-Risk Path to Voice AI&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Intercom Fin Voice: A Low-Risk Path to Voice AI" title="Intercom Fin Voice: A Low-Risk Path to Voice AI" srcset="https://substackcdn.com/image/fetch/$s_!0J6a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!0J6a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!0J6a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!0J6a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa81e7de1-3cb9-409a-9ed3-928c94c28320_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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><em>Figure 1: Intercom moved from voicemail replacement to an after-hours pilot and then controlled production traffic.</em></p><h2>Why 100 days was possible</h2><p>Fin Voice reused four production building blocks:</p><ol><li><p>Fin&#8217;s existing text-agent runtime and agent behavior.</p></li><li><p>A RAG system already connected to customer knowledge bases.</p></li><li><p>Intercom&#8217;s native phone product and call-routing workflows.</p></li><li><p>An installed customer base that could test the product and provide feedback.</p></li></ol><p>The team was not building an AI platform, knowledge pipeline, and telephony product from zero. Its main work was integrating those systems and adapting the experience to real-time voice. That reuse explains more of the 100-day timeline than model choice alone.</p><h2>Intercom Fin Voice solution architecture</h2><p>This teaching diagram combines the public talk with Intercom&#8217;s deployment and telephony documentation. It is not an official internal diagram.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SQWl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SQWl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!SQWl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!SQWl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!SQWl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SQWl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Intercom Fin Voice: Production Architecture&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="Intercom Fin Voice: Production Architecture" title="Intercom Fin Voice: Production Architecture" srcset="https://substackcdn.com/image/fetch/$s_!SQWl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!SQWl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!SQWl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!SQWl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d70185c-2c7d-475a-b043-06a32bfc639f_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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><em>Figure 2: Fin Voice connected the real-time runtime to telephony, customer-service workflows, deployment controls, and evaluation data.</em></p><p>The system can be read as five layers:</p><ol><li><p><strong>Telephony and session ingress:</strong> Calls enter through Intercom Phone, PSTN forwarding, or SIP. External providers can register a phone number and call ID through the Fin Voice API, linking the carrier session to an Intercom conversation.</p></li><li><p><strong>Real-time runtime:</strong> <code>Speech -&gt; STT -&gt; LLM + RAG -&gt; TTS -&gt; Speech</code>. Intercom initially used a real-time API to test quickly and retained it after evolving the stack. The chained design exposed text and retrieval for grounding and debugging; direct speech-to-speech offered more natural audio but less control.</p></li><li><p><strong>Knowledge and actions:</strong> RAG retrieved approved help content. Current documentation also describes closed-beta Voice Procedures for API actions such as refunds or subscription changes; this was not part of the original 2025 disclosure.</p></li><li><p><strong>Workflow and handoff:</strong> Rollout percentage, office hours, customer attributes, call history, and IVR branches determined which calls reached Fin. Unresolved calls transferred with a summary, transcript, and intent.</p></li><li><p><strong>State and evaluation:</strong> Intercom stored recordings, live transcripts, summaries, outcomes, routing state, and call duration. Internal tools joined this evidence with logs for troubleshooting and evaluation.</p></li></ol><p>The architecture distributed risk across the full call path. Carrier, transcription, retrieval, model, action, speech, and transfer failures could each affect the caller&#8217;s outcome.</p><h2>Voice is not chat with sound</h2><p>A chatbot can pause or return several paragraphs. On a phone call, silence feels broken and long answers are difficult to remember.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XtAM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ebd251-3657-496b-9814-22e3c699504c_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XtAM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ebd251-3657-496b-9814-22e3c699504c_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!XtAM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ebd251-3657-496b-9814-22e3c699504c_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!XtAM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ebd251-3657-496b-9814-22e3c699504c_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!XtAM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ebd251-3657-496b-9814-22e3c699504c_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XtAM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ebd251-3657-496b-9814-22e3c699504c_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21ebd251-3657-496b-9814-22e3c699504c_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Intercom Fin Voice: Designing AI for Phone Support&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="Intercom Fin Voice: Designing AI for Phone Support" title="Intercom Fin Voice: Designing AI for Phone Support" srcset="https://substackcdn.com/image/fetch/$s_!XtAM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ebd251-3657-496b-9814-22e3c699504c_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!XtAM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ebd251-3657-496b-9814-22e3c699504c_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!XtAM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ebd251-3657-496b-9814-22e3c699504c_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!XtAM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ebd251-3657-496b-9814-22e3c699504c_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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><em>Figure 3: Voice requires different latency, answer length, and interaction patterns.</em></p><p>Intercom changed three behaviors:</p><ul><li><p><strong>Hide unavoidable latency:</strong> Simple answers arrived in about one second. For requests taking three or four seconds, the agent acknowledged the caller while working.</p></li><li><p><strong>Break up long answers:</strong> Troubleshooting steps were delivered in short chunks with confirmation between steps.</p></li><li><p><strong>Teach natural conversation:</strong> Callers often began with IVR-style keywords. Natural responses encouraged them to speak in complete sentences.</p></li></ul><h2>The LLMOps loop</h2><p>Intercom delivered a browser voice playground within roughly four weeks. Support managers could test Fin against their own knowledge base before connecting a live number.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X67G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X67G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!X67G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!X67G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!X67G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X67G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Intercom Fin Voice: The Voice Agent LLMOps Loop&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="Intercom Fin Voice: The Voice Agent LLMOps Loop" title="Intercom Fin Voice: The Voice Agent LLMOps Loop" srcset="https://substackcdn.com/image/fetch/$s_!X67G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!X67G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!X67G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!X67G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd51a95b2-e32f-4f2f-b8ac-15b02d4488fd_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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><em>Figure 4: Test, deploy, observe, evaluate, and improve every major change.</em></p><p>The operating loop worked as follows:</p><ol><li><p>Representative conversations were tested in the playground.</p></li><li><p>Changes reached after-hours or percentage-based production traffic.</p></li><li><p>The team reviewed recordings, transcripts, logs, handoffs, and outcomes.</p></li><li><p>Failures were traced to prompts, knowledge, routing, or runtime components.</p></li><li><p>Evaluations ran again before traffic increased.</p></li></ol><p>The primary outcome metric was <strong>resolution rate</strong>: calls completed without human help. This included explicit confirmation and assumed resolution when a caller disconnected after an answer and did not call again within 24 hours.</p><p>Intercom started with manual spreadsheet evaluations and automated more of the process over time. An LLM judge helped review transcripts, but human review and deterministic checks still mattered.</p><h2>Challenges and responses</h2><p>ChallengeWhat Intercom didRisky first deploymentStarted after hours and increased traffic gradually.Slow complex requestsPlayed a short acknowledgement instead of silence.Long spoken instructionsSplit answers into steps and asked for confirmation.AI could not resolve the callEscalated to the correct team with a transcript summary.Hard-to-debug failuresConnected recordings, transcripts, logs, outcomes, and evaluations.</p><h2>What the case reveals for AI Platform Engineers</h2><ol><li><p><strong>Platform reuse created the schedule advantage.</strong> RAG, telephony, data, and the text agent already existed.</p></li><li><p><strong>The model was one runtime component.</strong> Testing, deployment, tracing, evaluation, handoff, and rollback surrounded inference.</p></li><li><p><strong>Quality existed at call level.</strong> STT, retrieval, generation, TTS, routing, and audio quality all affected the outcome.</p></li><li><p><strong>Handoff was part of the architecture.</strong> Context and ownership had to survive the transfer.</p></li><li><p><strong>AI behavior followed progressive delivery.</strong> Exposure moved from playground tests to after-hours calls and then production percentages.</p></li><li><p><strong>Business metrics differed from model metrics.</strong> Resolution, escalation, repeat calls, and cost per outcome mattered more than tokens alone.</p></li></ol><p>The public material does not describe every internal control. In a comparable production system, the remaining platform scope would normally include latency SLOs, end-to-end tracing, safe retries, provider fallback, PII controls, prompt-injection defenses, versioned prompts and knowledge, representative evaluation sets, and rollout stop conditions.</p><h2>Bottom line</h2><p>Fin Voice was a production system rather than a model endpoint. Intercom&#8217;s delivery speed came from existing platform capabilities; its production adoption came from workflow integration, controlled exposure, call-level evidence, and human handoff.</p><h2>Sources</h2><ul><li><p>Peter Bar, <a href="https://www.youtube.com/watch?v=HOYLZ7IVgJo">Shipping an Enterprise Voice AI Agent in 100 Days</a>, AI Engineer, July 2025.</p></li><li><p>Intercom, <a href="https://www.intercom.com/help/en/articles/10697275-deploy-fin-voice">Deploy Fin Voice</a>.</p></li><li><p>Intercom, <a href="https://www.intercom.com/help/en/articles/12878948-integrating-fin-voice-with-your-telephony-system-using-call-forwarding">Integrating Fin Voice using call forwarding</a>.</p></li><li><p>Intercom, <a href="https://www.intercom.com/help/en/articles/12918513-use-fin-voice-in-phone-workflows">Use Fin Voice in phone workflows</a>.</p></li><li><p>Intercom, <a href="https://www.intercom.com/help/en/articles/16248514-fin-voice-faqs">Fin Voice FAQs</a>.</p></li></ul><h2>Accuracy note</h2><p>This article uses the public talk and Intercom documentation. Wider Fin metrics are not presented as Fin Voice traffic. The architecture is a teaching reconstruction, not a complete view of Intercom&#8217;s internal implementation.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Runbooks &amp; Robots! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Is AI Devops is a thing ? ]]></title><description><![CDATA[I researched AI Devops and here are 40 things you should know about Agentic Devops, AI Devops, AI SRE and where the opportunities are in 2026.]]></description><link>https://runbooks.schoolofdevops.com/p/is-ai-devops-is-a-thing</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/is-ai-devops-is-a-thing</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Tue, 25 Aug 2026 10:02:44 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/212658922/300222130b5e5570c972d8623708b461.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p></p><p>AI DevOps is becoming real &#8212; but it is much bigger than asking ChatGPT to generate Terraform or Kubernetes YAML.</p><p>We are starting to see <strong>Agentic DevOps, AI SREs, autonomous incident investigation, agentic CI/CD pipelines, agentic skills, AI Platform Engineering and production AI infrastructure</strong> emerge at the same time.</p><p>Watch this complete episodes to get my insights on each of these points and where I see its going based on my 20years of experience in Ops/Devops and what I have been experiencing since last two years of working on AI + Devops intersection. Following is the research I did which you could use as a reference. <br></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Runbooks &amp; Robots! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p><br>In this episode, I research what is happening across the AI + DevOps ecosystem and share my perspective on where I think this is heading.</p><p>We explore:</p><ul><li><p>AI DevOps vs Agentic DevOps vs AIOps</p></li><li><p>AI for DevOps vs DevOps for AI</p></li><li><p>AI SRE and autonomous incident investigation</p></li><li><p>GitHub Agentic Workflows and agentic CI/CD</p></li><li><p>AI-powered release readiness and root cause analysis</p></li><li><p>Agentic Skills and turning runbooks into executable knowledge</p></li><li><p>Coding agents such as Claude, Codex and Copilot</p></li><li><p>Agent harnesses and provider-agnostic agents</p></li><li><p>Hermes Agent and declarative agent architectures</p></li><li><p>MCP vs traditional CLI tools</p></li><li><p>Safety, approvals, RBAC and human-in-the-loop systems</p></li><li><p>GitOps as a safety mechanism for autonomous agents</p></li><li><p>AI Platform Engineering</p></li><li><p>Kubernetes for AI workloads</p></li><li><p>GPU infrastructure, DRA, Kueue and AI scheduling</p></li><li><p>LLM observability</p></li><li><p>AI FinOps</p></li><li><p>Production AI Engineering</p></li><li><p>Where DevOps, SRE and Platform Engineering careers may be heading</p></li></ul><p>One of the biggest changes I see is this:</p><blockquote><p><strong>The valuable DevOps skill is moving from remembering commands to applying judgment.</strong></p></blockquote><p>AI can increasingly generate syntax and execute tasks. But someone still needs to understand architecture, reliability, security, cost, production systems, guardrails and when an AI agent should &#8212; or should not &#8212; be allowed to act.</p><p>That creates an enormous opportunity for experienced DevOps, Platform Engineering and SRE professionals.</p><p>If you&#8217;re working in DevOps, SRE, Platform Engineering, Kubernetes, Cloud or Infrastructure and trying to understand how AI changes your career, this episode is for you.</p><p>Subscribe if you want to follow my exploration of <strong>AI DevOps, Agentic DevOps, AI Platform Engineering and Production AI Engineering</strong>.</p><p>Let me know in the comments what you want me to explore next &#8212; AI SRE, Agentic Skills, Hermes, AI infrastructure, GPU scheduling, agentic CI/CD, guardrails or something else.</p><p></p><h2>Resources and my Mindmap:</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_pf7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_pf7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png 424w, https://substackcdn.com/image/fetch/$s_!_pf7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png 848w, https://substackcdn.com/image/fetch/$s_!_pf7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png 1272w, https://substackcdn.com/image/fetch/$s_!_pf7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_pf7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png" width="1110" height="1049" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1049,&quot;width&quot;:1110,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:173318,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://runbooks.schoolofdevops.com/i/212658922?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_pf7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png 424w, https://substackcdn.com/image/fetch/$s_!_pf7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png 848w, https://substackcdn.com/image/fetch/$s_!_pf7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png 1272w, https://substackcdn.com/image/fetch/$s_!_pf7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021e8eb5-b41d-49bc-9f4a-427b16fd8c82_1110x1049.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2> </h2><ul><li><p><a href="https://gist.github.com/initcron/748e666357618719eb0bfe767b0e84a4">My ChatGPT Research</a></p></li><li><p>GitHub Agentic Workflow : <a href="https://github.blog/changelog/2026-06-11-github-agentic-workflows-is-now-in-public-preview/?utm_source=chatgpt.com">https://github.blog/changelog/2026-06-11-github-agentic-workflows-is-now-in-public-preview/?utm_source=chatgpt.com</a></p></li><li><p>DevOps Agent Kit by Cloudbees (<a href="https://www.cloudbees.com/blog/how-to-build-devops-agent?utm_source=chatgpt.com">https://www.cloudbees.com/blog/how-to-build-devops-agent?utm_source=chatgpt.com</a>)</p></li><li><p>Goose Harness/Agent by Block : https://goose-docs.ai/</p></li><li><p>Devops Kit by CloudBees : <a href="https://cloud.google.com/devops">https://cloud.google.com/devops</a></p></li><li><p>AWS Devops Agent : <a href="https://docs.aws.amazon.com/devopsagent/">https://docs.aws.amazon.com/devopsagent/</a></p></li><li><p>Azure SRE Agent : <a href="https://azure.microsoft.com/en-us/products/sre-agent">https://azure.microsoft.com/en-us/products/sre-agent</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Runbooks & Robots #001 - AI Agents Are Your Next Workload]]></title><description><![CDATA[A practical starting point for DevOps, Platform, and SRE engineers who are new to Agentic AI.]]></description><link>https://runbooks.schoolofdevops.com/p/runbooks-and-robots-001-ai-agents</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/runbooks-and-robots-001-ai-agents</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Fri, 14 Aug 2026 07:28:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fSTg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Runbooks &amp; Robots #001 | August 14, 2026 | 5-minute read</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fSTg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fSTg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!fSTg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!fSTg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!fSTg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fSTg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Runbooks &amp; Robots Issue 001: AI agents are your next workload&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Runbooks &amp; Robots Issue 001: AI agents are your next workload" title="Runbooks &amp; Robots Issue 001: AI agents are your next workload" srcset="https://substackcdn.com/image/fetch/$s_!fSTg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!fSTg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!fSTg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!fSTg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ae3ca6f-037d-4a6f-b7ae-2ccd358c2ecc_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You do not need to become a machine learning expert to work with AI agents. You already know much of the hard part: permissions, APIs, retries, logs, failure handling, and safe changes.</p><p>The new part is understanding how an agent chooses and repeats actions.</p><h2>The short version</h2><ul><li><p>An AI agent uses a model to choose tools and repeat steps until it reaches a goal or a limit.</p></li><li><p>This week, MCP became easier to run, OpenTelemetry added an end-to-end agent demo, and cloud providers moved toward separate agent identities.</p></li><li><p>In a Google Cloud survey, 83% of 1,402 IT leaders said production agents require infrastructure upgrades.</p></li><li><p>The START checklist shows how to try one narrow, read-only agent task with traces and hard limits.</p></li><li><p>Before adding write access, protect tools against retries that repeat a successful change.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Runbooks &amp; Robots! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>First, what is an AI agent?</h2><p>A normal chatbot answers a question. An agent can take several steps toward a goal.</p><p>For example, you ask: &#8220;Why is checkout latency high?&#8221;</p><p>The agent may:</p><ol><li><p>Query metrics.</p></li><li><p>Read recent deployment events.</p></li><li><p>Search logs.</p></li><li><p>Compare the evidence.</p></li><li><p>Suggest the likely cause.</p></li></ol><p>The model decides which tool to call next. The tools do the real work. The loop continues until the agent reaches an answer, hits a limit, or is stopped.</p><p>That makes an agent similar to an automation workflow whose next step is chosen at runtime. This flexibility is useful. It also creates new failure modes.</p><h2>Why your DevOps experience matters</h2><p>Agentic AI uses new names for familiar problems.</p><ul><li><p>A tool call is still an API request.</p></li><li><p>Agent memory is still state that can become stale or leak data.</p></li><li><p>A tool permission is still an access-control decision.</p></li><li><p>An agent loop is still a loop that needs a deadline and retry limit.</p></li><li><p>A model or prompt change is still a production change that needs testing.</p></li></ul><p>The model is new. Production engineering is not.</p><p>Your advantage is knowing that successful execution is not the same as a correct outcome. A command can return zero and still change the wrong resource.</p><h2>Three signals from this week</h2><h3>1. MCP is becoming easier to operate</h3><p>The Model Context Protocol, or MCP, is a common way for AI applications to discover and call tools. Its <code>2026-07-28</code> revision makes the core protocol stateless, which means servers fit normal HTTP load balancers and gateways more easily.</p><p>For a beginner, the idea is simple: MCP is an adapter between an agent and a tool. It does not make the tool safe. Authentication, approval, retries, and permissions still matter.</p><p><a href="https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/">MCP release notes</a> and <a href="https://aws.amazon.com/blogs/machine-learning/how-agentcore-gateway-supports-the-mcp-2026-07-28-spec/">AWS compatibility guide</a>.</p><h3>2. OpenTelemetry now has an agent demo</h3><p>OpenTelemetry Demo 3.0 includes an agent, an MCP server, and end-to-end traces. One trace follows a request through the model, tool calls, and downstream services.</p><p>This is a useful learning environment because you can see what the agent did. You do not need to connect it to your production systems.</p><p><a href="https://opentelemetry.io/blog/2026/we-broke-the-demo/">Demo walkthrough</a> and <a href="https://opentelemetry.io/blog/2026/genai-observability/">GenAI telemetry guide</a>.</p><h3>3. Agents are getting their own identity</h3><p>Google Cloud now describes an agent as its own identity. AWS documents a separate authentication pattern for AgentCore.</p><p>You do not need these products to understand the lesson. Do not give an agent your personal token. You should be able to identify, limit, audit, and revoke the agent separately from the person using it.</p><p><a href="https://cloud.google.com/blog/products/identity-security/whats-new-in-iam-security-governance-and-runtime-defense">Google Cloud&#8217;s agent IAM model</a> and <a href="https://aws.amazon.com/blogs/machine-learning/authenticate-with-private-key-jwt-using-amazon-bedrock-agentcore-identity/">AWS&#8217;s JWT pattern</a>.</p><h2>One number this week: 83%</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oh8H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oh8H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!oh8H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!oh8H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!oh8H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oh8H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Four findings from Google Cloud's survey of 1,402 global IT leaders&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="Four findings from Google Cloud's survey of 1,402 global IT leaders" title="Four findings from Google Cloud's survey of 1,402 global IT leaders" srcset="https://substackcdn.com/image/fetch/$s_!oh8H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!oh8H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!oh8H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!oh8H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ea38d48-4935-4c01-a45e-05c07af0ae29_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In Google Cloud&#8217;s survey of 1,402 global IT leaders, 83% said their organization needs infrastructure upgrades for production-grade autonomous systems.</p><p>This is vendor-sponsored research, not a neutral benchmark. Still, it is a useful signal: many companies can build AI demos, but they are not ready to operate them safely at scale.</p><p><a href="https://cloud.google.com/resources/content/state-of-infrastructure-in-the-agentic-ai-era">Report summary and methodology</a>.</p><h2>Your first runbook: START read-only</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9HN4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9HN4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!9HN4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!9HN4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!9HN4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9HN4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;START checklist for a first read-only AI agent experiment&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="START checklist for a first read-only AI agent experiment" title="START checklist for a first read-only AI agent experiment" srcset="https://substackcdn.com/image/fetch/$s_!9HN4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!9HN4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!9HN4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!9HN4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefdd7bef-4605-4012-a45b-081e843ced7c_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Do not begin with an agent that restarts pods or changes cloud resources. Start with an investigation task.</p><h3>S: Scope one task</h3><p>Choose a narrow question such as: &#8220;Summarise the likely cause of this alert.&#8221;</p><h3>T: Tools stay read-only</h3><p>Allow metrics, logs, traces, and deployment history. Do not allow changes.</p><h3>A: Audit every step</h3><p>Record the question, model version, tool calls, inputs, outputs, time, and cost.</p><h3>R: Restrict the loop</h3><p>Set a deadline, tool-call limit, token or cost budget, and a manual stop control.</p><h3>T: Test bad conditions</h3><p>Try missing data, stale data, a failed tool, a timeout, and conflicting evidence. Check whether the agent admits uncertainty.</p><p>Your first success is not autonomous remediation. It is a useful answer with a trace you can explain.</p><h2>Failure mode: a retry repeats the change</h2><p>Later, when you add write tools, a timeout can become dangerous. The change may succeed while the response is lost. The agent sees a failure and tries again.</p><p>The control belongs in the tool, not the prompt. Use an idempotency key, which makes a repeated request return the original result instead of creating another change.</p><p>&#8220;Please do not deploy twice&#8221; is not a control.</p><h2>Should we add hands-on labs?</h2><p>I am considering starting weekly lab/project where we take up one Devops/SRE use case and try to implement Agentic AI for it, or maybe take up something on MLOps/LLMOps side and show you how to build it.</p><p>Reply to this issue and tell me:</p><ul><li><p>What would make sense to you ? </p></li><li><p>Which DevOps and AI problems should become labs?</p></li><li><p>What should this newsletter include more or less of?</p></li><li><p>What would make Runbooks &amp; Robots worth opening every week?</p></li></ul><p>Looking forward to read your comments to this article. </p><h2>Robot walks into an incident review</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ojw7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ojw7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png 424w, https://substackcdn.com/image/fetch/$s_!ojw7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png 848w, https://substackcdn.com/image/fetch/$s_!ojw7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png 1272w, https://substackcdn.com/image/fetch/$s_!ojw7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ojw7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png" width="1456" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Three-panel comic: the robot restarted all 184 pods when only three were affected&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="Three-panel comic: the robot restarted all 184 pods when only three were affected" title="Three-panel comic: the robot restarted all 184 pods when only three were affected" srcset="https://substackcdn.com/image/fetch/$s_!ojw7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png 424w, https://substackcdn.com/image/fetch/$s_!ojw7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png 848w, https://substackcdn.com/image/fetch/$s_!ojw7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png 1272w, https://substackcdn.com/image/fetch/$s_!ojw7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1748b082-caad-4cba-8323-4a68e4261b68_1774x887.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What to do Monday</h2><ol><li><p>Write down one investigation task that uses only read access.</p></li><li><p>List the tools and data the agent would need for that task.</p></li><li><p>Run or review the OpenTelemetry agent demo and follow one trace.</p></li></ol><h2>Closing thought</h2><p>You are not starting from zero. Agentic AI needs the same discipline that made cloud systems reliable: narrow access, visible work, bounded execution, and safe failure.</p><p>Start read-only. Learn how the agent behaves. Add power slowly.</p>]]></content:encoded></item><item><title><![CDATA[I built an AI ops harness, then abandoned it. Here is what I learned]]></title><description><![CDATA[Field notes from building an Agentic Ops Harness with AI&#8212;and realising that a technically successful experiment can still be the wrong product.]]></description><link>https://runbooks.schoolofdevops.com/p/i-built-an-ai-ops-harness-then-abandoned</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/i-built-an-ai-ops-harness-then-abandoned</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Wed, 05 Aug 2026 14:42:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HXlA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Let me tell you about an experiment I ran, and then walked away from. Not because it failed. Because it taught me something I was not looking for.</p><h2>What was this experiment about</h2><p>AI coding agents like Claude and Codex are great at writing code. But the moment you point them at real infrastructure, be it a Kubernetes cluster, a production database, or a live AWS account, things get scary. You do not want the agent&#8217;s good behaviour to be the only thing stopping it from deleting something it should not touch.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Runbooks &amp; Robots! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>So I set out to build a harness for this. The idea: give an agent its own identity, not yours, scoped down to exactly what it needs, enforced by the system itself and not by a polite instruction in a prompt. And make the skills that agent uses portable. Write a skill once, run it on Claude Code, Codex, or whatever agent runtime comes next, the same way an Ansible role runs on any server.</p><p>I called it AOH, an Agentic Ops Harness. And I set myself one more rule at the start, out loud: it had to be simple enough to run from inside whatever coding agent I was already talking to. No separate tool to learn and no additional CLI options to remember.</p><h2>What I built</h2><p>More than I expected, and a lot of it actually worked.</p><p>Three different agent runtimes could all run the same skill pack. I proved the safety story on a real cluster, not a mock one. The agent tried to delete a pod, and Kubernetes itself said no. Not because the agent chose to be careful. Because its permissions simply did not allow it. That single moment told me the core idea was sound.</p><p>I also built a strict review process around every change. Before anything shipped, a second AI would review the design, specifically trying to find what I had missed. And it did find real things. Once it caught a permission rule that accidentally gave read access to every secret in the cluster. Another time it caught a credential design that would have quietly leaked tokens. That process earned its keep every single time.</p><p>By the end there was even a full write-a-skill-and-publish loop. You draft a skill in whatever session you are already in, run one command, and it lands as a real commit or a real pull request on GitHub. I watched this happen against a real repository, with three hundred and sixty seven tests behind it. So this was not a toy. It was real, working software.</p><h2>Why I am still abandoning it</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HXlA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HXlA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!HXlA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!HXlA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!HXlA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HXlA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e210f873-7d03-4547-afea-4022b947de27_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:924579,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://runbooks.schoolofdevops.com/i/209917141?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HXlA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!HXlA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!HXlA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!HXlA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe210f873-7d03-4547-afea-4022b947de27_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here is the part that stings a bit. One day I asked myself the simplest question a builder can ask: can I actually use this?</p><p>And the honest answer was six different commands, spread across two modes of the same tool, with flags that meant different things depending on which mode you were in. I had built a harness, and I could not operate my own harness without a cheat sheet next to me.</p><p>That is not a missing feature. That is a sign the design was wrong from the start. I had said clearly, on day one, that I wanted zero commands to remember. I actually built that, exactly once, for one single feature, the publish step. For everything else, install, fleet management, version locking, I kept adding a new command instead of wrapping it the same simple way. Each of these decisions was fine on its own. Add them all up, and you get a tool that only its own builder could drive.</p><p>So I am abandoning this build. Not the idea behind it, the idea is still good, and I proved enough of it live to trust it. What I am abandoning is this particular attempt. I do not think you fix a tool that has drifted this far from its own starting point by patching it here and there. You go back to that starting point and build toward it directly, this time holding the one rule that mattered most as non-negotiable from day one, not bolted on later for a single feature.</p><h2>The lessons</h2><ol><li><p><em><strong>Working software and the right software are two different tests.</strong></em>Every phase of this project passed its own review. Tests were green. Features worked. And the whole thing still drifted away from what I said I wanted at the start. Passing your own review is not the same as staying on course.</p></li><li><p>Ask <em><strong>&#8220;can I use this without notes&#8221;</strong></em> after every single milestone, not at the end.I should have run that test every week. I ran it once, forty days in, and by then the answer was already no.</p></li><li><p><em><strong>Building with AI is fast, and fast cuts both ways</strong></em>.You can go from idea to tested, working, reviewed code in hours. But it is just as easy to build your way away from your original intent as it is to build toward it, because every small step still feels justified, still passes review, still works. Nothing stops you automatically and asks if you are still headed where you meant to go.</p></li><li><p><em><strong>Complexity built with AI is easy to add, but surprisingly hard to unwind.</strong></em> Once a system gets complicated enough, with enough small decisions that each made sense in the moment, it becomes genuinely hard to undo. Not impossible, just hard in a way that quietly pushes you toward one more patch instead of a rethink. And when an AI can produce that next patch in minutes, the cost of &#8220;just one more fix&#8221; drops so low that you stop noticing how many fixes you have already made.</p></li><li><p><em><strong>Adversarial review is worth every bit of the extra time.</strong></em> The bugs that mattered most were never caught by a quick look. They showed up only when someone, or something, traced the whole path across files with the specific job of trying to break it.</p></li></ol><p></p><h2>What a DevOps engineer, SRE, or platform practitioner should take from this</h2><p>If you are exploring AI agents for operations work, three things worth carrying forward.</p><blockquote><p>One, put the safety boundary in the real system, not in the prompt. </p></blockquote><p>RBAC, scoped credentials, whatever your platform gives you. Never trust an agent&#8217;s good behaviour as your only line of defence.</p><p>Two, if you are building any kind of tool or workflow around agents, decide your usability bar before you write the first line, and check against it constantly, not once at the end. It is far easier to hold a line from the start than to pull a system back to it later.</p><p>And three, do not be afraid to restart. An abandoned build is not proof the idea was wrong. Sometimes it is proof you learned enough to try it again, better. That is exactly what I am doing next, same idea, different shape, and I will tell you how it goes.</p><p>The code for this attempt is public, MIT licensed, at <a href="https://github.com/agenticdevops/aoh">agenticdevops/aoh</a> </p><p>with docs at <a href="https://agenticdevops.github.io/aoh/">agenticdevops.github.io/aoh</a>. If any part of it is useful to you, take it further than I did.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Runbooks &amp; Robots! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What Really Happens When You Type a Query and Hit Enter in ChatGPT]]></title><description><![CDATA[A plain-English tour of prompt assembly, tokenization, prefill, decoding, sampling, and streaming.]]></description><link>https://runbooks.schoolofdevops.com/p/what-really-happens-when-you-hit</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/what-really-happens-when-you-hit</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Tue, 21 Jul 2026 05:49:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vXmn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Imagine dropping a letter into a post office box.</p><p>You do not see the sorting desk, the address check, the delivery route, or the worker handling each step.</p><p>ChatGPT feels like one box too. But the answer comes from a chain of small steps, not from a single magic reply button.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QGJU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QGJU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!QGJU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!QGJU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!QGJU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QGJU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hero diagram &#8212; AI chat request lifecycle&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero diagram &#8212; AI chat request lifecycle" title="Hero diagram &#8212; AI chat request lifecycle" srcset="https://substackcdn.com/image/fetch/$s_!QGJU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!QGJU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!QGJU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!QGJU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a490f2-3bbf-45f6-a774-a996f115913a_1600x900.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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">Hero diagram &#8212; AI chat request lifecycle</figcaption></figure></div><p>A chat box makes an AI system look simple.</p><p>You type a question. Words come back. It feels like a person read your message, thought for a moment, and wrote a reply.</p><p>That picture is useful, but it hides the real system. Behind the box is a request pipeline with rules, text splitting, model work, memory-like cache, one-token-at-a-time generation, and streaming.</p><p>The simplest mental model is this:</p><p><strong>Your prompt is a letter. The AI service is the post office. The answer is delivered piece by piece.</strong></p><p>That does not mean an LLM works like a human clerk. It does not. The analogy only helps us see the flow.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vXmn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vXmn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!vXmn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!vXmn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!vXmn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vXmn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Illustration &#8212; post office mental model&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="Illustration &#8212; post office mental model" title="Illustration &#8212; post office mental model" srcset="https://substackcdn.com/image/fetch/$s_!vXmn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!vXmn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!vXmn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!vXmn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb10aa294-c5fc-4dda-a4c0-d7126e1bc450_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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">Illustration &#8212; post office mental model</figcaption></figure></div><p>Think of the chat app like a post office.</p><p>Everyday pictureAI systemYou drop a letter in the boxYou press Enter with a promptThe post office prepares and sorts itThe app assembles context and tokenizes textA reply is handled through many small stepsThe model generates one token at a time</p><p>Where the analogy stops:</p><p>A post office moves physical letters. An LLM does math over token IDs. It does not understand, remember, or verify information the way a person does.</p><p>The analogy is only for the flow: package, sort, process, deliver.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading DevOps &amp; AI! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>When you press Enter, several things happen before the first word appears on screen:</p><ul><li><p>the app prepares the request,</p></li><li><p>safety and product rules may be attached,</p></li><li><p>your text is split into small units,</p></li><li><p>the model processes the full context,</p></li><li><p>the model starts choosing the next unit of output,</p></li><li><p>the app streams the reply as units arrive.</p></li></ul><p>The important shift is this: an LLM chat response is not a finished document fetched from a shelf. It is generated step by step.</p><h2>Step 1 &#8212; The app prepares the package</h2><p>The model usually does not receive only the sentence you typed.</p><p>A chat product can add hidden instructions, conversation history, tool descriptions, retrieved notes, file excerpts, safety metadata, and your latest message. The exact package depends on the product.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hJsf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hJsf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!hJsf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!hJsf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!hJsf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hJsf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagram &#8212; prompt package layers&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="Diagram &#8212; prompt package layers" title="Diagram &#8212; prompt package layers" srcset="https://substackcdn.com/image/fetch/$s_!hJsf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!hJsf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!hJsf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!hJsf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6564eb70-4b90-4d4d-8a0a-1f9f9b7b497a_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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">Diagram &#8212; prompt package layers</figcaption></figure></div><p>Plain-English version: before the letter goes to the worker, the service attaches the envelope, address label, rules, and previous conversation.</p><p>Technical name: this is <strong>request assembly</strong> or <strong>prompt assembly</strong>.</p><h2>Step 2 &#8212; The text is split into tokens</h2><p>The model does not read text exactly like people do.</p><p>It reads and writes <strong>tokens</strong>. A token is a small piece of text. It might be a whole word, part of a word, a space, punctuation, or a common text pattern.</p><p>So the model does not see one smooth sentence. It sees a list of token IDs, which are numbers that represent those small text pieces.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CWMG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CWMG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!CWMG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!CWMG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!CWMG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CWMG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagram &#8212; tokenization example&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="Diagram &#8212; tokenization example" title="Diagram &#8212; tokenization example" srcset="https://substackcdn.com/image/fetch/$s_!CWMG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!CWMG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!CWMG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!CWMG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5e2f0aa-e7fd-466b-b202-c72d81e60885_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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">Diagram &#8212; tokenization example</figcaption></figure></div><p>Plain-English version: the post office sorts a letter into small handling units. The model sorts text into small reading units.</p><p>Where the analogy stops: postal workers still understand addresses and letters as people. A model computes over numbers that stand for text pieces.</p><h2>Step 3 &#8212; The model reads the context first</h2><p>Before the answer begins, the model processes the tokens it has been given.</p><p>This first pass is often called <strong>prefill</strong>. It is the setup work before output starts.</p><p>During this step, the system also builds internal state used for attention. In many serving systems, that state is stored in a <strong>KV cache</strong>. You can think of it as a scratchpad the system uses so it does not have to redo all the same work for previous tokens at every step.</p><p>This helps explain why a long prompt can feel slow before the answer starts. The system has more material to read first.</p><h2>Step 4 &#8212; The model chooses one token</h2><p>After the setup, the model begins the part we experience as &#8220;typing.&#8221;</p><p>It scores many possible next tokens. Then the runtime chooses one of them. That chosen token is added to the growing answer.</p><p>Then the process repeats.</p><p>The loop is:</p><pre><code><code>read current context &#8594; score next tokens &#8594; choose one token &#8594; append it &#8594; repeat</code></code></pre><p>This is why the answer can change direction. Each token becomes part of the context for the next choice.</p><h2>Step 5 &#8212; The sampler controls how strict the choice is</h2><p>At each step, the model produces scores for candidate tokens. These raw scores are often called <strong>logits</strong>.</p><p>The runtime then applies a selection rule. Settings such as <strong>temperature</strong> and <strong>top-p</strong> change how strictly the system follows the highest-scoring options.</p><p>Plain-English version: if several next words are possible, the system can always pick the strongest guess, or it can allow some other reasonable guesses into the draw.</p><p>This does not make the model more truthful. It only changes how output is selected.</p><h2>Step 6 &#8212; The answer streams back before it is finished</h2><p>The app does not need to wait for the whole answer.</p><p>As tokens are created, they can be sent back to the browser or app. That is why you see the response appear gradually.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zzdx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zzdx!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif 424w, https://substackcdn.com/image/fetch/$s_!zzdx!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif 848w, https://substackcdn.com/image/fetch/$s_!zzdx!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif 1272w, https://substackcdn.com/image/fetch/$s_!zzdx!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zzdx!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:675,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Animated diagram &#8212; streaming response&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="Animated diagram &#8212; streaming response" title="Animated diagram &#8212; streaming response" srcset="https://substackcdn.com/image/fetch/$s_!zzdx!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif 424w, https://substackcdn.com/image/fetch/$s_!zzdx!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif 848w, https://substackcdn.com/image/fetch/$s_!zzdx!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif 1272w, https://substackcdn.com/image/fetch/$s_!zzdx!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fda717d-dc9a-4fef-81d3-d13c3400ba50_1200x675.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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">Animated diagram &#8212; streaming response</figcaption></figure></div><p>Plain-English version: the delivery person does not wait for the whole stack of mail to finish before showing movement. You see the route in progress.</p><p>Technical name: this is <strong>streaming</strong>.</p><h2>Operational trade-offs and failure modes</h2><h3>Long input changes the first wait</h3><p>There are two waits in an LLM response.</p><p>The first is the wait before output begins. This is often called <strong>time to first token</strong>.</p><p>The second is how fast the remaining output arrives. This is often measured as <strong>tokens per second</strong>.</p><p>A long prompt or long conversation can increase the first wait because the system must process more context before it starts generating.</p><h3>Context is helpful, but it costs capacity</h3><p>More context can help the model answer with more information.</p><p>But context is not free. More tokens require more compute and memory. More irrelevant context can also confuse the answer.</p><p>A good prompt is not always the longest prompt. It is the right information in the right order.</p><h3>A fluent answer is not always a checked answer</h3><p>The model is built to continue text.</p><p>That does not mean it checked a database, inspected your production logs, or verified a command. Unless the app connects the model to tools or trusted sources, the answer is generated from the provided context and learned patterns.</p><p>This is why a model can sound confident and still be wrong.</p><h3>Safety and permissions are part of the product</h3><p>A production AI chat system is more than the model.</p><p>There may be input filters, output checks, policy prompts, classifiers, rate limits, logging, tool permissions, and human approval steps.</p><p>If an assistant refuses, answers strangely, or cannot access something, the cause might be the model. It might also be the application around the model.</p><h3>Cost follows tokens</h3><p>Many hosted LLM systems charge for input and output tokens.</p><p>Long prompts, long histories, and long answers all matter. Token count is both a pricing concern and a capacity concern.</p><p>For teams building AI features, token usage is not trivia. It affects latency, memory, throughput, and cost.</p><h2>Practitioner takeaway</h2><p>For DevOps, platform, SRE, and AI engineering readers, the useful translation is:</p><ul><li><p><strong>Prompt length affects prefill.</strong> Longer context can increase time to first token.</p></li><li><p><strong>Output length affects decode.</strong> More generated tokens means more loop iterations.</p></li><li><p><strong>Streaming hides some latency, but not compute.</strong> The user sees progress while the backend still works.</p></li><li><p><strong>Token accounting is capacity planning.</strong> Tokens drive cost, memory pressure, queueing, and throughput.</p></li><li><p><strong>Policy sits around the model.</strong> Refusals, tool limits, and access failures may come from the harness, not only from the model weights.</p></li></ul><h2>Key takeaways</h2><ul><li><p><strong>ChatGPT is a request pipeline.</strong> The text box hides assembly, tokenization, inference, selection, and streaming.</p></li><li><p><strong>Tokens are the working unit.</strong> The model reads and writes small text pieces, not whole thoughts.</p></li><li><p><strong>The answer is built in a loop.</strong> One token is chosen, appended, and used to choose the next.</p></li><li><p><strong>Streaming is partial delivery.</strong> The answer can appear before generation is complete.</p></li><li><p><strong>Fluency is not verification.</strong> A generated answer still needs source-of-truth checks for real operational work.</p></li></ul><h2>Sources</h2><ul><li><p>Vaswani et al., &#8220;Attention Is All You Need&#8221;: https://arxiv.org/abs/1706.03762</p></li><li><p>Hugging Face Transformers documentation, generation strategies: https://huggingface.co/docs/transformers/en/generation_strategies</p></li><li><p>Hugging Face Tokenizers documentation: https://huggingface.co/docs/tokenizers/main/en/index</p></li><li><p>OpenAI API documentation, text generation: https://platform.openai.com/docs/guides/text-generation</p></li><li><p>OpenAI API documentation, streaming responses: https://platform.openai.com/docs/guides/streaming-responses</p></li><li><p>OpenAI <code>tiktoken</code> tokenizer repository: https://github.com/openai/tiktoken</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Container-Native AI: The DevOps On-Ramp to AI Infrastructure]]></title><description><![CDATA[Article 1 of 14 in the series &#8220;AI Infra, The Open Source Way&#8221; &#8212; for DevOps, Platform, and SRE folks who want to become AI Native without throwing away what they already know.]]></description><link>https://runbooks.schoolofdevops.com/p/container-native-ai-the-devops-on</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/container-native-ai-the-devops-on</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Fri, 17 Jul 2026 06:50:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yzp0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A while back, in one of my corporate workshops, a platform engineer walked in looking annoyed. His company had just received the Docker Desktop licensing email. That is the one which says: you have more than 250 employees now, so it is time to pay. Overnight, <code>docker</code> on his laptop had gone from a habit to a procurement ticket. He asked me, half joking, &#8220;So what do we do? Uninstall Docker and go back to VMs?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1xP9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1xP9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1xP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:294598,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1xP9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the same room, barely an hour later, another engineer said something I now hear everywhere: &#8220;AI is moving fast, and I feel like I am standing outside the room.&#8221;</p><p>Two different complaints. One answer. You do not go back to VMs, and you are not outside the AI room either. You go one level down, to the open standard underneath Docker. And that same standard, it turns out, is your on-ramp into AI. Let me show you why.</p><h2>The three roads to AI Native</h2><p>The way I see it, there are three roads a DevOps engineer can take into AI. I call this the <strong>AI Trinity for DevOps</strong>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EP04!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EP04!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 424w, https://substackcdn.com/image/fetch/$s_!EP04!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 848w, https://substackcdn.com/image/fetch/$s_!EP04!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 1272w, https://substackcdn.com/image/fetch/$s_!EP04!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EP04!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png" width="904" height="659" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:659,&quot;width&quot;:904,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:63345,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EP04!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 424w, https://substackcdn.com/image/fetch/$s_!EP04!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 848w, https://substackcdn.com/image/fetch/$s_!EP04!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 1272w, https://substackcdn.com/image/fetch/$s_!EP04!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol><li><p><strong>AI-Augmented DevOps.</strong> You use AI to do your existing job better. Copilots for your pipelines, agents that triage your alerts, AI that writes your Terraform.</p></li><li><p><strong>AI Infrastructure.</strong> That is MLOps, LLMOps, and AgentOps. You build and run the platforms that AI workloads live on. Someone has to serve the models, wire the vector databases, package the artifacts, and keep the whole thing secure. That someone looks a lot like you.</p></li><li><p><strong>Agentic DevOps.</strong> You build agents and agentic systems that do engineering work themselves.</p></li></ol><p>This series walks the second road. And here is the important point: the second road does not start with mathematics or model training. It starts with something you already know very well. Containers.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Agentic Ops Dispatch! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>You already have the skills. Really.</h2><p>Ask yourself what an AI stack actually needs in production. It needs a model served behind an API. It needs a database. It needs an app. It needs images built, versioned, pushed to a registry, scanned, signed, and shipped through CI.</p><p>Sound familiar? It should. This is your day job with one new workload type on top.</p><p>So who is best placed to run AI infrastructure? Not the data scientist who trained the model. The engineer who has been packaging, serving, isolating, and shipping software for years. That is you.</p><p>But there is one decision to get right before anything else, and it is the subject of the rest of this article.</p><h2>Container-native, not Docker-native</h2><p>Imagine you are standing at a shipping yard. A crane lifts a steel box off a ship and sets it down on a waiting truck. Stop here for a second and notice what nobody at the yard is doing. Nobody opens the box to check what is inside. Nobody asks which company owns the truck. The crane operator would handle ten thousand of these boxes a year without knowing what a single one contains. Why? Because the box follows a standard. Every crane, every ship, and every truck in the world is built for the same box.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yzp0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yzp0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yzp0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:664030,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yzp0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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"><em>the shipping yard &#8212; one box, any truck, any ship, any crane</em></figcaption></figure></div><p>Your application is the cargo. The container spec is the box. And Docker, Colima, OrbStack, Rancher Desktop, and Podman? They are just the carriers. The yard does not belong to any one of them.</p><p>Now, why does this matter suddenly? Because Docker Desktop is now <strong>paid for organisations with more than 250 employees or 10 million dollars in revenue</strong>. That is the email my workshop participant got. That one pricing change broke a lazy assumption the whole industry had been carrying: that &#8220;container&#8221; means &#8220;Docker Desktop&#8221;.</p><p>But here is the good news. The standard underneath Docker is fully open. It has two parts:</p><ul><li><p>The <strong>OCI image format</strong>, that is the standard for how container images are built and stored.</p></li><li><p>The <strong>Compose Spec</strong>, that is the standard for describing a multi-service stack in one file.</p></li></ul><p>Every serious runtime implements both. So the same <code>compose.yaml</code> would run without any changes on Colima, OrbStack, Rancher Desktop, or Podman.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xbz_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xbz_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 424w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 848w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 1272w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xbz_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png" width="1156" height="741" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6601744-7d89-458c-9e67-5ecc62266689_1156x741.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:741,&quot;width&quot;:1156,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68475,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Xbz_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 424w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 848w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 1272w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>One file. Four runtimes. The same result. So the rule for this whole series is simple: we learn <strong>container-native</strong>, not Docker-native. Which carrier you pick is your business.</p><h2>What do containers actually buy an AI stack?</h2><p>Think of a container as a sealed shipment. The model server, the embedding pipeline, the vector database, and the agent each travel in their own sealed box. Any machine can open them.</p><p>Concretely, containers give an AI system four things:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NVuw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NVuw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 424w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 848w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 1272w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NVuw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png" width="1456" height="859" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:859,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:144972,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NVuw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 424w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 848w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 1272w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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>Role What it means in practice <strong>Package</strong> Lock the Python version, the CUDA driver, and every library version. &#8220;Works on my machine&#8221; becomes &#8220;works on every machine&#8221;. <strong>Serve</strong> Run the embedding service, the vector DB, and the gateway behind predictable ports. Nothing pollutes the host. <strong>Isolate</strong> Two AI frameworks with clashing dependencies? Each lives in its own container. No virtualenv juggling. <strong>Ship</strong> Push to any OCI registry, that is GHCR, Docker Hub, or Quay. Pull and run anywhere.</p><p>Package, serve, isolate, ship. Keep these four words in mind. Every article in this series is about one or more of them, applied to AI.</p><h2>The one wrinkle: your laptop&#8217;s GPU</h2><p>Now here is the catch, and I want you to know it exists before you run anything.</p><p>On Apple Silicon Macs, a container <strong>cannot see the GPU</strong>. macOS gives the container&#8217;s virtual machine CPUs and memory, but no graphics device. So a model running inside a container on a Mac would fall back to CPU, and what takes one second natively would take three to six in the container. You cannot fix this with configuration. It is a hard platform boundary.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fGmV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fGmV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 424w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 848w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 1272w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fGmV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png" width="983" height="746" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:746,&quot;width&quot;:983,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:71977,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fGmV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 424w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 848w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 1272w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The pattern that solves it: run the model server <strong>natively</strong> on the Mac, where it can use the Metal GPU, and containerise everything else. The containers reach the model at one magic address: </p><p>http://host.docker.internal:11434</p><p>.</p><p>The next article is entirely about this. For now, just keep the picture in mind: the model stays native, everything else is a container.</p><h2>Prove it yourself in a few minutes</h2><p>Enough reading. Let&#8217;s prove the wiring works. We assume you have a container runtime installed (any of the four above) and <a href="https://ollama.com/">Ollama</a> installed natively.</p><p>Pull a small model. This one is under 1 GB:</p><pre><code><code>ollama pull qwen2.5:1.5b
</code></code></pre><p>Check it is being served natively:</p><pre><code><code>curl -s http://localhost:11434/api/tags
</code></code></pre><p>Now the real move. Start a throwaway container and call the model <strong>from inside it</strong>:</p><pre><code><code>docker run --rm curlimages/curl:latest -s \
  http://host.docker.internal:11434/api/generate \
  -d '{"model":"qwen2.5:1.5b","prompt":"Say hi in 5 words.","stream":false}'
</code></code></pre><p>You should get back JSON with a <code>"response"</code> field and a short reply from the model. Stop here for a second and notice what just happened. A container, which is your world, just called a locally served LLM, which is the new world, over a standard HTTP API. That is the whole bridge. Everything we build in this series stands on it.</p><h2>Where this series goes</h2><p>Over the next thirteen weeks we will build one realistic system, one step at a time, and every step runs on a normal 16 GB laptop:</p><ol><li><p>Serve a local model behind an OpenAI-compatible API, and swap engines without touching app code</p></li><li><p>Scale it with vLLM and understand batching and quantization</p></li><li><p>Package and version models as OCI artifacts, the same way you ship images</p></li><li><p>Build a RAG assistant over real runbooks, and see exactly where naive RAG breaks</p></li><li><p>Define an agent in plain Markdown files, with tools and guardrails</p></li><li><p>Grow it into a multi-agent incident crew</p></li><li><p>Secure the whole thing: guardrails, SBOM, scan, sign, eval</p></li><li><p>Ship it end to end, and prove portability by swapping the runtime</p></li></ol><p>No GPU cluster and no cloud bill. Just the open container standard, open-source AI tools, and the skills you already have.</p><p>If you understand this well, the rest will be easy to figure out. See you in the next one.</p><div><hr></div><p><em>This series is adapted from my 2-day hands-on workshop, <strong>Containers for GenAI &amp; Agentic AI &#8212; The Open-Source Way</strong>, where we build this entire stack step by step on a regular 16 GB laptop. If your team wants to run it live, reach out. And if you want the next article, subscribe &#8212; it&#8217;s free.</em></p>]]></content:encoded></item><item><title><![CDATA[What Uber’s Agentic Pods Can Teach Ops Teams]]></title><description><![CDATA[How to build an L1 agentic operations team with role-based profiles, reusable skills and safe workflows]]></description><link>https://runbooks.schoolofdevops.com/p/what-ubers-agentic-pods-can-teach</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/what-ubers-agentic-pods-can-teach</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Wed, 15 Jul 2026 04:46:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!iMa_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong><span>This is an operations adaptation of Uber&#8217;s published Agentic Pods method. </span></strong><span>It is not presented as an original replacement for Uber&#8217;s model. The goal is to apply the same core idea to SRE, Platform Engineering, DevOps and MLOps.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iMa_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iMa_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iMa_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1801515,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207112616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iMa_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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"><em>Uber&#8217;s Agentic Pods idea, adapted for operational workflows</em></figcaption></figure></div><p><strong><span>Uber&#8217;s method is simple. </span></strong><span>Pair an AI-proficient engineer with a domain expert. Shadow the real work. Find high-impact opportunities. Build an agent. Validate it with users. Then ship.</span></p><p><strong><span>The strongest lesson is this: </span></strong><span>the workflow is the unit of automation, not the individual task.</span></p><p><span>That fits operations well. Our work is full of repeated checks, manual investigation and context gathering. But operations also has a larger blast radius. So the method needs stronger boundaries, better testing and gradual automation.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Agentic Ops Dispatch! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong><span>Start with the work humans should not be doing</span></strong></h3><p><span>The first agentic operations team should look more like an L1 SRE or associate DevOps team than a group of autonomous senior engineers.</span></p><p><span>This is where agents can create immediate value. They can take on boring, repeatable and manual work. Work that is necessary, but not a good use of human attention.</span></p><ul><li><p><span>Search 100,000 log lines for the one abnormal pattern.</span></p></li><li><p><span>Collect incident context from alerts, metrics, logs and recent changes.</span></p></li><li><p><span>Enrich and deduplicate alerts.</span></p></li><li><p><span>Check why a Kubernetes workload is pending.</span></p></li><li><p><span>Verify a deployment and compare before-and-after signals.</span></p></li><li><p><span>Investigate a failed CI/CD or ML pipeline.</span></p></li><li><p><span>Draft an incident timeline or handover.</span></p></li><li><p><span>Run safe, well-defined parts of a runbook.</span></p></li><li><p><span>Prepare capacity, reliability and cost reports.</span></p></li></ul><p><strong><span>These are not trivial problems. </span></strong><span>They often consume hours because the evidence is spread across many tools. Agents are good at searching, collecting, correlating and summarizing that evidence.</span></p><div class="callout-block" data-callout="true"><p><span>Senior engineers should still handle novel failures, architecture decisions, trade-offs, high-risk remediation and unclear situations. The agentic team removes noise. Humans handle impact.</span></p></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9qj6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9qj6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 424w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 848w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 1272w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9qj6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png" width="988" height="270" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c47774a4-d4bd-4fff-9f31-b17833195336_988x270.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:270,&quot;width&quot;:988,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:288574,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207112616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9qj6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 424w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 848w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 1272w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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"><em>Start with L1 and associate-level toil. Move towards execution only after the system earns trust.</em></figcaption></figure></div><p style="text-align: center;"></p><h3><strong><span>Build agents the way we build teams</span></strong></h3><p><span>A profile should represent a role. A skill should represent a capability. A workflow should combine skills to achieve a goal.</span></p><p style="text-align: center;"><strong><span>Profile = Role   &#8226;   Skill = Capability   &#8226;   Workflow = Work   &#8226;   Goal = Outcome</span></strong></p><p><strong><span>Profiles map to real roles. </span></strong><span>Examples include SRE for Team X, PlatformOps Engineer, Deployment Engineer, Kubernetes Operations Engineer or MLOps Engineer.</span></p><p><span>The profile defines the agent&#8217;s scope, services, tools, permissions, memory, policies and escalation path. An SRE for Team X should know Team X&#8217;s services, dashboards, SLOs, repositories, clusters and on-call process.</span></p><p><strong><span>Skills map to functions and capabilities. </span></strong><span>Examples include querying logs, collecting incident evidence, inspecting Kubernetes workloads, checking recent deployments, detecting configuration drift, calculating SLO impact, preparing a rollback plan or drafting an incident report.</span></p><p><span>The same skill can be reused by many profiles. A Kubernetes inspection skill may be used by an SRE, a PlatformOps engineer and an MLOps engineer. Each profile uses it with different context and permissions.</span></p><p><strong><span>A goal combines several skills. </span></strong><span>To investigate a rise in checkout-service errors, the SRE profile may collect alert context, search logs, inspect Kubernetes, check recent deployments, correlate metrics, explain the likely cause and prepare the next action.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gp0X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gp0X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 424w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 848w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 1272w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gp0X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png" width="958" height="308" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/728178c3-61c4-4283-b4f7-090d7b407559_958x308.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:308,&quot;width&quot;:958,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:330720,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207112616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gp0X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 424w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 848w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 1272w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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"><em>Role-based profiles own context and boundaries. Reusable skills provide capabilities.</em></figcaption></figure></div><p style="text-align: center;"></p><h2><strong><span>A compact way to adapt Uber&#8217;s method</span></strong></h2><p><span>Pick one high-toil, low-risk workflow. Read-only investigation is usually the best first target.</span></p><p><span>Pair the operator with an agent builder. The operator knows the real work. The builder knows models, tools and automation.</span></p><p><span>Shadow the workflow. Capture the hidden checks and judgement that are missing from the runbook.</span></p><p><span>Create a profile for the role. Add only the context, tools and permissions that role needs.</span></p><p><span>Convert the runbook into small skills. Each skill should have clear inputs, tools, expected evidence, constraints and an escalation path.</span></p><p><span>Test in shadow mode. Compare the agent&#8217;s output with real incidents and experienced engineers.</span></p><p><span>Move up the safety ladder slowly. Add approvals, audit logs and bounded execution only after the workflow proves reliable.</span></p><h3><strong><span>Use Hermes to experiment, not to skip governance</span></strong></h3><p><span>Hermes can be a useful starting harness because it supports separate profiles, memory, sessions, tools and skills. That maps well to role-based operational agents.</span></p><p><span>For example, you could create profiles such as sre-team-x, platform-ops, deployment-engineer, mlops-team-y.</span></p><p><span>Start with a few shared skills: collect incident context, search logs, inspect Kubernetes, check deployments and draft a report. Then test them against real cases.</span></p><div class="callout-block" data-callout="true"><p><strong><span>One warning matters: </span></strong><span>a profile is not a security boundary. Prompts can guide behaviour, but they do not enforce permissions. Use least-privilege credentials, tool allowlists, sandboxes, approval gates, timeouts, rollback and audit logs outside the model.</span></p></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sOG1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sOG1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 424w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 848w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 1272w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sOG1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png" width="958" height="238" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:238,&quot;width&quot;:958,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:273039,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207112616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sOG1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 424w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 848w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 1272w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><em>A practical path: find and build, validate and harden, then scale what works.</em></figcaption></figure></div><h3><strong><span>Do not measure success only by autonomy</span></strong></h3><p><span>Most teams can get strong value before an agent is allowed to change production.</span></p><p><span>Observe: gather evidence.</span></p><p><span>Explain: summarize what is happening.</span></p><p><span>Recommend: suggest the next step.</span></p><p><span>Prepare: draft commands, patches or change plans.</span></p><p><span>Execute with approval: act only after a human reviews the exact action.</span></p><p><span>Levels one to four can remove a large amount of toil. Full autonomy is not the goal. Reliable help is.</span></p><h2><strong><span>The practical recommendation</span></strong></h2><p><span>Do not begin by building an autonomous SRE platform. Begin by building a small agentic operations team for L1 work.</span></p><p><span>Create profiles that match real roles. Give them reusable skills. Combine those skills into clear workflows. Start with read-only access. Validate on real incidents. Keep humans responsible for important decisions.</span></p><blockquote><p style="text-align: center;"><strong><span>Let agents handle the noise. Let engineers handle the impact.</span></strong></p></blockquote><p><span>Uber&#8217;s Agentic Pods method gives us a useful operating model. The operations adaptation adds the pieces our field needs: role boundaries, reusable capabilities, deterministic tools, shadow testing, approvals and auditability.</span></p><p><span>Start small. Automate the boring. Build trust. Then expand.</span></p><h3><strong><span>Sources and further reading</span></strong></h3><p><a href="https://eng.uber.com/"><span>Uber Engineering: Agentic Pods overview</span></a></p><p><a href="https://sre.google/sre-book/eliminating-toil/"><span>Google SRE: Eliminating Toil</span></a></p><p><a href="https://github.com/NousResearch/hermes-agent/blob/main/website/docs/user-guide/profiles.md"><span>Hermes Agent: Profiles documentation</span></a></p><p><a href="https://github.com/NousResearch/hermes-agent/blob/main/website/docs/user-guide/features/skills.md"><span>Hermes Agent: Skills system</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Fire Your SRE. Keep the Pager. Pay the Token Bill]]></title><description><![CDATA[What does it really cost to replace an SRE with AI? This article examines token pricing, API usage, review effort, failure risk, institutional knowledge and the production infrastructure required to operate autonomous DevOps agents&#8212;separating real automation potential from AI workforce-replacement hype.]]></description><link>https://runbooks.schoolofdevops.com/p/fire-your-sre-keep-the-pager-pay</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/fire-your-sre-keep-the-pager-pay</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Tue, 14 Jul 2026 04:40:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WDJy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedba488e-3756-4d35-8038-9665ea7c85c6_1122x1402.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>AI CEOs are selling labour replacement using subscription prices. The pager, the token meter and the outage report tell a different story.</h2><p>The newest AI employee apparently costs $20, $100 or perhaps $200 a month.</p><p>It writes code. It analyses logs. It creates Terraform. It investigates incidents. It never sleeps, never asks for a promotion and never complains about being on call.</p><p>Place that next to the salary of a senior SRE, DevOps engineer or platform engineer, and the conclusion appears obvious:</p><p><strong>The engineer is an expensive legacy interface. The agent is the future.</strong></p><p>There is only one problem.</p><p><strong>The comparison is economically meaningless.</strong></p><p>A flat-rate AI subscription is the price of giving one person access to a model under usage controls. It is not the cost of operating an autonomous production worker that continuously reads telemetry, retrieves context, invokes tools, retries failed actions, validates results, maintains state, produces audit evidence and remains available during an incident.</p><p>Replacing an engineer means replacing more than the visible actions they perform.</p><p>You must replace the work, the context, the judgement, the coordination and the accountability.</p><p>Once we calculate that system honestly, the $200 AI employee starts looking less like an employee and more like a heavily discounted demonstration.</p><div><hr></div><h2>Welcome to Signal Over Hype</h2><p>This is the first edition of <strong>Signal Over Hype</strong>, a new Agentic Ops Dispatch series for DevOps, SRE, platform, infrastructure and AI engineers.</p><p>The purpose of this series is not to dismiss AI.</p><p>I use these systems every day. I believe AI will automate a substantial portion of operational work. Engineers who learn to work effectively with agents will have a serious advantage over those who ignore them.</p><p>But engineers are increasingly being asked to make career, architecture and workforce decisions in an environment filled with vendor incentives, executive predictions, benchmark theatre and social-media fear and FOMO. </p><p>In each edition, we will take one popular claim and examine it using:</p><p>Facts.</p><p>First principles.</p><p>Production experience.</p><p>Economic incentives.</p><p>And ordinary engineering common sense.</p><p>The recurring question will be simple:</p><blockquote><p><strong>What remains true after the keynote ends and the system has to run in production?</strong></p></blockquote><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Agentic Ops Dispatch! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>The job-displacement claim is not imaginary</h2><p>In May 2025, Anthropic CEO Dario Amodei warned that AI could eliminate half of entry-level white-collar jobs within one to five years and push unemployment significantly higher. The statement was framed as a warning rather than a celebration, but it contributed to a powerful narrative: organisations should prepare for rapid labour replacement because the technology is moving faster than workers or governments realise.</p><p>It would be foolish to dismiss this simply because the prediction came from the CEO of an AI company.</p><p>The models are improving quickly.</p><p>METR&#8217;s research has found that the difficulty of software tasks frontier agents can complete with 50% reliability has increased rapidly over several years. Its researchers originally estimated a doubling in the measured task horizon roughly every seven months. METR also stresses an important qualification: this measures the difficulty of a task based on how long a human would take to complete it. It does not mean that an AI agent can safely run unattended in production for that many hours.</p><p>There will be displacement.</p><p>Some teams will become smaller. Some entry-level activities will disappear. Some companies will use AI to reduce hiring. Others will use AI as the explanation for cuts they already wanted to make.</p><p>But we should also notice that the industry narrative is not uniform.</p><p>OpenAI&#8217;s own 2025 employment paper said that the evidence available at the time pointed towards AI helping developers do more rather than simply replacing them. Anthropic&#8217;s 2026 labour-market research similarly reported limited evidence of broad employment effects so far, although it found suggestive evidence that hiring of younger workers may have slowed in highly exposed occupations.</p><p>That is the signal:</p><p><strong>AI can perform more engineering work, and the labour market is beginning to adjust.</strong></p><p>The hype begins when we jump from that observation to:</p><p><strong>A $200 subscription can replace an SRE.</strong></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OmhK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OmhK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OmhK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png" width="1122" height="1402" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edba488e-3756-4d35-8038-9665ea7c85c6_1122x1402.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1402,&quot;width&quot;:1122,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2498279,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/206961208?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedba488e-3756-4d35-8038-9665ea7c85c6_1122x1402.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OmhK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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"><em>The subscription is cheap. The production dependency is not.</em></figcaption></figure></div><div><hr></div><h2>The first trick: compare a seat licence with a salary</h2><p>Claude Max currently offers an individual plan priced at $200 per month with higher usage capacity than its standard plans.</p><p>That is real.</p><p>It is also almost entirely irrelevant to the cost of replacing an engineer.</p><p>Anthropic describes the Max plan as an individual-user product. It separately states that Claude subscriptions and Claude API usage are different products with different billing. Additional API or usage-credit consumption is charged independently of the subscription.</p><p>This distinction matters.</p><p>A person using Claude Code interactively is not the same workload as an autonomous operations platform.</p><p>A person chooses a task, provides context, waits for the result, inspects the answer and stops when the work is complete.</p><p>A production agent may:</p><p>Wake up for every alert.</p><p>Read logs, traces, dashboards, manifests, tickets and runbooks.</p><p>Send much of that context back to the model at every reasoning step.</p><p>Launch parallel subagents.</p><p>Retry failed tool calls.</p><p>Ask another model to review the first model.</p><p>Retain state across a long-running incident.</p><p>Create an evidence trail for every action.</p><p>Operate when nobody is watching.</p><p>And escalate to a more capable model whenever the cheaper one becomes confused&#8212;which, as production engineers know, is usually shortly before the dangerous part.</p><p>The $200 plan is not deceptive.</p><p>It is simply the wrong unit for the comparison.</p><p>Comparing an AI seat licence with the salary of an engineer is like comparing the price of Microsoft 365 with the cost of running the finance department.</p><div><hr></div><h2>The viral 320-million-token receipt</h2><p>The image that inspired this article compares a $200 Claude subscription with an $8,000 API bill for 320 million tokens.</p><p>The arithmetic can be correct under a particular assumption.</p><p>Anthropic currently lists Claude Opus 4.8 at $5 per million input tokens and $25 per million output tokens. At those rates, 320 million output tokens would indeed cost $8,000. The same number of input tokens would cost $1,600.</p><p>But &#8220;320 million tokens&#8221; by itself is not a workload description.</p><p>You need to know:</p><p>Which model was used?</p><p>How many tokens were input versus output?</p><p>How much repeated context was cached?</p><p>How many tool results were added back into the conversation?</p><p>How many retries occurred?</p><p>How many agents operated in parallel?</p><p>Was the workload interactive, batched or long-running?</p><p>Was an expensive model used for everything, including tasks a smaller model or a twenty-line script could have handled?</p><p>Using the published Opus rates, a workload containing 90% input and 10% output would cost roughly $2,240 for 320 million total tokens&#8212;not $8,000.</p><p>A cheaper model could reduce it further. Prompt caching and batching could reduce some costs again. Poor context management, excessive retries and uncontrolled subagents could send them in the opposite direction.</p><p>So the honest conclusion is not:</p><blockquote><p>Your $200 subscription secretly costs $8,000.</p></blockquote><p>The honest conclusion is:</p><blockquote><p><strong>A subscription price tells you almost nothing about the cost of a production agent until you define the model, input-output ratio, context, caching, concurrency, retry behaviour and workload.</strong></p></blockquote><p>That is less viral.</p><p>It is also true.</p><p>Anthropic&#8217;s own Claude Code documentation says enterprise deployments average around $150&#8211;$250 per active developer per month, although costs vary significantly with model choice, codebase size, automation and concurrent usage.</p><p>That is important counterevidence.</p><p>Useful AI assistance can be economically attractive.</p><p>But notice the unit again:</p><p><strong>Per developer.</strong></p><p>That is the cost of augmenting a human.</p><p>It is not the cost of replacing the organisational function that the human performs.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gwd6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gwd6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gwd6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png" width="1122" height="1402" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1402,&quot;width&quot;:1122,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1065649,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/206961208?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gwd6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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"><em>Same tokens. Very different bill. The input-output mix matters.</em></figcaption></figure></div><div><hr></div><h2>An SRE is not a command-typing machine</h2><p>The original SRE concept was never based on paying humans to repeat shell commands forever.</p><p>Google defines toil as repetitive, predictable and automatable operational work. Its SRE organisation has historically aimed to keep operational toil below half of an engineer&#8217;s time, leaving at least 50% for engineering work that reduces future toil or improves reliability, performance and utilisation.</p><p>In other words:</p><div class="callout-block" data-callout="true"><p><strong>Automating operational work is not the destruction of SRE. It is the job of SRE.</strong></p></div><p>The role includes:</p><p>Designing systems that fail safely.</p><p>Defining SLOs and error budgets.</p><p>Building delivery and rollback mechanisms.</p><p>Reviewing production readiness.</p><p>Managing capacity and cost.</p><p>Improving observability.</p><p>Coordinating incidents.</p><p>Understanding dependencies.</p><p>Negotiating risk with product and business teams.</p><p>And creating systems that need less human intervention over time.</p><p>A model can generate a <code>kubectl</code> command.</p><p>That is not the same as knowing whether the command should be run.</p><blockquote><p>It does not automatically know whether the evidence is complete, whether the operation is reversible, what the blast radius is, which customer commitment is at risk, whether the database can tolerate the failover or who has authority to accept the consequences.</p></blockquote><p>The pager is not requesting text generation.</p><p>It is requesting ownership.</p><div><hr></div><h2>The five real costs of replacing an SRE</h2><h3>1. Model access</h3><p>This is the cost everyone talks about:</p><p>Input tokens.</p><p>Output tokens.</p><p>Reasoning tokens.</p><p>Cache reads and writes.</p><p>Tool-call context.</p><p>Web searches.</p><p>Multimodal input.</p><p>Retries.</p><p>Parallel agents.</p><p>Background jobs.</p><p>And escalation to premium models.</p><p>It may still be much cheaper than an engineer&#8217;s salary.</p><p>That is entirely possible.</p><p>But it is only the first line of the bill.</p><h3>2. The execution harness</h3><p>A production agent requires an operating environment around the model.</p><p>You need identity and access control.</p><p>Secrets management.</p><p>Tool or MCP gateways.</p><p>Policy enforcement.</p><p>Approval workflows.</p><p>State and memory.</p><p>Scheduling and event triggers.</p><p>Sandboxed execution.</p><p>Model routing.</p><p>Evaluations.</p><p>Observability.</p><p>Audit logs.</p><p>Rate and cost limits.</p><p>Rollback mechanisms.</p><p>Provider failover.</p><p>And a way to stop the agent when it begins confidently fixing the wrong problem.</p><blockquote><p>Google&#8217;s SRE guidance describes automation as a force multiplier, not a panacea. Thoughtless automation can create as many problems as it solves.</p><p>LLMs make this principle more important, not less.</p></blockquote><p>Traditional automation is generally wrong in repeatable ways.</p><p>Probabilistic automation can be wrong creatively.</p><h3>3. Human review</h3><p>Automation does not eliminate labour whenever someone must inspect, approve or correct its output.</p><p>A more useful formula is:</p><blockquote><p><strong>Net automation value = labour avoided &#8722; review labour &#8722; correction labour &#8722; platform cost &#8722; expected failure cost</strong></p></blockquote><p>Suppose an agent saves an engineer forty minutes.</p><p>It then requires twenty minutes of review.</p><p>Once every ten runs, it creates an hour of correction work.</p><p>The productivity benefit is not forty minutes.</p><p>And that is before accounting for infrastructure, token usage, security controls and context switching.</p><p>Research on AI productivity is not one-directional.</p><p>DORA&#8217;s 2024 findings associated AI adoption with improvements in individual productivity, flow and job satisfaction, while also finding negative relationships with software delivery stability and throughput. Its 2025 work described AI more positively as an amplifier of the surrounding organisational system: strong teams benefit more, while weak processes become faster at producing downstream chaos.</p><p>METR&#8217;s 2025 study of experienced open-source developers found that participants took 19% longer when permitted to use AI tools on mature projects they understood well. Strikingly, the developers believed they had become faster.</p><p>Both results can be true.</p><p>AI can accelerate well-scoped work while slowing experts in high-context environments where prompting, reviewing, correcting and steering the tool becomes expensive.</p><p>Production operations is one of the highest-context environments we have.</p><h3>4. Failure and blast radius</h3><p>A wrong answer in a document creates editing work.</p><p>A wrong production action can:</p><p>Delete data.</p><p>Expose credentials.</p><p>Break routing.</p><p>Corrupt state.</p><p>Increase cloud spending.</p><p>Violate a regulatory control.</p><p>Extend an outage.</p><p>Or create a second incident while attempting to resolve the first.</p><p>Uptime Institute&#8217;s 2026 analysis found that 57% of respondents said their most recent major outage cost more than $100,000. One in five said it exceeded $1 million.</p><p>You do not need many autonomous-agent mistakes at that price before the salary comparison starts looking childish.</p><p>The expected failure cost is not:</p><blockquote><p>Probability of a model error &#215; cost of an API request.</p></blockquote><p>It is:</p><blockquote><p>Probability of an unsafe decision escaping your controls &#215; business impact of the action.</p></blockquote><p>That is why dry runs, bounded permissions, staged execution, canaries, approvals and rollback are not bureaucratic additions.</p><p>They are part of the product.</p><h3>5. Knowledge and accountability</h3><p>Experienced engineers hold knowledge that is only partly documented.</p><p>Why does the architecture look unnecessarily complicated?</p><p>Because the simpler version failed during a peak event four years ago.</p><p>Why has nobody removed that temporary workaround?</p><p>Because it quietly became load-bearing.</p><p>Why is one alert routinely ignored?</p><p>Because it lies.</p><p>Why is another apparently harmless warning taken seriously?</p><p>Because it appears fifteen minutes before the system collapses.</p><p>Which customer cannot tolerate a five-minute disruption?</p><p>Which deployment order is dangerous?</p><p>Which dashboard stays green during the precise failure you fear?</p><p>An AI system can retrieve recorded knowledge.</p><p>It cannot reliably retrieve what the organisation never recorded.</p><p>If a company removes engineers before converting that knowledge into runbooks, executable skills, tests, policies, dependency maps and incident history, it is not eliminating cost.</p><p>It is deleting state.</p><p>Accountability is harder still.</p><p>NIST&#8217;s generative-AI risk guidance recommends defining human-AI responsibilities, applying suitable human oversight, and maintaining review, tracking and documentation appropriate to the risk.</p><blockquote><p>When an agent recommends deleting a cluster, who approves the decision?</p><p>When it is wrong, who owns the incident?</p><p>When the regulator asks who accepted the risk, do we provide the model ID?</p></blockquote><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aige!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aige!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!aige!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!aige!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!aige!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aige!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png" width="1448" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/caf95cfd-24e3-4222-a543-7fd859646195_1448x1086.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:1448,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1456181,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/206961208?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf95cfd-24e3-4222-a543-7fd859646195_1448x1086.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aige!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!aige!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!aige!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!aige!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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"><em>Automate tasks. Do not pretend accountability disappeared.</em></figcaption></figure></div><div><hr></div><h2>Follow the money&#8212;but do not invent a conspiracy</h2><p>It is tempting to tell a neat story:</p><p>AI companies are subsidising subscriptions now.</p><p>They want organisations to become dependent.</p><p>Once companies fire their employees, token prices will rise.</p><p>The vendors will collect the difference forever.</p><p>Parts of this are plausible.</p><p>The full story is not yet proven.</p><p>Technology companies frequently use flat-rate plans, free tiers, credits and generous usage limits to accelerate adoption. Production workloads then move towards metered infrastructure, enterprise contracts and consumption-based billing.</p><p>But model prices can also fall as hardware, inference software and competition improve. Customers can route workloads to cheaper models. Caching and batching can reduce costs. Open models and local inference create alternatives.</p><p>The stronger, evidence-based argument is this:</p><p>Subscription access and API consumption are different products.</p><p>Production automation tends to expose real usage costs.</p><p>Operational integration creates switching costs.</p><p>And once your company&#8217;s runbooks, workflows, memory, tooling and approvals are built around one provider, that provider gains commercial leverage&#8212;even when the cost per token falls.</p><p>The largest risk is not necessarily that a token becomes more expensive.</p><p>The risk is that your organisation becomes unable to operate without a particular model, memory format, proprietary agent runtime or vendor-controlled tool ecosystem.</p><p>We have seen this movie before.</p><p>This time the lock-in comes with a friendly chatbot.</p><div><hr></div><h2>What will actually be automated</h2><p>A large portion of today&#8217;s operational toil is highly automatable:</p><p>Alert enrichment and deduplication.</p><p>Log and trace summarisation.</p><p>Incident timeline construction.</p><p>Runbook drafting.</p><p>Routine script generation.</p><p>Configuration and policy checks.</p><p>Change preparation.</p><p>Documentation.</p><p>Dependency lookup.</p><p>Ticket triage.</p><p>Known-issue diagnosis.</p><p>Post-incident summaries.</p><p>Capacity analysis.</p><p>And execution of constrained, reversible procedures.</p><p>Some of this should use frontier models.</p><p>Some should use smaller or local models.</p><p>Some should use conventional code.</p><p>Calling the most expensive model available to parse a known JSON document is not AI-native engineering.</p><p>It is a refusal to write twenty lines of Python.</p><p>The goal is not maximum AI usage.</p><p>The goal is the minimum reliable cost for the required outcome.</p><div><hr></div><h2>What should remain human-led&#8212;for now</h2><p>Most serious organisations should continue to keep human ownership around:</p><p>Incident command.</p><p>Architecture decisions.</p><p>Reliability and cost trade-offs.</p><p>Risk acceptance.</p><p>Security-sensitive changes.</p><p>Ambiguous diagnosis.</p><p>Cross-team coordination.</p><p>Customer communication.</p><p>Novel failure modes.</p><p>Regulatory accountability.</p><p>And any action whose blast radius exceeds the system&#8217;s ability to recover safely.</p><p>The boundary will move.</p><p>Agents will become more capable. Evaluations will improve. Organisations will gather successful production history. Permissions and policies will become more granular.</p><p>But the correct way to move this boundary is through evidence:</p><p>Tested historical incidents.</p><p>Measured success rates.</p><p>Controlled production deployments.</p><p>Bounded permissions.</p><p>Demonstrated rollback.</p><p>And clear escalation paths.</p><p>Not because an executive said the future was arriving next quarter.</p><div><hr></div><h2>Can AI reduce the size of an SRE team?</h2><p>Yes.</p><p>That is an entirely reasonable outcome.</p><div class="callout-block" data-callout="true"><p>A smaller team may be able to operate a much larger estate by using AI for diagnosis, change preparation, routine remediation, documentation and operational analysis.</p></div><p>AI may reduce the number of engineers needed for some kinds of systems.</p><p>But this becomes responsible only when:</p><p>The service has clear SLOs.</p><p>Operational knowledge is documented.</p><p>Common incidents have tested runbooks.</p><p>Deterministic actions use deterministic code.</p><p>Agent permissions are narrowly scoped.</p><p>High-risk actions require approval.</p><p>Changes are staged and reversible.</p><p>Telemetry is trustworthy.</p><p>The agent is evaluated against historical incidents.</p><p>Costs are measured end to end.</p><p>Humans can take control.</p><p>And the remaining team has enough capacity to improve the system instead of spending every day supervising bots.</p><p>It is not responsible when the organisation has:</p><p>Weak observability.</p><p>Undocumented systems.</p><p>Shared administrator credentials.</p><p>Unreliable tests.</p><p>No rollback process.</p><p>No incident-command discipline.</p><p>Unclear ownership.</p><p>And a management strategy that can be summarised as:</p><blockquote><p>Claude will figure it out.</p></blockquote><p>The more chaotic the environment, the more impressive an AI demonstration can appear.</p><p>It is also the environment in which autonomous execution is most dangerous.</p><div><hr></div><h2>The architecture that makes economic sense</h2><p>The sensible Agentic DevOps architecture is not:</p><blockquote><p>Send every operational event to the largest frontier model available.</p></blockquote><p>It is layered.</p><h3>Deterministic code for deterministic work</h3><p>Use scripts, APIs, controllers, workflow systems and policy engines when the rules are known.</p><p>A model does not need to decide how to restart a service when the procedure is already deterministic, tested and safe.</p><h3>Skills for reusable operational knowledge</h3><p>Convert runbooks and procedures into versioned skills containing:</p><p>Instructions.</p><p>Scripts.</p><p>Expected evidence.</p><p>Preconditions.</p><p>Tests.</p><p>Permissions.</p><p>Escalation rules.</p><p>And rollback steps.</p><p>This turns institutional knowledge into a portable operational asset rather than a collection of documents an agent may or may not interpret correctly.</p><h3>Smaller or local models for predictable cognition</h3><p>Use efficient models for:</p><p>Classification.</p><p>Extraction.</p><p>Routing.</p><p>Summarisation.</p><p>Known-pattern diagnosis.</p><p>And low-risk decision support.</p><p>These workloads do not always need frontier reasoning.</p><h3>Frontier models for genuinely hard problems</h3><p>Use the most capable models when ambiguity, novel incidents, architecture analysis or complex synthesis justifies the additional cost.</p><p>The expensive model should be an escalation path.</p><p>Not the default parser for every log line.</p><h3>A governed execution harness around everything</h3><p>Add:</p><p>Identity.</p><p>Policy.</p><p>Approvals.</p><p>Observability.</p><p>Evaluations.</p><p>Budgets.</p><p>Audit.</p><p>Isolation.</p><p>Rollback.</p><p>And human escalation.</p><p>This architecture reduces dependence on any one model vendor.</p><p>It also allows the organisation to improve its operational system while models continue to change.</p><p>Models are replaceable components.</p><p>Your skills, telemetry, controls and institutional knowledge are the durable assets.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MR8s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MR8s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MR8s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png" width="1448" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45fa7b08-c5a7-43b4-8acc-d14ace5664d4_1448x1086.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:1448,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1199840,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/206961208?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45fa7b08-c5a7-43b4-8acc-d14ace5664d4_1448x1086.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MR8s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><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"><em>Use frontier intelligence where it earns its cost. Use deterministic systems everywhere else.</em></figcaption></figure></div><p></p><h2>The verdict</h2><p>AI will change SRE, DevOps and platform engineering profoundly.</p><p>It will eliminate toil.</p><p>It will compress some roles.</p><p>It will allow smaller teams to run larger systems.</p><p>It may eventually operate significant production environments with limited human supervision.</p><p>But replacing an SRE with a chatbot subscription is not transformation.</p><p>It is an accounting illusion.</p><p>The real comparison is not:</p><blockquote><p>Engineer salary versus AI subscription.</p></blockquote><p>It is:</p><blockquote><p>The fully loaded cost and risk of a human-led engineering system versus the fully loaded cost and risk of an AI-led engineering system.</p></blockquote><p>Sometimes the AI-led system will win.</p><p>Frequently, the best answer will be a smaller and stronger engineering team operating a well-governed automation platform.</p><p>And in immature organisations, removing the engineers first may be the most expensive decision of all.</p><p>So automate aggressively.</p><p>Measure token consumption.</p><p>Measure review time.</p><p>Measure failed actions.</p><p>Build reusable skills.</p><p>Use local models where they are sufficient.</p><p>Use frontier models where they earn their cost.</p><p>Require human approval where the blast radius demands it.</p><p>But do not fire the people who understand production because somebody compared their salary with the promotional price of a model subscription.</p><p><strong>Fire the toil. Keep the SRE. Modernise the pager.</strong></p><p>Because the pager does not care about the keynote.</p><p>And when it rings at 3:17 in the morning, somebody still owns the outcome.</p><div><hr></div><h2>About Signal Over Hype</h2><p><strong>Signal Over Hype</strong> is an Agentic Ops Dispatch series, curated by <a href="https://www.linkedin.com/in/gouravshah/">Gourav Shah</a>,  examining the claims shaping DevOps, SRE, platform engineering, AI infrastructure and agentic operations.</p><p>No reflexive optimism.</p><p>No reflexive pessimism.</p><p>Just facts, incentives, first principles and production reality.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://runbooks.schoolofdevops.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Sources and further reading</h2><p><a href="https://support.claude.com/en/articles/11049762-choose-a-claude-plan">Anthropic, &#8220;Choose a Claude plan&#8221; and documentation covering subscription versus API billing.</a></p><p><a href="https://platform.claude.com/docs/en/about-claude/pricing">Anthropic, Claude Platform pricing and Claude Code cost guidance.</a></p><p><a href="https://www.anthropic.com/research/labor-market-impacts">Anthropic, &#8220;Labor market impacts of AI: A new measure and early evidence,&#8221; March 2026.</a></p><p><a href="https://cdn.openai.com/global-affairs/06025361-1ede-4402-97d2-daf1e5918b43/jobs-in-the-intelligence-age-sept-2025.pdf">OpenAI, &#8220;Jobs in the Intelligence Age,&#8221; September 2025.</a></p><p><a href="https://metr.org/time-horizons/">METR, research on AI task-completion horizons and experienced developer productivity.</a></p><p><a href="https://dora.dev/research/2024/dora-report/">DORA, 2024 and 2025 research on AI-assisted software development.</a></p><p><a href="https://sre.google/sre-book/eliminating-toil">Google, </a><em><a href="https://sre.google/sre-book/eliminating-toil">Site Reliability Engineering</a></em><a href="https://sre.google/sre-book/eliminating-toil">: &#8220;Eliminating Toil&#8221; and &#8220;The Evolution of Automation at Google.&#8221;</a></p><p><a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">NIST, </a><em><a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile</a></em><a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">.</a></p><p><a href="https://intelligence.uptimeinstitute.com/resource/annual-outage-analysis-2026">Uptime Institute, </a><em><a href="https://intelligence.uptimeinstitute.com/resource/annual-outage-analysis-2026">Annual Outage Analysis 2026</a></em><a href="https://intelligence.uptimeinstitute.com/resource/annual-outage-analysis-2026">.</a></p>]]></content:encoded></item><item><title><![CDATA[Field Note #1: Building an Agentic Ops Harness]]></title><description><![CDATA[Superpowers for DevOps, SRE, Platform Engineering, and MLOps]]></description><link>https://runbooks.schoolofdevops.com/p/field-note-1-building-an-agentic</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/field-note-1-building-an-agentic</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Mon, 13 Jul 2026 16:25:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/49ca469b-95fe-454f-9037-baa87bc84bc2_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today&#8217;s experiment started with a simple question:</p><blockquote><p>What would an Ansible-like system look like if it were designed for AI-native operations?</p></blockquote><p>Not &#8220;AI writes a shell script once.&#8221;</p><p>Not &#8220;chat with a bot and hope it remembers your infra.&#8221;</p><p>I mean something closer to the way real ops teams work: roles, teams, responsibilities, reusable capabilities, project context, runtime permissions, workflows, and operating models.</p><p>That led to today&#8217;s build: <strong>AOH: Agentic Ops Harness</strong>.</p><p>Repo: <a href="https://github.com/agenticdevops/aoh">https://github.com/agenticdevops/aoh</a></p><p>AOH is my first cut at a Git-native harness for designing and running agentic DevOps, SRE, Platform Engineering, and MLOps capabilities.</p><div><hr></div><h2>The Thought Process</h2><p>The first instinct was to model &#8220;skills.&#8221;</p><p>That made sense because tools like Hermes, Goose, Claude Code, Codex, and others are converging on some form of reusable agent skill: instructions, scripts, references, and runtime behavior bundled together.</p><p>But very quickly, &#8220;skills&#8221; alone felt too small.</p><p>In real organizations, we do not just have a pile of skills. We have teams.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U6DS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U6DS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U6DS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:908832,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/206874088?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!U6DS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A platform team has SREs, DevOps engineers, platform engineers, maybe MLOps engineers. Each role has different responsibilities, different tools, different access patterns, and different operating habits.</p><p>So the model evolved:</p><pre><code><code>Org / Business Unit / Project
  -&gt; Team
    -&gt; Role
      -&gt; Skills / Capabilities
      -&gt; Workflows
      -&gt; Runtime Requirements
      -&gt; Model Profile</code></code></pre><p>That felt much closer to reality.</p><p>An SRE role might get:</p><ul><li><p>service health reporting</p></li><li><p>incident triage</p></li><li><p>log analysis</p></li><li><p>Kubernetes read-only diagnostics</p></li></ul><p>A DevOps automation role might get:</p><ul><li><p>deployment automation</p></li><li><p>Terraform plan review</p></li><li><p>release verification</p></li><li><p>rollback workflows</p></li></ul><p>An MLOps role might get:</p><ul><li><p>training job triage</p></li><li><p>GPU utilization checks</p></li><li><p>model deployment diagnostics</p></li><li><p>checkpoint/retry guidance</p></li></ul><p>Same team. Different roles. Different capabilities.</p><p>That became the core abstraction.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Agentic Ops Dispatch! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2>What I Built Today</h2><p>I built the first working MVP of <strong>AOH: Agentic Ops Harness</strong>.</p><p>Right now AOH is a Git repository structure plus a small CLI/compiler.</p><p>It contains:</p><ul><li><p><strong>Packs</strong>: source-of-truth bundles for agentic ops capabilities</p></li><li><p><strong>Teams</strong>: org/project/BU-level groups</p></li><li><p><strong>Roles</strong>: real-world job functions like SRE, DevOps Engineer, MLOps Engineer</p></li><li><p><strong>Skills</strong>: reusable agent capabilities written as <code>SKILL.md</code></p></li><li><p><strong>Workflows</strong>: repeatable ops flows</p></li><li><p><strong>Runtime requirements</strong>: tools and capabilities needed by a role/workflow</p></li><li><p><strong>Model profiles</strong>: model/provider intent</p></li><li><p><strong>Adapters</strong>: compilers into agent runtimes</p></li></ul><p>The first runtime adapter is for <strong>Hermes Agent</strong>.</p><p>For Hermes, AOH compiles:</p><pre><code><code>AOH Team -&gt; multiple Hermes profiles
AOH Role -&gt; one Hermes profile
AOH Skills -&gt; profile-local Hermes skills
AOH Role instructions -&gt; SOUL.md
AOH launch -&gt; launch.sh</code></code></pre><p>So a team definition can generate multiple runnable Hermes agents.</p><div><hr></div><h2>The First Real Example</h2><p>I created an example pack:</p><pre><code><code>examples/acme-platform-ops</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5HZA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5HZA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5HZA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:878379,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/206874088?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5HZA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>It models an imaginary <strong>Acme Platform Ops Team</strong> with three roles:</p><pre><code><code>platform-ops team
  -&gt; sre-platform
  -&gt; devops-automation
  -&gt; mlops-training</code></code></pre><p>Each role has a different capability set.</p><p>The SRE role gets:</p><pre><code><code>service-health-report
docker-disk-cleanup</code></code></pre><p>The DevOps role gets:</p><pre><code><code>deployment-automation
terraform-plan-review
service-health-report</code></code></pre><p>The MLOps role gets:</p><pre><code><code>ml-training-job-triage
service-health-report</code></code></pre><p>That is the important part: the agent is not just &#8220;an AI assistant.&#8221; It is a scoped operational role with a curated capability set.</p><div><hr></div><h2>Why This Matters</h2><p>Most AI tooling today is still very individual-agent centric.</p><p>You launch a coding agent. You give it a task. It works in a repo.</p><p>That is useful, but DevOps and SRE work is team-shaped.</p><p>We need AI-native ops systems that understand:</p><ul><li><p>who the agent is acting as</p></li><li><p>what team it belongs to</p></li><li><p>what project or business unit it serves</p></li><li><p>what capabilities it should have</p></li><li><p>what workflows it can run</p></li><li><p>what runtime should execute it</p></li><li><p>what tools it needs</p></li><li><p>what model profile makes sense for the job</p></li></ul><p>AOH is trying to make that structure explicit and version-controlled.</p><div><hr></div><h2>How It Works</h2><p>At the source level, AOH is just files in Git.</p><p>A simplified pack looks like this:</p><pre><code><code>acme-platform-ops/
  AOH.yaml
  teams/
    platform-ops.yaml
  agents/
    sre-platform.yaml
    devops-automation.yaml
    mlops-training.yaml
  skills/
    service-health-report/
      SKILL.md
    deployment-automation/
      SKILL.md
    ml-training-job-triage/
      SKILL.md
  workflows/
  models/
  runtime-requirements/
  evals/</code></code></pre><p>Then the CLI validates and compiles that pack into runtime-native artifacts.</p><p>For Hermes:</p><pre><code><code>uv run aoh install-hermes-team examples/acme-platform-ops \
  --profiles-dir ~/.hermes/profiles \
  --team platform-ops \
  --profile-prefix acme-platform \
  --provider openai-codex \
  --model gpt-5.4 \
  --cwd "$PWD"</code></code></pre><p>That creates Hermes profiles like:</p><pre><code><code>acme-platform-sre-platform
acme-platform-devops-automation
acme-platform-mlops-training</code></code></pre><p>Each profile has its own role instructions, local skills, config, and launch script.</p><div><hr></div><h2>Where We Are Now</h2><p>The MVP is working.</p><p>I tested the generated Hermes profile for the DevOps role:</p><pre><code><code>~/.hermes/profiles/acme-platform-devops-automation/launch.sh \
  -q "Answer in one sentence: what AOH role are you, and which AOH skills are associated with you?" \
  --max-turns 2 --quiet</code></code></pre><p>The generated agent responded:</p><pre><code><code>I&#8217;m the AOH DevOps Engineer for Acme Platform in the devops-automation role,
and my associated AOH skills are deployment-automation, terraform-plan-review,
and service-health-report.</code></code></pre><p>That is a small test, but it proves the shape:</p><ul><li><p>team defined in Git</p></li><li><p>role defined in Git</p></li><li><p>skills associated with role</p></li><li><p>Hermes profile generated</p></li><li><p>role-specific agent launched</p></li><li><p>associated skills preloaded at runtime</p></li></ul><p>That is the harness.</p><div><hr></div><h2>What This Is Not Yet</h2><p>This is not a finished platform.</p><p>It is not yet a full registry, package manager, or policy engine.</p><p>It does not yet have adapters for Goose, Codex, Claude Code, or OpenCode.</p><p>It does not yet have a complete eval runner.</p><p>It does not yet model enterprise-grade approvals, secrets, RBAC, or audit trails deeply.</p><p>But the foundation is now there.</p><p>The source-of-truth model is becoming clear.</p><div><hr></div><h2>What Comes Next</h2><p>The next steps I&#8217;m thinking about:</p><ol><li><p><strong>Goose adapter</strong><br>Map AOH skills and workflows into Goose skills, recipes, sub-recipes, and extensions.</p></li><li><p><strong>Codex and Claude Code adapters</strong><br>Compile AOH roles into project instructions, skills, and launch conventions.</p></li><li><p><strong>Eval runner</strong><br>Validate whether a generated role-agent can actually perform the workflow it claims to support.</p></li><li><p><strong>Registry</strong><br>Share AOH packs across teams and organizations.</p></li><li><p><strong>Runtime requirement negotiation</strong><br>Let a runtime say: &#8220;I can satisfy these requirements, but not these.&#8221;</p></li><li><p><strong>Policy metadata</strong><br>Keep AOH engine-neutral but allow adapters to map risk, approvals, and tool access into runtime-native guardrails.</p></li></ol><div><hr></div><h2>Why I&#8217;m Excited About This</h2><p>This feels like a useful bridge between traditional automation and AI-native operations.</p><p>The old world had:</p><pre><code><code>roles
playbooks
inventories
modules
runbooks</code></code></pre><p>The new world needs:</p><pre><code><code>teams
agent roles
skills
workflows
runtime adapters
evals</code></code></pre><p>AOH is an attempt to make that transition concrete.</p><p>Not as a slide.</p><p>As a repo you can clone and run.</p><p>Try it here:</p><p><a href="https://github.com/agenticdevops/aoh">https://github.com/agenticdevops/aoh</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Agentic Ops Dispatch! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[I Analysed LLMOps LinkedIN Job Role and found these Insights ]]></title><description><![CDATA[How to transform your DevOps skillset into a high-demand LLMOps career &#8212; mastering MLOps, GenAI agents, governance, and security along the way.]]></description><link>https://runbooks.schoolofdevops.com/p/from-devops-to-llmops-a-7-month-roadmap</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/from-devops-to-llmops-a-7-month-roadmap</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Tue, 12 Aug 2025 12:22:04 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/170774023/d46c46238d010b3042fa072b2cd860d1.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>The Generative AI wave isn&#8217;t coming &#8212; it&#8217;s already here. Companies are scrambling to operationalize LLMs (Large Language Models) safely, securely, and at scale. That&#8217;s where <strong>LLMOps Engineers</strong> come in.</p><p>If you&#8217;re a DevOps Engineer today, you already have half the foundation built &#8212; cloud, automation, and operational excellence. But the other half? That&#8217;s a whole new skill set in <strong>MLOps, LLM orchestration, GenAI agents, and AI governance</strong>.</p><p>Here&#8217;s a <strong>practical, month-by-month roadmap</strong> to take you from DevOps to LLMOps in under a year.</p><div><hr></div><h2><strong>Stage 1 &#8211; Strengthen Your DevOps &amp; Cloud Core (Months 1&#8211;2)</strong></h2><p>Before you tackle AI workloads, you need airtight operational skills.</p><ul><li><p><strong>Cloud Platforms</strong>: Deepen AWS/GCP/Azure expertise. Focus on IAM, networking, cost control.</p></li><li><p><strong>Containers &amp; Orchestration</strong>: Docker best practices, Kubernetes deployments, RBAC.</p></li><li><p><strong>CI/CD Pipelines</strong>: Automate deployments with GitHub Actions, GitLab CI, or Jenkins.</p></li><li><p><strong>Observability</strong>: Master Prometheus, Grafana, and distributed logging.</p></li></ul><p><strong>Mini Project:</strong> Deploy a multi-service app with CI/CD, monitoring, and RBAC on Kubernetes.</p><div><hr></div><h2><strong>Stage 2 &#8211; Enter the MLOps Arena (Months 3&#8211;4)</strong></h2><p>Understand how models are trained, deployed, and maintained.</p><ul><li><p><strong>MLOps Tools</strong>: MLflow for tracking, DVC for versioning.</p></li><li><p><strong>Serving Models</strong>: FastAPI + Docker, Seldon Core, BentoML.</p></li><li><p><strong>Pipelines</strong>: Automate training, evaluation, deployment.</p></li><li><p><strong>Monitoring</strong>: Detect drift, track inference performance.</p></li></ul><p><strong>Mini Project:</strong> Deploy an ML model with MLflow registry, serve it via FastAPI, monitor it in Grafana.</p><div><hr></div><h2><strong>Stage 3 &#8211; Specialize in LLMOps &amp; Agent Workflows (Months 5&#8211;6)</strong></h2><p>Now it gets exciting &#8212; orchestrating GenAI at scale.</p><ul><li><p><strong>LLM APIs</strong>: OpenAI, Anthropic, Cohere, Azure OpenAI.</p></li><li><p><strong>Agent Frameworks</strong>: LangChain, LlamaIndex, LangGraph.</p></li><li><p><strong>Vector Databases &amp; RAG</strong>: FAISS, Pinecone, Weaviate.</p></li><li><p><strong>Optimization</strong>: LoRA fine-tuning, quantization, caching.</p></li><li><p><strong>Hybrid Orchestration</strong>: Multi-LLM routing and fallback strategies.</p></li></ul><p><strong>Mini Project:</strong> Build a multi-agent RAG system with LangGraph + Pinecone that uses two different LLM providers for redundancy.</p><div><hr></div><h2><strong>Stage 4 &#8211; Governance, Security &amp; Responsible AI (Month 7)</strong></h2><p>The part most engineers overlook &#8212; and the one employers value most.</p><ul><li><p><strong>Governance</strong>: NIST AI RMF, GDPR, EU AI Act basics.</p></li><li><p><strong>Responsible AI</strong>: Fairness, explainability, bias detection.</p></li><li><p><strong>Security</strong>: Secure API gateways, data encryption, sandboxing.</p></li><li><p><strong>Model Safety Monitoring</strong>: Detect hallucinations, toxicity, performance drops.</p></li></ul><p><strong>Mini Project:</strong> Build a governed LLMOps pipeline with IAM, encryption, hallucination detection, and audit logging.</p><div><hr></div><h2><strong>Capstone Project &#8211; Your Portfolio Booster</strong></h2><p><strong>&#8220;Secure, Governed, Multi-LLM Agent Platform&#8221;</strong></p><ul><li><p>Multi-agent orchestration with LangGraph</p></li><li><p>Hybrid LLM integration (OpenAI + Anthropic)</p></li><li><p>RAG with Pinecone</p></li><li><p>MLflow-tracked LoRA models</p></li><li><p>Governance and monitoring baked in</p></li></ul><p>This is the kind of <strong>end-to-end, security-conscious AI platform</strong> employers are hiring for right now.</p><div><hr></div><h2><strong>Why This Works</strong></h2><ul><li><p><strong>You build on what you already know</strong> (DevOps skills)</p></li><li><p><strong>You stack MLOps before LLMOps</strong> (no skipping steps)</p></li><li><p><strong>You end with governance</strong> (where real enterprise adoption happens)</p></li></ul><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://schoolofdevops.com/&quot;,&quot;text&quot;:&quot;Start your MLOps/LLMOps Journey&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://schoolofdevops.com/"><span>Start your MLOps/LLMOps Journey</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Beyond Kubernetes: GitOps for Terraform and OpenTofu with Terrateam]]></title><description><![CDATA[Unlocking the Power of GitOps for Infrastructure as Code &#8211; A Deep Dive with Terrateam&#8217;s Co-Founder]]></description><link>https://runbooks.schoolofdevops.com/p/beyond-kubernetes-gitops-for-terraform</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/beyond-kubernetes-gitops-for-terraform</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Wed, 19 Mar 2025 15:31:15 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/158423077/94b421a598b4f2e65f073cb7950e86c0.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>&#128640; <strong>DevOps Cool Tools Series | RealOps Podcast</strong> &#127897;&#65039;</p><p><strong>Guest:</strong> <a href="https://www.linkedin.com/in/malcolm-matalka-a6527382/overlay/about-this-profile/">Malcolm Matalka</a>, Co-founder <a href="https://terrateam.io/">Terrateam</a> <br><strong>Host:</strong> Gourav Shah, Founder of School of DevOps &amp; AI</p><div><hr></div><p>GitOps has transformed the way we manage infrastructure and applications, but often, it&#8217;s seen as synonymous with Kubernetes and tools like ArgoCD and FluxCD. In this episode of the <strong>RealOps Podcast</strong>, we expand beyond Kubernetes and explore <strong>GitOps for Infrastructure as Code</strong> (IaC) with Terraform and OpenTofu. Joining us is <strong>Malcolm</strong>, co-founder of <strong>Terrateam</strong>, a company dedicated to bringing GitOps principles to Terraform and beyond.</p><h2><strong>The Story Behind Terrateam</strong></h2><p>Malcolm and his co-founder, Josh, saw a critical gap in the industry: existing Terraform automation tools were either rigid enterprise solutions that slowed teams down or hobbyist open-source projects that lacked robustness. They built <strong>Terrateam</strong>, an open-source GitOps-based infrastructure automation tool, to bridge this gap. Their goal? To create a flexible yet powerful workflow that integrates seamlessly with Git-based operations, ensuring teams can move fast without compromising security or stability.</p><h2><strong>What Makes Terra Team Unique?</strong></h2><ol><li><p><strong>Full GitOps Workflow for Terraform and OpenTofu</strong></p><ul><li><p>Unlike traditional CI/CD tools, Terra Team integrates deeply into your <strong>Git-based workflows</strong>, ensuring infrastructure changes are proposed, reviewed, tested, and applied all within pull requests.</p></li></ul></li><li><p><strong>Fine-Grained Access Control and Workflow Customization</strong></p><ul><li><p>Enterprises often struggle with Terraform automation because of <strong>coarse access control</strong> and <strong>rigid workflows</strong>. Terra Team provides <strong>workspace-level access control</strong>, meaning different environments (dev, prod) can have distinct policies.</p></li></ul></li><li><p><strong>Cost Visibility with OpenInfraQuote (earlier InfraCosts) Integration</strong></p><ul><li><p>One of the most exciting features is <strong>cost estimation</strong> built into pull requests. Before applying a change, teams can <strong>see the projected cost impact</strong>, helping them make informed decisions.</p></li><li><p>In fact, Terrateam is replacing the earstwhile InfraCost integration with their own brand new open source project OpenInfraQuote, which is 100% open-source and requires no server (<a href="https://github.com/terrateamio/openinfraquote">https://github.com/terrateamio/openinfraquote</a>).</p></li></ul></li><li><p><strong>Scalability and Security</strong></p><ul><li><p>Unlike tools like Atlantis that run everything on a single server, <strong>Terrateam offloads compute to GitHub Actions and other CI/CD systems</strong>, ensuring scalability while keeping sensitive credentials within your environment.</p></li></ul></li></ol><h2><strong>The Rise of OpenTofu</strong></h2><p>The conversation also delved into <strong>OpenTofu</strong>, a community-driven fork of Terraform that emerged after HashiCorp changed Terraform&#8217;s licensing model. Malcolm, a founding member of OpenTofu, explained how it remains fully compatible with Terraform while introducing <strong>enhancements like state encryption and dynamic provider configuration</strong>.</p><p>For those wondering whether to switch from Terraform to OpenTofu, Malcolm&#8217;s advice was simple: <strong>stick with Terraform 1.5.7 if it meets your needs, but keep an eye on OpenTofu</strong> as it evolves. The transition between the two is seamless, ensuring no lock-in for users.</p><h2><strong>Why GitOps for Infrastructure Matters</strong></h2><p>GitOps isn't just about Kubernetes&#8212;it&#8217;s about <strong>bringing clarity, control, and automation to infrastructure changes</strong>. With Terrateam, Git becomes the single source of truth for <strong>Terraform, OpenTofu, and Pulumi deployments</strong>. This means:</p><ul><li><p>No manual SSH-ing into machines to apply Terraform changes.</p></li><li><p>No risk of drift between actual infrastructure and what&#8217;s in Git.</p></li><li><p>Clear audit trails and approval workflows.</p></li></ul><h2>Learn More about OpenTofu, Terrateam, and GitOps</h2><p>To continue your journey into <strong>GitOps for Infrastructure as Code</strong>, be sure to explore the official resources of the tools we discussed:</p><ul><li><p><strong>Terrateam</strong>: <a href="https://github.com/terrateamio/terrateam">https://github.com/terrateamio/terrateam</a></p></li><li><p><strong>OpenTofu</strong>: <a href="https://opentofu.org/">https://opentofu.org/</a></p></li></ul><p>These websites provide documentation, tutorials, and community guides that offer deeper insights into how GitOps principles can be applied to Terraform workflows and infrastructure management.</p><p>Also, don't miss the fact that this episode includes a <strong>live demo</strong> of Terrateam's PR-based GitOps workflow in action. It's worth watching to see firsthand how a pull request triggers and manages Terraform changes, giving you a practical understanding of why this approach is so powerful in real-world scenarios.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wpfq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wpfq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png 424w, https://substackcdn.com/image/fetch/$s_!wpfq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png 848w, https://substackcdn.com/image/fetch/$s_!wpfq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!wpfq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wpfq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png" width="1456" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:768171,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://devops.tube/i/158423077?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wpfq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png 424w, https://substackcdn.com/image/fetch/$s_!wpfq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png 848w, https://substackcdn.com/image/fetch/$s_!wpfq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!wpfq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6de2fac-f12d-4709-a1dc-0f4822e56e30_1861x1038.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Finally, we encourage you to engage with the OpenTofu and Terrateam communities. By connecting with these communities (via forums, GitHub, or social channels), you can stay updated on the latest best practices and innovations in the IaC and GitOps space &#8211; and continue learning as these tools and techniques evolve.</p><h2><strong>Getting Started with GitOps for Terraform</strong></h2><p>If you&#8217;re an <strong>IT professional, DevOps engineer, or cloud infrastructure specialist</strong>, now is the time to <strong>level up your skills in GitOps and Terraform</strong>. The <strong>School of DevOps</strong> offers <strong>hands-on training programs</strong> to help you master Terraform, GitOps, and cloud-native infrastructure.</p><p>&#127919; <strong>Start your journey with our expert-led courses today!</strong> &#128073; <a href="https://schoolofdevops.com/">Join the School of DevOps</a></p><div><hr></div><p>&#128266; <strong>Listen to the full episode on the RealOps Podcast to dive deeper into GitOps for Infrastructure as Code!</strong></p>]]></content:encoded></item><item><title><![CDATA[From DevOps to Production Engineering: Navigating the Path with Vanita Mohite, Principal Production Engineer at Yahoo]]></title><description><![CDATA[Understanding Production Engineering, SRE, and Scaling Large-Scale Systems at Yahoo. SRE, DevOps,, Incident Management, CI/CD, Cloud, Automation, Monitoring, Documentation, Agile]]></description><link>https://runbooks.schoolofdevops.com/p/from-devops-to-production-engineering</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/from-devops-to-production-engineering</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Wed, 12 Feb 2025 11:53:31 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/156907702/91866990084740b7f2b4f97f12f98e38.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>&#128640; <strong>DevOps Career Talks | RealOps Podcast</strong> &#127897;&#65039;</p><p><strong>Guest:</strong> Vanita Mohite, Principal Production Engineer, Yahoo<br><strong>Host:</strong> Gourav Shah, Founder of School of DevOps</p><div><hr></div><h2><strong>&#128313; Episode Summary:</strong></h2><p>In this insightful episode of <strong>DevOps Career Talks</strong>, we sit down with <strong>Vanita Mohite</strong>, Principal Production Engineer at Yahoo, to explore what it takes to transition from <strong>DevOps to SRE</strong> and <strong>Production Engineering</strong>. Vanita shares her <strong>15+ years of experience</strong> at Yahoo, highlighting the <strong>evolution of infrastructure</strong> from on-premise data centers to <strong>AWS and Kubernetes (EKS)</strong>, the critical role of <strong>observability</strong>, and the <strong>challenges of managing large-scale production systems</strong>.</p><p>Yahoo, despite no longer being at its peak, remains a powerhouse in <strong>Site Reliability Engineering (SRE) and Production Engineering</strong>. Vanita walks us through her career journey, from working with <strong>databases at IBM</strong> to becoming a <strong>Principal Production Engineer</strong>, leading major cloud migrations, automation projects, and <strong>resiliency strategies</strong>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://runbooks.schoolofdevops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading School of Devops! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><div><hr></div><h2><strong>&#128313; Key Takeaways from the Episode:</strong></h2><h3><strong>1&#65039;&#8419; The Path from DevOps to SRE/Production Engineering</strong></h3><ul><li><p>Vanita's <strong>early career</strong> in <strong>IBM&#8217;s Tivoli Backup</strong> team, scripting in <strong>Perl and Java</strong> for test automation.</p></li><li><p>Moving to Yahoo and starting with <strong>database administration</strong>, evolving into <strong>automation and infrastructure scaling</strong>.</p></li><li><p><strong>SRE vs. DevOps:</strong> How production engineering at Yahoo involves <strong>designing, building, scaling, and maintaining</strong> critical systems.</p></li></ul><h3><strong>2&#65039;&#8419; Building &amp; Managing Large-Scale Infrastructure at Yahoo</strong></h3><ul><li><p>Yahoo&#8217;s <strong>hybrid infrastructure</strong>: <strong>On-prem data centers, AWS, GCP, Kubernetes (EKS)</strong>.</p></li><li><p>Managing <strong>1,000+ hosts</strong>, handling <strong>millions of user requests per hour</strong>.</p></li><li><p>Scaling <strong>Yahoo Help and internal applications</strong> with <strong>high availability and performance tuning</strong>.</p></li></ul><h3><strong>3&#65039;&#8419; Observability &amp; Incident Management in Production Engineering</strong></h3><ul><li><p>Role of <strong>monitoring &amp; alerting</strong>: Custom <strong>Nagios-based monitoring</strong>, <strong>Splunk for logs</strong>, <strong>Datadog &amp; New Relic for APM</strong>.</p></li><li><p>The <strong>importance of incident response &amp; on-call</strong>: 30% of time spent on <strong>observability, monitoring, and post-mortem analysis</strong>.</p></li><li><p><strong>SLA, SLI, SLO deep dive</strong>: Understanding <strong>availability contracts</strong> and how they affect business.</p></li></ul><h3><strong>4&#65039;&#8419; The Transition to Cloud &amp; Automation</strong></h3><ul><li><p>Migrating legacy applications to <strong>AWS &amp; Kubernetes</strong> while maintaining <strong>custom internal stacks</strong>.</p></li><li><p>Automating CI/CD pipelines with <strong>Jenkins, Maven, and Ant</strong>.</p></li><li><p>Evolution of <strong>DevOps practices at Yahoo</strong> and lessons from building an <strong>enterprise-scale CI/CD system</strong>.</p></li></ul><h3><strong>5&#65039;&#8419; Avoiding Production Outages: Lessons from Mistakes</strong></h3><ul><li><p>Vanita shares a <strong>memorable production outage</strong> due to <strong>server restarts</strong> in the wrong environment. &#128552;</p></li><li><p>How <strong>color-coding terminals</strong> for <strong>Dev, Staging, and Prod</strong> became a game-changer in preventing future issues.</p></li><li><p>Why <strong>GitOps and modern DevOps tools</strong> reduce human errors.</p></li></ul><h3><strong>6&#65039;&#8419; The Rise of FinOps: Cost Optimization in Production Engineering</strong></h3><ul><li><p>Understanding <strong>FinOps</strong>: Tracking <strong>AWS cost projections</strong> for infrastructure.</p></li><li><p>How Yahoo&#8217;s <strong>custom dashboards help teams</strong> optimize resources in real-time.</p></li><li><p>The analogy of <strong>FinOps as a fitness tracker</strong> &#8211; what you measure, you optimize.</p></li></ul><div><hr></div><h2><strong>&#127911; Why Listen to This Episode?</strong></h2><p>&#10004; <strong>Are you a DevOps Engineer exploring SRE or Production Engineering?</strong> This episode breaks down what you need to know.<br>&#10004; <strong>Curious about managing large-scale production systems?</strong> Get behind-the-scenes insights into Yahoo&#8217;s global infrastructure.<br>&#10004; <strong>Want to learn about career growth in DevOps, SRE, and Production Engineering?</strong> Vanita shares practical lessons, mistakes, and strategies.</p><p>&#128073; <strong>Tune in now and take your DevOps career to the next level!</strong></p><p>&#128226; <strong>Follow the RealOps Podcast on YouTube &amp; Substack!</strong></p><h3>Taking Devops to Next Level </h3><p>If you are a Devops Professional and want to take it to the next level, check out our programs on DevSecOps, Advanced Devops, MLOps and more at <a href="https://campus.schoolofdevops.com">campus.schoolofdevops.com</a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://campus.schoolofdevops.com&quot;,&quot;text&quot;:&quot;Take your Devops Career to Next Level&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://campus.schoolofdevops.com"><span>Take your Devops Career to Next Level</span></a></p><div><hr></div><h3><br>Chapters</h3><ul><li><p>00:00 Vanita's Journey into Production Engineering / SRE</p></li><li><p>01:49 Transition to Yahoo and SRE / ProdOps Role</p></li><li><p>05:25 The Role of a Production Engineer</p></li><li><p>17:02 Infrastructure Management and Scaling</p></li><li><p>22:26 Monitoring and Availability Strategies</p></li><li><p>24:02 Monitoring and Incident Management in DevOps</p></li><li><p>28:01 Understanding SLAs, SLIs, and SLOs</p></li><li><p>32:55 Learning from Human Errors in Production</p></li><li><p>37:30 The Evolution of DevOps and Collaboration</p></li><li><p>42:40 Cost Management and Optimization in Cloud</p></li><li><p>47:34 The Impact of Cloud Transformation on Startups</p></li><li><p>48:39 The Importance of Documentation in Tech Projects</p></li><li><p>50:47 Learning from Incidents and Continuous Improvement</p></li><li><p>53:13 The Role of Automation in Production Engineering</p></li><li><p>56:19 Balancing Work and Family as a Woman in Tech</p></li><li><p>59:09 Navigating a Career Path in SRE and Production Engineering</p></li><li><p>01:04:26 Essential Skills and Tools for Aspiring SREs</p></li><li><p>01:09:53 Future Trends: MLOps and AIOps</p></li><li><p>01:12:07 Outro </p></li></ul><h3></h3>]]></content:encoded></item><item><title><![CDATA[Journey to Becoming a Lead DevOps Engineer with Pranav | DevOps Career Talks]]></title><description><![CDATA[Story of how Pranav transformed his career from being a Windows Sysadmin to Devops and his insights about Platform Engineering, MLOps and More]]></description><link>https://runbooks.schoolofdevops.com/p/ep1-journey-to-becoming-a-lead-devops</link><guid isPermaLink="false">https://runbooks.schoolofdevops.com/p/ep1-journey-to-becoming-a-lead-devops</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Mon, 11 Nov 2024 18:11:16 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/151169384/971b3c5d8c282d7938a9bbf9f41f761c.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Welcome to the first episode of <strong>DevOps Career Talks</strong>! This week, we're joined by Pranav, a seasoned Lead DevOps Engineer at Qualys, who shares his incredible career journey, insights on essential DevOps skills, and practical advice for anyone aspiring to grow in the DevOps field.</p><p><strong>From Pune to California, Pranav's path is packed with lessons on mastering cloud tools, CI/CD pipelines, and platform engineering.</strong> Whether you're just starting or looking to level up, this episode has something for everyone.</p><div><hr></div><h3>&#127911; Episode Highlights</h3><p>In this episode, Pranav and I discuss:</p><ul><li><p>His start in DevOps and how it all began</p></li><li><p>Key skills he acquired with AWS, Jenkins, Bitbucket, Docker Swarm, and Kubernetes</p></li><li><p>The shift from traditional CI/CD setups to container orchestration with Helm and Kubernetes</p></li><li><p>How platform engineering differs from DevOps engineering</p></li><li><p>Insights into DevSecOps and MLOps</p></li><li><p>Career tips for aspiring DevOps engineers</p></li></ul><p><strong>Listen in to gain an insider&#8217;s perspective on what it takes to thrive in DevOps today!</strong></p><p></p><p><strong>&#128640; Interested in launching your DevOps career?</strong><br>Check out the <strong>DevOps Career Launchpad Program</strong> from the School of DevOps! This program is designed to help IT professionals build essential skills in Linux, CI/CD, Docker, Kubernetes, and more, with hands-on labs, expert coaching, and live workshops. If you&#8217;re ready to jumpstart your journey to becoming a DevOps Engineer, <a href="https://schoolofdevops.com/accelerator">click here to learn more</a> and enroll.</p><p></p>]]></content:encoded></item></channel></rss>