<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: NTCTech</title>
    <description>The latest articles on DEV Community by NTCTech (@ntctech).</description>
    <link>https://dev.to/ntctech</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3784059%2Fc609d531-fdab-47ac-bb17-37fd1ecc3d71.jpg</url>
      <title>DEV Community: NTCTech</title>
      <link>https://dev.to/ntctech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ntctech"/>
    <language>en</language>
    <item>
      <title>Dependency Residue: The Most Expensive Dependency Is the One You Think Is Gone</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Thu, 24 Sep 2026 12:23:52 +0000</pubDate>
      <link>https://dev.to/ntctech/dependency-residue-the-most-expensive-dependency-is-the-one-you-think-is-gone-1j6l</link>
      <guid>https://dev.to/ntctech/dependency-residue-the-most-expensive-dependency-is-the-one-you-think-is-gone-1j6l</guid>
      <description>&lt;p&gt;Dependency residue is the cost that keeps arriving after a transformation program has formally eliminated the thing that generates it. The decommission ticket closes. The program reports complete. The steering committee sees the savings line it was promised. And somewhere outside the boundary the cost model drew, a service account still authenticates against the directory you were leaving, a backup job still depends on a library controlled by the vendor you exited, and an audit right still survives the termination.&lt;/p&gt;

&lt;p&gt;None of that necessarily means the forecast was wrong. The model may have been right about everything it measured. It measured the wrong perimeter.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fajukkdebxnaqo2yj4y7v.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fajukkdebxnaqo2yj4y7v.jpg" alt="dependency residue — an eliminated platform inside the cost model boundary while identity, backup, audit, runbook, and data dependency lines still cross it to live systems" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Cost Model Drew a Boundary. The Dependency Didn't Agree.
&lt;/h2&gt;

&lt;p&gt;Every transformation program has two boundaries, and most programs only draw one of them.&lt;/p&gt;

&lt;p&gt;The first is the cost model's. It is drawn where things have an owner and an invoice: the hypervisor subscription, the instance fleet, the SaaS contract, the data center lease. Cost models follow accounting boundaries because that is what they are built from. A line item either exists in the model or it doesn't, and when the program eliminates it, the model records the saving.&lt;/p&gt;

&lt;p&gt;The second is the dependency's. It is drawn wherever execution and obligation actually run: which systems call which, which credentials authenticate where, which data is read from which location, which contract clauses survive which events, which runbooks assume which platform. Dependencies follow execution and obligation boundaries, and they have no reason to align with a budget line.&lt;/p&gt;

&lt;p&gt;The boundary used by the cost model is not the boundary used by the dependency. That gap is the whole mechanism. When a program declares something eliminated, it is making a claim about the first boundary and assuming it holds for the second.&lt;/p&gt;

&lt;p&gt;The same boundary problem appears in &lt;a href="https://www.rack2cloud.com/cloud-strategy/" rel="noopener noreferrer"&gt;cloud architecture strategy&lt;/a&gt;: placement is often priced at the service or infrastructure boundary while dependencies execute across identity, data, network, and operational boundaries. Transformation programs inherit that mismatch and apply it at the moment it costs the most: closure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dependency Residue Is Not a Repatriation Problem
&lt;/h2&gt;

&lt;p&gt;Rack2Cloud first named dependency residue inside the repatriation economics model behind the &lt;a href="https://www.rack2cloud.com/cloud-repatriation-cost-model/" rel="noopener noreferrer"&gt;Cloud Repatriation Economics Engine&lt;/a&gt;. The repatriation case is clean: compute comes home on schedule, while identity, observability, and CI/CD stay anchored to the provider being left. The workload moves. The authority layer governing it doesn't. The program reports complete while the cloud bill keeps arriving.&lt;/p&gt;

&lt;p&gt;Repatriation exposed the mechanism. It didn't define it. Nothing in that pattern depends on the direction of travel, the platform involved, or whether the thing being eliminated is infrastructure at all. Any transformation program that declares something gone and measures that claim against a cost model is exposed to the same error. The framework is therefore generalized here as a property of transformation cost models, with repatriation as its originating instance rather than its scope.&lt;/p&gt;

&lt;p&gt;That places it squarely in &lt;a href="https://www.rack2cloud.com/cloud-architecture-learning-path/economic-architecture/" rel="noopener noreferrer"&gt;Economic Architecture&lt;/a&gt;, the Cloud Architecture Learning Path stage that treats exit modeling as a continuous discipline rather than a migration-time surprise. Residue is what that discipline misses when the model's boundary is drawn at the line item instead of the dependency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Framework #77 — Dependency Residue
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Dependency residue is the economic, operational, contractual, or governance dependency that persists after a transformation program declares its originating system, platform, service, or capability eliminated, and that the program's cost model no longer counts.&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;What happens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;01 — The Condition&lt;/td&gt;
&lt;td&gt;A transformation program defines what is being eliminated — a platform, service, contract, or capability — and its cost model draws the boundary there.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;02 — The Boundary&lt;/td&gt;
&lt;td&gt;The cost model stops counting the eliminated dependency. The boundary follows accounting lines: budget owner, invoice, contract.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;03 — Failure State&lt;/td&gt;
&lt;td&gt;Runtime, contractual, operational, or governance paths still depend on it. The dependency follows execution and obligation lines, not the ledger.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;04 — Consequence&lt;/td&gt;
&lt;td&gt;The residual dependency keeps generating cost or exposure after the program reports complete, outside any line item the program still owns.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The program closes against its cost model. The dependency never agreed to that boundary, so the cost moves outside the model instead of ending.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related frameworks:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;#143 &lt;a href="https://www.rack2cloud.com/vmware-dependency-audit/" rel="noopener noreferrer"&gt;Dependency Visibility Boundary&lt;/a&gt;&lt;/strong&gt; — whether a dependency can be seen at all; #77 is whether a seen dependency is still counted once elimination is declared.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;#137 &lt;a href="https://www.rack2cloud.com/virtualization-operating-model-migration/" rel="noopener noreferrer"&gt;Operating Model Transfer Gap&lt;/a&gt;&lt;/strong&gt; — the governance that must be recreated on the target; #77 is what the source still costs while that recreation is incomplete.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;#78 &lt;a href="https://www.rack2cloud.com/cloud-repatriation-cost-model/" rel="noopener noreferrer"&gt;Stranded Capacity Risk&lt;/a&gt;&lt;/strong&gt; — capacity bought and never used; #77 is dependency the model stopped counting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;#76, #79, #80&lt;/strong&gt; — shared origin in the repatriation economics model; common origin, not common mechanism.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Full library: &lt;a href="https://www.rack2cloud.com/frameworks/" rel="noopener noreferrer"&gt;Rack2Cloud Framework Index&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt; &lt;a href="https://rack2cloud.com/downloads/frameworks/framework-77-dependency-residue-v2.pdf" rel="noopener noreferrer"&gt;Framework #77 — Dependency Residue (PDF, one-page reference)&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Five Transformations, One Boundary Error
&lt;/h2&gt;

&lt;p&gt;If dependency residue were only a repatriation artifact, it would show up in one kind of program. It shows up in all of them. The five cases below are deliberately unlike each other: different layers, different platforms, different kinds of elimination. Each one reads the same way: what the cost model scoped, what the dependency actually followed, and where the residue now bills.&lt;/p&gt;

&lt;h3&gt;
  
  
  01 — Compute moved. Identity didn't.
&lt;/h3&gt;

&lt;p&gt;The cost model scoped the workload: instances, storage, runtime, the line items with a platform owner. The dependency followed the authentication path: service accounts, federation trusts, and conditional-access policy, all still anchored to the directory the program was leaving. The residue bills as the identity tenant nobody can retire, plus the licensing, logging, and privileged-access tooling that come with it. The same omission can end two ways. When the excluded identity dependency breaks, you get &lt;a href="https://www.rack2cloud.com/identity-chain-break/" rel="noopener noreferrer"&gt;a migration that succeeded while the identity chain didn't&lt;/a&gt;. When it holds, you get residue. It keeps working, and it keeps costing.&lt;/p&gt;

&lt;h3&gt;
  
  
  02 — Hypervisor changed. Backup tooling didn't.
&lt;/h3&gt;

&lt;p&gt;The cost model scoped the hypervisor subscription. The dependency followed the backup and migration tooling, which reads VMware virtual disks through a library whose distribution the vendor controls and whose license restricts redistribution. Exits aren't instantaneous. For as long as any VMware estate remains to protect or to move, some tooling can depend on access to VDDK, and when Broadcom's public VDDK download pages stopped resolving in August 2026, tooling that depended on obtaining the library through that route lost that acquisition path. That is the circular dependency &lt;a href="https://www.rack2cloud.com/vmware-exit-plan-dependency/" rel="noopener noreferrer"&gt;a VMware exit plan assumes it controls&lt;/a&gt;, priced at zero the moment the hypervisor line left the model.&lt;/p&gt;

&lt;h3&gt;
  
  
  03 — Contract terminated. Audit exposure didn't.
&lt;/h3&gt;

&lt;p&gt;The cost model scoped the subscription and stopped counting at termination. The dependency followed the contract's survival clauses, because &lt;a href="https://www.rack2cloud.com/audit-rights-outlast-the-exit/" rel="noopener noreferrer"&gt;audit rights can outlast the exit&lt;/a&gt;. The residue is everything required to answer one: retained deployment evidence, license-position records, the people who know what ran where, and the legal time to respond. None of it has a budget line once the vendor doesn't.&lt;/p&gt;

&lt;h3&gt;
  
  
  04 — Platform replaced. Operating process didn't.
&lt;/h3&gt;

&lt;p&gt;The cost model scoped the platform. The dependency followed the operating model: change procedures, runbooks, monitoring conventions, and escalation paths written around the old platform's constructs. Where that operating context is &lt;a href="https://www.rack2cloud.com/virtualization-operating-model-migration/" rel="noopener noreferrer"&gt;never re-established on the target&lt;/a&gt;, teams keep the old process alive by hand: parallel tooling, retained specialists, a console someone still logs into. The platform left the model. The process kept its headcount.&lt;/p&gt;

&lt;h3&gt;
  
  
  05 — Application migrated. Data gravity didn't.
&lt;/h3&gt;

&lt;p&gt;The cost model scoped the application tier. The dependency followed the data. Source-of-truth datasets too large, too regulated, or too entangled to move on the application's schedule stay where they were, and &lt;a href="https://www.rack2cloud.com/data-gravity-architecture-hybrid-cloud-strategy/" rel="noopener noreferrer"&gt;data gravity&lt;/a&gt; pulls the application back across the gap on every query. The residue bills as egress, replication, latency workarounds, and a storage estate that was supposed to be decommissioned.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb4z5smv5ciksur06avog.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb4z5smv5ciksur06avog.jpg" alt="dependency residue across five transformations — what moved versus what the dependency kept: identity, backup tooling, audit exposure, operating process, data gravity" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every card borrows its evidence from a mechanism this site has already documented. That is deliberate, and it is the point. Those mechanisms explain why each dependency survives the transformation. Dependency residue explains why the cost model reported it gone anyway. The survival is the evidence. The miscount is the framework.&lt;/p&gt;

&lt;p&gt;The pattern also isn't new to this series. &lt;a href="https://www.rack2cloud.com/capacity-you-paid-for-never-used/" rel="noopener noreferrer"&gt;The capacity you paid for but never used&lt;/a&gt; is the same class of blind spot from the other direction: a cost the model counted and the organization never consumed. Residue is a cost the organization still consumes and the model no longer counts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt; &lt;a href="https://rack2cloud.com/downloads/carousels/dependency-residue-carousel-v1.pdf" rel="noopener noreferrer"&gt;Dependency Residue Carousel (PDF, 8 slides)&lt;/a&gt; — the five cases on a single swipe.&lt;/p&gt;

&lt;h2&gt;
  
  
  This Isn't the Audit-Rights Problem. It Isn't the Exit-Cost Problem Either.
&lt;/h2&gt;

&lt;p&gt;The closest misreading of this article is that it restates one of its neighbors. It doesn't, and the difference is worth making explicit, because a program team that treats them as one problem will fund one fix and assume all four are closed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rack2cloud.com/audit-rights-outlast-the-exit/" rel="noopener noreferrer"&gt;Vendor relationships end, but audit rights often don't&lt;/a&gt;. That post tracks what survives legally or contractually after a declared exit. This post tracks what survives economically or operationally after a declared elimination. Card 03 above sits on the seam between them: the audit clause is the obligation that survives, and the residue is the cost of being able to answer it, which the cost model dropped at termination.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rack2cloud.com/exit-cost-architecture/" rel="noopener noreferrer"&gt;Exit cost as a first-class metric&lt;/a&gt; prices the cost of leaving before commitment, at adoption time, so the exit premium is visible before it is locked in. Residue is the other end of the same lifecycle. It is what the elimination model fails to count after the program has already declared the exit done.&lt;/p&gt;

&lt;p&gt;And the &lt;a href="https://www.rack2cloud.com/vmware-dependency-audit/" rel="noopener noreferrer"&gt;dependency audit problem&lt;/a&gt; that Framework #143 anchors is about visibility: dependencies that can't be reconstructed from configuration and documentation alone. Residue doesn't require invisibility. A fully mapped dependency still becomes residue the moment the cost model stops counting it.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mechanism&lt;/th&gt;
&lt;th&gt;Question it answers&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Dependency Visibility Boundary (#143)&lt;/td&gt;
&lt;td&gt;Could we see the dependency?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Operating Model Transfer Gap (#137)&lt;/td&gt;
&lt;td&gt;Was the operating context recreated on the target?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exit cost as a first-class metric&lt;/td&gt;
&lt;td&gt;What will leaving cost, priced before commitment?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audit rights outlasting the exit&lt;/td&gt;
&lt;td&gt;Which legal obligation survives the declared exit?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dependency residue (#77)&lt;/td&gt;
&lt;td&gt;What did the cost model stop counting while the dependency remained?&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A program can pass the first four questions and still fail the fifth, because the fifth question is asked of the cost model itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding Dependency Residue Before the Program Closes
&lt;/h2&gt;

&lt;p&gt;The fix is not simply a better spreadsheet. A more detailed version of the same cost boundary still misses whatever the program has already declared outside scope. The fix is to test the closure claim against the dependency boundary before the program is allowed to close: trace what is actually running, authenticating, replicating, and obligated, and compare it to what the model says is gone.&lt;/p&gt;

&lt;p&gt;The middle column below is deliberately runtime-oriented. Ledger evidence confirms the cost model's claim, which is the one claim that doesn't need confirming.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Boundary question&lt;/th&gt;
&lt;th&gt;What to trace&lt;/th&gt;
&lt;th&gt;Residue signal&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;What was declared eliminated?&lt;/td&gt;
&lt;td&gt;Runtime calls, credentials, network routes&lt;/td&gt;
&lt;td&gt;The old endpoint is still being invoked&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Which service was removed from the model?&lt;/td&gt;
&lt;td&gt;Authentication and authorization paths&lt;/td&gt;
&lt;td&gt;A credential or trust relationship remains active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Which contract was terminated?&lt;/td&gt;
&lt;td&gt;Operational obligations and evidence paths&lt;/td&gt;
&lt;td&gt;Audit or compliance activity is still required&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Which platform was replaced?&lt;/td&gt;
&lt;td&gt;Backup, monitoring, and automation execution&lt;/td&gt;
&lt;td&gt;Old tooling still runs or still has to be able to run&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Which data path was migrated?&lt;/td&gt;
&lt;td&gt;Replication, access patterns, egress&lt;/td&gt;
&lt;td&gt;The old location still incurs cost&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh0dwvnrpn1xrif4na6tc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh0dwvnrpn1xrif4na6tc.jpg" alt="dependency residue found at closure review — the ledger reports zero while a runtime trace still shows live calls, active credentials, and ongoing egress" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Building the register this requires is the work of &lt;a href="https://www.rack2cloud.com/cloud-architecture-learning-path/dependency-architecture/" rel="noopener noreferrer"&gt;Dependency Architecture&lt;/a&gt;, the Learning Path stage where dependencies are classified before migration, consolidation, or exit pressure forces the question. Closure review is where that register gets tested against what the program claims.&lt;/p&gt;

&lt;p&gt;Not every residue signal can be eliminated before closure. Retention periods, regulatory obligations, and datasets that genuinely can't move on schedule are real. The discipline is not zero residue. It is zero uncounted residue: anything that survives the elimination gets a named owner and a budget line before the program reports complete. Counted, it is a known ongoing cost. Uncounted, it is the most expensive dependency in the estate, because nobody is managing it and everybody thinks it is gone.&lt;/p&gt;

&lt;p&gt;If you want an independent read on what your program's cost model isn't counting, the &lt;a href="https://www.rack2cloud.com/audits/migration-readiness-assessment/" rel="noopener noreferrer"&gt;Migration Readiness Assessment&lt;/a&gt; covers it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;Dependency residue isn't an estimating error. A cost model can be right about everything inside its boundary and still be wrong about the program, because the boundary was drawn around the things that had an invoice and an owner, and the dependency was never obliged to respect that line.&lt;/p&gt;

&lt;p&gt;The real problem is that transformation programs close against the ledger. Identity, backup tooling, audit obligations, operating process, and data all follow execution and obligation paths the ledger doesn't record. So the savings get reported at the boundary, and the residue gets paid somewhere outside it, by a team that never agreed to carry it.&lt;/p&gt;

&lt;p&gt;The cost-model boundary is not the dependency boundary. Closure is a runtime claim, not an accounting one, and it should be tested like one.&lt;/p&gt;

&lt;p&gt;A dependency isn't gone when the cost model stops counting it. It's gone when nothing still calls it, bills for it, or can be held to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/cloud-strategy/" rel="noopener noreferrer"&gt;Cloud Architecture Strategy&lt;/a&gt; — placement, economics, and dependency decisions across cloud and hybrid estates.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/cloud-architecture-learning-path/economic-architecture/" rel="noopener noreferrer"&gt;Economic Architecture&lt;/a&gt; — exit modeling and economic gravity as continuous design disciplines.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/cloud-architecture-learning-path/dependency-architecture/" rel="noopener noreferrer"&gt;Dependency Architecture&lt;/a&gt; — classifying dependencies before exit pressure arrives.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/audit-rights-outlast-the-exit/" rel="noopener noreferrer"&gt;Vendor Relationships End. Audit Rights Often Don't.&lt;/a&gt; — the legal and contractual counterpart to this post.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/exit-cost-architecture/" rel="noopener noreferrer"&gt;Exit Cost as a First-Class Metric&lt;/a&gt; — pricing the cost of leaving before commitment.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/vmware-exit-plan-dependency/" rel="noopener noreferrer"&gt;Your VMware Exit Plan Assumed a Tool You Didn't Control&lt;/a&gt; — the VDDK case behind card 02.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/identity-chain-break/" rel="noopener noreferrer"&gt;Your Migration Succeeded. The Identity Chain Didn't.&lt;/a&gt; — the outage outcome of the card 01 dependency.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/virtualization-operating-model-migration/" rel="noopener noreferrer"&gt;The Hypervisor Is Not the Migration Target — The Operating Model Is&lt;/a&gt; — Framework #137, behind card 04.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/data-gravity-architecture-hybrid-cloud-strategy/" rel="noopener noreferrer"&gt;The Law of Data Gravity&lt;/a&gt; — why datasets anchor the applications that leave them.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/vmware-dependency-audit/" rel="noopener noreferrer"&gt;VMware Licensing Pressure Created a Dependency Audit Problem&lt;/a&gt; — Framework #143, the visibility boundary.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/capacity-you-paid-for-never-used/" rel="noopener noreferrer"&gt;The Capacity You Paid For But Never Used&lt;/a&gt; — Hidden Cost Models Part 2.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.shapeblue.com/broadcom-vddk-download-vmware-to-kvm/" rel="noopener noreferrer"&gt;Broadcom Removes VDDK Pages Without Explanation — ShapeBlue&lt;/a&gt; — the August 2026 download-page failures and their acquisition-path impact.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developer.broadcom.com/xapis/virtual-disk-api/latest/vddkIntro.3.5.html" rel="noopener noreferrer"&gt;Developing for VMware Platform Products — Virtual Disk API (Broadcom)&lt;/a&gt; — VDDK's data-protection role and its redistribution requirements.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://datagravitas.com/2010/12/07/data-gravity-in-the-clouds/" rel="noopener noreferrer"&gt;Data Gravity — in the Clouds — Dave McCrory (2010)&lt;/a&gt; — the original data gravity post.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/dependency-residue/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>cloud</category>
      <category>devops</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>Ransomware Production Shutdown: The Question Protection Plans Never Ask</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Wed, 23 Sep 2026 12:07:23 +0000</pubDate>
      <link>https://dev.to/ntctech/ransomware-production-shutdown-the-question-protection-plans-never-ask-5673</link>
      <guid>https://dev.to/ntctech/ransomware-production-shutdown-the-question-protection-plans-never-ask-5673</guid>
      <description>&lt;p&gt;A ransomware production shutdown doesn't require touching a single machine on the plant floor. When ransomware hit Coca-Cola's Fairlife operations, U.S. production was temporarily suspended after the company disclosed unauthorized third-party access to a portion of its systems, including production-related systems. Coca-Cola has not publicly established that plant-floor machinery itself was encrypted or disabled — Cybersecurity Dive and The Register both flagged that same ambiguity in their coverage. What the incident does establish is more interesting for architects: production became unavailable when the systems supporting it could no longer be relied upon.&lt;/p&gt;

&lt;p&gt;Coca-Cola later disclosed that certain data was taken, and that the majority of production had subsequently resumed across Fairlife's four U.S. facilities. But the data-loss question isn't the architectural point, and neither is the recovery timeline. The operational impact was the story: a plant with production-related systems affected stopped shipping product, whatever the precise mechanism turns out to have been.&lt;/p&gt;

&lt;p&gt;Most ransomware coverage — including a good amount of Rack2Cloud's own — treats incidents like this as a story about backup architecture, recovery time objectives, and whether the encrypted data comes back clean. A ransomware production shutdown is a different story. Production systems don't generally fail because a factory loses machinery. They fail because the systems coordinating the machinery become unavailable — and the public record here is enough to raise that question, even without telling us exactly which system going dark did the damage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpm2a25dhh73nsu33k3ql.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpm2a25dhh73nsu33k3ql.jpg" alt="ransomware production shutdown — compromised workstation contained vs. compromised coordination system cascading into full production halt" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📥 Download: Ransomware Production Shutdown Carousel (PDF, 6 slides) — &lt;a href="https://www.rack2cloud.com/downloads/carousels/ransomware-production-shutdown-carousel-v1.pdf" rel="noopener noreferrer"&gt;https://www.rack2cloud.com/downloads/carousels/ransomware-production-shutdown-carousel-v1.pdf&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What's established, what's architectural inference&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Established, from Coca-Cola's own disclosures:&lt;/strong&gt; a ransomware event; unauthorized third-party access; production-related systems affected; U.S. production temporarily suspended while Canada continued operating; certain data later confirmed taken; the majority of production subsequently resumed at Fairlife's four U.S. facilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not established — the architectural reading that follows:&lt;/strong&gt; which specific systems were responsible for the shutdown, or whether ransomware reached operational technology directly versus only the IT systems supporting it. The rest of this piece treats that second layer as a general manufacturing-architecture question the incident raises, not a reconstruction of Fairlife's internal systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What a Ransomware Production Shutdown Actually Breaks
&lt;/h2&gt;

&lt;p&gt;Walk backward from "the plant stopped," in the general case this incident illustrates, and the failure isn't mechanical. It's coordination. This is exactly the blind spot most &lt;a href="https://www.rack2cloud.com/data-protection-architecture-strategy-guide/" rel="noopener noreferrer"&gt;Data Protection architecture&lt;/a&gt; programs carry: heavily invested in recovering systems, rarely architected around what happens to physical operations while those systems are down.&lt;/p&gt;

&lt;p&gt;The relevant dependency chain in a modern manufacturing operation can include an ERP system issuing production orders, an MES layer sequencing what runs on which line, a scheduling system allocating capacity, an inventory system confirming raw material availability, a quality-control workflow releasing batches, and a dispatch system routing finished product out the door. None of those systems has to touch a single valve or conveyor belt directly to become operationally load-bearing.&lt;/p&gt;

&lt;p&gt;The Fairlife disclosure doesn't establish which of those dependencies, if any, was responsible for the shutdown — it establishes that production-related systems were affected and that U.S. production was suspended during the disruption. That's enough to expose the architectural question, without claiming more certainty about Fairlife's own systems than the public record supports.&lt;/p&gt;

&lt;p&gt;A plant survives a compromised workstation. Someone loses a laptop, IT isolates it, production keeps running. A plant can fail operationally even when its physical assets remain fully intact if critical production decisions require a coordination system that is unavailable — what to run, how much, where it goes next, now dependent on a system that's unreachable. The organization hasn't lost any equipment. It's lost the ability to tell that equipment what to do.&lt;/p&gt;

&lt;p&gt;This is the question worth asking about a ransomware production shutdown, and it's a different question than the one most security programs are built to answer: what systems become mandatory for production to continue? Not "was the network segmented." Segmentation is a real control, and it matters — but it answers a narrower question than the one that actually determines whether a plant keeps shipping product.&lt;/p&gt;

&lt;p&gt;Rack2Cloud's own dependency-architecture content has spent a lot of time on a related but distinct problem: platforms that accumulate so much &lt;a href="https://www.rack2cloud.com/vmware-dependency-audit/" rel="noopener noreferrer"&gt;operational authority&lt;/a&gt; that their true dependency surface can no longer be reconstructed from documentation. That's about discovering hidden dependencies before a migration. This is about dependencies that are rarely hidden at all — everyone on a plant floor generally knows which system schedules the lines — but whose criticality to physical continuity has often never been architected for, tested, or planned around.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb6t2k8ri397y0ss3ffpq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb6t2k8ri397y0ss3ffpq.jpg" alt="protection view versus continuity view of a ransomware incident — prevent compromise versus survive compromise" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Difference Between Protection and Continuity
&lt;/h2&gt;

&lt;p&gt;Most organizations' exposure to a ransomware production shutdown sits entirely on one side of a distinction that rarely gets named explicitly: the difference between preventing compromise and surviving it operationally.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;Protection View&lt;/th&gt;
&lt;th&gt;Continuity View&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Can ransomware reach OT?&lt;/td&gt;
&lt;td&gt;Segmentation, monitoring, access control&lt;/td&gt;
&lt;td&gt;Still important, but not sufficient&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Can production continue if supporting IT disappears?&lt;/td&gt;
&lt;td&gt;Often secondary&lt;/td&gt;
&lt;td&gt;The primary architectural question&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Are backups recoverable?&lt;/td&gt;
&lt;td&gt;Critical&lt;/td&gt;
&lt;td&gt;Critical, but answers a different question&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Can operators run manually for the duration of a realistic recovery window?&lt;/td&gt;
&lt;td&gt;Often assumed&lt;/td&gt;
&lt;td&gt;Must be demonstrated&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Every organization running critical infrastructure has some version of a &lt;a href="https://www.rack2cloud.com/recoverability-gap/" rel="noopener noreferrer"&gt;ransomware recovery plan&lt;/a&gt; — whether backups restore cleanly, how long recovery takes, whether the recovery chain itself survives the same compromise it's recovering from. Recoverability Gap territory is well-trodden, and worth having solved. But recoverability answers "can we get the systems back." It doesn't answer "could we have kept running without them in the meantime."&lt;/p&gt;

&lt;p&gt;That second question is a genuinely different discipline. It's the difference between a fire suppression system and a fire escape — one is designed to stop the event, the other is designed to get you through it while it's still happening. Most Data Protection budgets buy fire suppression almost exclusively.&lt;/p&gt;

&lt;p&gt;📥 Download: Production Continuity Checklist (PDF, 1-page worksheet) — &lt;a href="https://www.rack2cloud.com/downloads/checklists/ransomware-production-shutdown-checklist-v1.pdf" rel="noopener noreferrer"&gt;https://www.rack2cloud.com/downloads/checklists/ransomware-production-shutdown-checklist-v1.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffenu60xil73qrlxtmw24.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffenu60xil73qrlxtmw24.jpg" alt="network segmentation boundary with operational dependency paths still crossing through it" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Segmentation Alone Doesn't Solve It
&lt;/h2&gt;

&lt;p&gt;The instinct, reading about a ransomware production shutdown like this one, is to reach for network architecture. Better OT/IT segmentation. A cleaner Purdue-model boundary. Tighter microsegmentation between the plant floor and the corporate network. Those are legitimate controls, and organizations that lack them should build them. But they answer a narrower question than the one incidents like this actually raise, and it's worth being precise about why.&lt;/p&gt;

&lt;p&gt;Segmentation controls access. It doesn't eliminate dependency. Even a well-segmented environment — one where ransomware genuinely never touches an OT system directly — can still produce a full production halt if the plant's ability to operate depends on an IT-side system that segmentation correctly kept the attacker away from, but that the plant still can't function without. Many manufacturing organizations describe their OT environments as isolated, but the business workflows running on top of that isolation often bridge IT and operational processes anyway — a scheduling system that lives in the data center, an inventory feed that syncs from a cloud ERP, a quality-release workflow that requires a corporate identity provider. The segmentation held. The dependency didn't care. That's a different failure than the one &lt;a href="https://www.rack2cloud.com/connected-air-gap-backup-isolation/" rel="noopener noreferrer"&gt;connected air gap&lt;/a&gt; territory covers — whether an isolation mechanism survives compromise. This incident is about whether the plant can operate at all, not whether a recovery vault stays sealed.&lt;/p&gt;

&lt;p&gt;That's why this can't be fully solved by hardening the boundary. It has to also be solved by architecting for degraded coordination — deciding, in advance, what a plant can still do when the systems that normally run it are unavailable, and then actually testing whether that's true. &lt;a href="https://www.rack2cloud.com/recovery-dependency-mapper/" rel="noopener noreferrer"&gt;Undocumented recovery dependencies&lt;/a&gt; compound the same way in reverse: a recovery plan that hasn't mapped what it actually depends on discovers those dependencies as failures, in production, during the incident that least affords the time to discover them.&lt;/p&gt;

&lt;p&gt;The mechanism that survives this — the one worth architecting around going forward — isn't ransomware-specific at all: physical operations inherit the availability requirements of their digital coordination layer, whether anyone designed for that or not.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Recovery plans answer whether IT can be restored. A continuity assessment asks a different question: what the business can still execute while those systems are unavailable. Rack2Cloud's Recovery Readiness Assessment: &lt;a href="https://www.rack2cloud.com/audits/recovery-readiness-assessment/" rel="noopener noreferrer"&gt;https://www.rack2cloud.com/audits/recovery-readiness-assessment/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;A ransomware production shutdown isn't primarily a story about whether ransomware reached the plant floor. It's a story about whether the plant floor could still function once the systems supporting it went dark — and that question is rarely tested in advance.&lt;/p&gt;

&lt;p&gt;The gap this incident exposes isn't simply a security gap. It's an architecture gap: production systems can become fully dependent on IT-side coordination layers — ERP, MES, scheduling, quality release — without anyone deciding, on purpose, what happens operationally when those layers are unavailable. Segmentation, monitoring, and access control all reduce the odds of that scenario. None of them answer what happens once it occurs anyway.&lt;/p&gt;

&lt;p&gt;This is upstream of the &lt;a href="https://www.rack2cloud.com/continuity-execution-boundary/" rel="noopener noreferrer"&gt;Continuity Execution Boundary&lt;/a&gt;: the question here isn't whether recovery can execute, but whether production can continue operating before recovery is even relevant.&lt;/p&gt;

&lt;p&gt;Fairlife proves that production can become unavailable when production-related systems are compromised or taken offline. The public record doesn't tell us exactly which dependency caused the shutdown. The architectural question is what organizations should have tested before an incident forces them to find out.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/ransomware-production-shutdown/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ransomware</category>
      <category>dataprotection</category>
      <category>infrastructure</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Multi-AZ Is Not a Recoverability Boundary</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Tue, 22 Sep 2026 19:11:23 +0000</pubDate>
      <link>https://dev.to/ntctech/multi-az-is-not-a-recoverability-boundary-446f</link>
      <guid>https://dev.to/ntctech/multi-az-is-not-a-recoverability-boundary-446f</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhgcdrrfe7jm6gg4ngthh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhgcdrrfe7jm6gg4ngthh.jpg" alt="recoverability boundary — designed boundary vs. actual failure domain diagram" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A recoverability boundary is not the same thing as an availability boundary, and AWS just proved it the expensive way. On September 15, 2026, AWS updated its Health Dashboard to confirm permanent, unrecoverable data loss across all three Availability Zones in its Bahrain region (&lt;code&gt;me-south-1&lt;/code&gt;) and one Availability Zone in its UAE region (&lt;code&gt;mec1-az2&lt;/code&gt;, part of &lt;code&gt;me-central-1&lt;/code&gt;) — not a temporary outage, not degraded service, but &lt;a href="https://www.helpnetsecurity.com/2026/09/17/aws-middle-east-outage-permanent-data-loss-bahrain-uae/" rel="noopener noreferrer"&gt;data that will not come back&lt;/a&gt;. The company's own language was unusually direct: the damage in Bahrain "exceeded what our regional and multi-AZ services are designed to withstand."&lt;/p&gt;

&lt;p&gt;That sentence is the entire architecture lesson. AWS isn't describing a bug. It's describing a boundary — the largest failure domain its multi-AZ design was built to survive — and confirming that this event sat outside it. Every enterprise that has ever pointed to "we run multi-AZ" as evidence of recovery readiness now has a concrete instance of that assumption failing in production, with a named cause: &lt;a href="https://www.insurancejournal.com/news/international/2026/09/16/885283.htm" rel="noopener noreferrer"&gt;physical damage during strikes on Gulf infrastructure in March 2026&lt;/a&gt;, followed by further damage to a second Bahrain facility in April that took the entire region offline.&lt;/p&gt;

&lt;p&gt;Redundancy can preserve availability without preserving recoverability. Bahrain is the proof, not the argument.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Multi-AZ Actually Assumes
&lt;/h2&gt;

&lt;p&gt;Multi-AZ architecture rests on a specific, usually unstated assumption: that the Availability Zones within a region are independent enough — electrically, physically, on the network — that no single event takes out more than one of them at a time. That assumption is what allows multi-AZ to preserve service continuity during localized failures. If AZs share nothing that matters, then a failure in one doesn't propagate to the others, and the workload keeps running — or worst case, fails over cleanly within the region.&lt;/p&gt;

&lt;p&gt;The assumption has a scope. It was built against a specific class of failure: power loss, hardware failure, a botched deployment, a single-facility fire. It was not designed to make multiple physical facilities across two regions immune to a common external cause. AWS's own multi-AZ design tolerance has a ceiling, and every enterprise architecture built on top of it inherits that same ceiling whether or not anyone ever wrote it down.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Diagnostic:&lt;/strong&gt; &lt;em&gt;"What is the largest class of failure your multi-AZ design was actually built to survive — and have you ever confirmed where that ceiling sits, or only assumed it's high enough?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Where the Recoverability Boundary Actually Sits
&lt;/h2&gt;

&lt;p&gt;Bahrain exceeded that ceiling on two axes at once. First, scope: the damage was not confined to a single Availability Zone or a single facility. AWS ultimately confirmed unrecoverable resources across all three Bahrain Availability Zones and an affected UAE zone, placing the impact outside the failure domain most enterprises associate with multi-AZ resilience. Second, cause: this wasn't a random hardware failure distributed by chance across independent facilities. It traces to three AWS facilities across two regions, damaged in connection with the same underlying conflict. A shared cause reaching multiple "independent" zones is exactly the scenario multi-AZ isolation is supposed to make statistically unlikely — and exactly the scenario that, once it happens, reveals the isolation was never absolute to begin with.&lt;/p&gt;

&lt;p&gt;This is where the recoverability boundary question gets concrete. The recoverability boundary isn't a marketing claim about how many AZs a service spans. It's the actual, specific size and shape of the failure that the &lt;a href="https://www.rack2cloud.com/cloud-strategy/" rel="noopener noreferrer"&gt;cloud architecture&lt;/a&gt; — provider design plus enterprise recovery plan layered on top — was built to survive. AWS's had a boundary. Bahrain sat outside it.&lt;/p&gt;

&lt;p&gt;That's a different question than &lt;a href="https://www.rack2cloud.com/recovery-boundary-dependency-failure/" rel="noopener noreferrer"&gt;whether a recovery plan's scope was complete&lt;/a&gt; — whether every dependency required to operate sat inside the boundary that was drawn. Bahrain is a magnitude question: the failure domain exceeded what the boundary, however completely drawn, was ever designed to survive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Same-Region Copies Can Share a Failure Domain
&lt;/h2&gt;

&lt;p&gt;Distance does not define the failure domain — &lt;a href="https://www.rack2cloud.com/cloud-architecture-learning-path/dependency-architecture/" rel="noopener noreferrer"&gt;shared dependency&lt;/a&gt; does. That's not a new principle; it's the same one &lt;a href="https://www.rack2cloud.com/geographic-redundancy/" rel="noopener noreferrer"&gt;a wildfire exposed in mission-critical infrastructure earlier this year&lt;/a&gt;, when geographic separation on paper turned out to share enough underlying infrastructure to fail together anyway. Bahrain is a different failure mechanism — infrastructure damage tied to conflict, not fire — arriving at the identical architectural conclusion: two facilities being in different buildings, or different AZs, or even different regions, tells you nothing about whether they share the dependency that actually breaks.&lt;/p&gt;

&lt;p&gt;Three AWS facilities across two separate regions were affected by the same underlying cause. That's not a multi-AZ failure in the narrow sense — it's a failure-domain-modeling failure. The recovery plan assumed the boundary was regional distance. The actual boundary was something else: physical reachability by a single class of threat.&lt;/p&gt;

&lt;h2&gt;
  
  
  Backup and Redundancy Aren't Interchangeable
&lt;/h2&gt;

&lt;p&gt;Multi-AZ redundancy is designed to answer one question: does the workload stay available if one zone goes down? It answers that question well. It does not, on its own, answer a second and different question: if the data itself stops existing, is there an independent copy of it that survives the same event? Those are different failure modes, and conflating them is where "we have redundancy" quietly becomes "we assumed we had recovery."&lt;/p&gt;

&lt;p&gt;That's a narrower, more upstream version of &lt;a href="https://www.rack2cloud.com/recoverability-gap/" rel="noopener noreferrer"&gt;a gap already documented elsewhere on this site&lt;/a&gt;: most recovery plans get tested against systems that survive but can't be &lt;em&gt;restarted&lt;/em&gt;, not systems whose data has simply ceased to exist within the boundary the recovery plan was scoped to. Bahrain is the more severe case — not "recovery execution failed," but "there was nothing left within reach to execute recovery against." Redundancy protected availability while the event was survivable. It did not protect recoverability once the event exceeded what the region was designed to withstand.&lt;/p&gt;

&lt;p&gt;AWS's architecture defines the resilience boundary of the platform; enterprise recovery architecture determines whether an independent recoverability boundary exists beyond it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Availability and Recoverability Are Different Design Goals
&lt;/h2&gt;

&lt;p&gt;This is the sentence the rest of the piece has been building toward: an architecture can remain highly available under every failure it was designed for, and still be structurally incapable of recovery under a failure domain larger than the one its designers assumed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbo0qtwqex1cvmzgrrxfq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbo0qtwqex1cvmzgrrxfq.jpg" alt="availability versus recoverability as distinct architectural design goals" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Those aren't two phrasings of the same property. Availability is a statement about uptime under expected failure classes. Recoverability is a statement about what survives when a failure exceeds that class entirely. Multi-AZ is genuinely excellent at the first. Bahrain is what happens when an enterprise's recovery planning quietly borrowed the first as evidence for the second, without ever checking whether the provider's own design tolerance and the enterprise's own risk tolerance were the same number.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Residency Constraints Complicate the Answer
&lt;/h2&gt;

&lt;p&gt;Even where this gets diagnosed correctly, "put another copy somewhere else" is incomplete advice the moment jurisdiction enters the picture. Data-residency requirements narrow where a recovery copy is legally allowed to live, which narrows the failure-domain size that copy can actually protect against, which in turn constrains the replication topology available to close the gap. A jurisdiction that requires data to remain inside a country may rule out the simplest answer — replicating to a distant geography outside the threat radius — before the architecture conversation even starts. Recovery geography stops being a technical convenience and becomes an architecture constraint in its own right.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxznen7hr7nklacr3pvna.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxznen7hr7nklacr3pvna.jpg" alt="recoverability boundary — five-layer scaffold from multi-AZ to data-residency-aware recovery" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  01 — Multi-AZ
&lt;/h3&gt;

&lt;p&gt;Protects against failures contained within the region's designed AZ isolation model. Ceiling: failures that exceed that isolation boundary.&lt;/p&gt;

&lt;h3&gt;
  
  
  02 — Regional Redundancy
&lt;/h3&gt;

&lt;p&gt;An architectural pattern, not a standardized guarantee — spreads risk across regions. Ceiling: assumes the regions chosen don't share a reachable cause, an assumption Bahrain/UAE broke.&lt;/p&gt;

&lt;h3&gt;
  
  
  03 — Cross-Region Replication
&lt;/h3&gt;

&lt;p&gt;Protects against multi-region, single-cause events. Ceiling: replication topology has to actually reach outside the threat's plausible radius.&lt;/p&gt;

&lt;h3&gt;
  
  
  04 — Independent Backup
&lt;/h3&gt;

&lt;p&gt;Protects the data itself, independent of the production environment's own survival. Ceiling: only as independent as its own dependency chain.&lt;/p&gt;

&lt;h3&gt;
  
  
  05 — Data-Residency-Aware Recovery
&lt;/h3&gt;

&lt;p&gt;Protects within a jurisdictional constraint. Ceiling: the largest failure domain a legally permitted recovery geography can actually cover.&lt;/p&gt;

&lt;p&gt;Each layer protects against a progressively larger and more constrained class of failure. None of them are the same guarantee, and a provider's own resilience messaging rarely tells you which layer you're actually standing on — a limitation worth remembering the next time &lt;a href="https://www.rack2cloud.com/cloud-sla-limitations-enterprise-resilience/" rel="noopener noreferrer"&gt;an SLA gets read as a recoverability commitment&lt;/a&gt; rather than an availability one.&lt;/p&gt;

&lt;p&gt;📥 &lt;a href="https://rack2cloud.com/downloads/checklists/multi-az-recoverability-boundary-checklist-v1.pdf" rel="noopener noreferrer"&gt;Download: Recoverability Boundary Checklist (PDF)&lt;/a&gt; — five questions, one per scaffold layer, to find out where your own recoverability boundary actually sits.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architect's Test
&lt;/h2&gt;

&lt;p&gt;None of this requires distrusting AWS, or redundancy, or multi-AZ design generally. It requires one honest question, asked before the next Bahrain rather than after it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The Architect's Test:&lt;/strong&gt; &lt;em&gt;"What is the largest failure domain the recovery architecture was actually designed to survive?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not the largest failure domain the marketing describes. Not the largest failure domain that's ever actually occurred. The largest one the architecture — as built, as tested, as scoped by jurisdiction and topology — was deliberately designed to survive. Inside that boundary, you have a recovery architecture. Beyond it, you have an availability architecture being asked to solve a recovery problem it was never designed to handle.&lt;/p&gt;

&lt;p&gt;📥 &lt;a href="https://rack2cloud.com/downloads/carousels/multi-az-recoverability-boundary-carousel-v1.pdf" rel="noopener noreferrer"&gt;Download: Multi-AZ Is Not a Recoverability Boundary Carousel (PDF, 6 slides)&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;Multi-AZ redundancy did exactly what it was designed to do, right up until the event exceeded the boundary it was designed against. That's not a failure of the technology. It's a failure of treating a provider's availability architecture as though it were, automatically, an enterprise's recoverability boundary — two different claims that happen to share the same underlying infrastructure.&lt;/p&gt;

&lt;p&gt;The deeper problem most organizations miss is where the recoverability boundary actually gets set. It is rarely set deliberately. It's inherited — from whatever the cloud provider's own design tolerance happens to be, layered with whatever backup product got purchased, without anyone ever writing down the largest failure the two together were meant to survive.&lt;/p&gt;

&lt;p&gt;Recovery architecture should be designed around the largest failure domain the organization intends to survive, not the largest failure domain the platform provider expects to encounter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/cloud-strategy/" rel="noopener noreferrer"&gt;Cloud Strategy&lt;/a&gt; — Rack2Cloud's domain hub for cloud architecture decisions, provider dependency, and failure-domain design.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/cloud-architecture-learning-path/dependency-architecture/" rel="noopener noreferrer"&gt;Dependency Architecture (Cloud Architecture Path, Stage 1)&lt;/a&gt; — establishes that shared dependency, not physical distance, is what actually defines a failure domain.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/geographic-redundancy/" rel="noopener noreferrer"&gt;A Wildfire Just Exposed the Geographic Redundancy Problem in Mission-Critical Infrastructure&lt;/a&gt; — the same principle, a different failure mechanism: geographic separation that shared an underlying dependency anyway.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/recoverability-gap/" rel="noopener noreferrer"&gt;Your Ransomware Recovery Plan Has a Recoverability Gap&lt;/a&gt; — the broader survivability gap this post's mechanism sits upstream of: data that exists but can't be executed against, versus data that no longer exists at all.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/recovery-boundary-dependency-failure/" rel="noopener noreferrer"&gt;The System Recovered. Your Recovery Boundary Didn't.&lt;/a&gt; — a related but distinct question: whether the recovery scope included every dependency required to operate, versus this post's question of whether the scope was large enough to survive the failure at all.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/disaster-recovery-authority/" rel="noopener noreferrer"&gt;Disaster Recovery Authority: The Missing Layer in Most Recovery Plans&lt;/a&gt; — the next question once something has actually survived: who has the authority to declare recovery complete.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.helpnetsecurity.com/2026/09/17/aws-middle-east-outage-permanent-data-loss-bahrain-uae/" rel="noopener noreferrer"&gt;AWS Middle East outage: permanent data loss confirmed in Bahrain, UAE&lt;/a&gt; — direct reporting on AWS's Sept 15, 2026 Health Dashboard update, including the exact per-region and per-zone scope of the confirmed loss.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.insurancejournal.com/news/international/2026/09/16/885283.htm" rel="noopener noreferrer"&gt;Reuters: AWS facilities in Bahrain, UAE still not restored from Iran war damage&lt;/a&gt; — independent confirmation of the March/April 2026 strike timeline and the scope of AWS's own status update.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/multi-az-recoverability-boundary/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cloudarchitecture</category>
      <category>aws</category>
      <category>disasterrecovery</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>GCP's us-west1 Outage Mapped a Failure Domain Your Service List Couldn't See</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Tue, 22 Sep 2026 12:15:27 +0000</pubDate>
      <link>https://dev.to/ntctech/gcps-us-west1-outage-mapped-a-failure-domain-your-service-list-couldnt-see-3n24</link>
      <guid>https://dev.to/ntctech/gcps-us-west1-outage-mapped-a-failure-domain-your-service-list-couldnt-see-3n24</guid>
      <description>&lt;p&gt;A cloud failure domain is not the set of services you selected — it's the set of infrastructure those services actually share, and most architecture diagrams never draw it. On Thursday, August 20, 2026, a scheduled maintenance window at Google Cloud's us-west1 region turned that distinction from an abstraction into a documented, two-hour, twenty-two-minute incident.&lt;/p&gt;

&lt;p&gt;At 08:00 Pacific, engineers began planned fiber-optic maintenance between data centers inside the us-west1 region — the kind of routine work every hyperscaler's network absorbs on a regular schedule. The maintenance unexpectedly compromised network capacity between those data centers. Automated rerouting mechanisms — the systems built specifically to catch this class of failure — did not properly redistribute traffic to alternate capacity. Traffic volumes exceeded what remained, and the region began to congest.&lt;/p&gt;

&lt;p&gt;By 10:22, the incident was mitigated. In between, customers running workloads in us-west1 watched a maintenance window become a multi-service, control-plane-and-data-plane outage — and the shape of that outage, not the outage itself, is what this piece is actually about.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgse3adw3rteev3zvemnr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgse3adw3rteev3zvemnr.jpg" alt="failure domain — GCP us-west1 dependency chain from fiber maintenance to cascading service failure" width="799" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Service Count Is the Wrong Unit
&lt;/h2&gt;

&lt;p&gt;Early tracking of this incident framed it by service count: a handful of named products, degraded together, in one region. That framing wasn't wrong so much as it measured the wrong thing. Google's own final incident report lists more than two dozen affected products and features, spanning compute, storage, databases, messaging, build tooling, and identity — AlloyDB, BigQuery, Cloud Build, Cloud Storage, Compute Engine, GKE, IAM, Persistent Disk, Pub/Sub, and roughly fifteen others, across both control-plane operations and data-plane requests.&lt;/p&gt;

&lt;p&gt;Counting services tells you how big the blast radius was. It tells you nothing about why the blast radius had that shape — and that question is a foundational concern of &lt;a href="https://www.rack2cloud.com/cloud-strategy/" rel="noopener noreferrer"&gt;cloud strategy architecture&lt;/a&gt;, not a one-off incident postmortem. A service list is an inventory. It is not an architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Follow the Dependency, Not the Product Name
&lt;/h2&gt;

&lt;p&gt;Google's own root cause narrative is more useful than any service count, because it names the actual propagation path — and that path runs through infrastructure, not through the product catalog.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbwqplor0imy2q0xwdgrq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbwqplor0imy2q0xwdgrq.jpg" alt="service list versus actual shared infrastructure dependency map" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;01 — Scheduled Maintenance&lt;/strong&gt; — Planned fiber-optic work between data centers inside us-west1 — routine, expected, the kind of maintenance every region absorbs regularly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;02 — Compromised Capacity&lt;/strong&gt; — The maintenance unexpectedly reduced available inter-campus network capacity in the region — a physical-layer condition, not a software defect.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;03 — Failed Rerouting&lt;/strong&gt; — Automated mechanisms built to redistribute traffic around exactly this kind of capacity loss did not do so. Traffic volumes exceeded what remained, and the region began to congest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;04 — Inter-Campus Cascade&lt;/strong&gt; — The resulting packet loss, throttling, and latency reached core infrastructure services — specifically Spanner Paxos consensus and the Unified Metadata Server — both of which experienced significant latency spikes as a direct result.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;05 — Downstream Failure&lt;/strong&gt; — Those latency spikes cascaded into timeouts and elevated error rates for the services that depend on Paxos and UMS underneath their own product names — Cloud Storage, Cloud IAM, Persistent Disk, and GKE among them — while control-plane operations and data-plane requests both failed to execute across multiple products in us-west1.&lt;/p&gt;

&lt;p&gt;Read that chain again and notice what it doesn't contain: a list of the twenty-plus affected products. No customer-facing service name appears until node five. The actual failure lives at layers most service-selection diagrams never draw — the fiber path, the capacity buffer, the rerouting mechanism, the consensus protocol, the metadata layer. Everything above that is downstream.&lt;/p&gt;

&lt;p&gt;This is what &lt;a href="https://www.rack2cloud.com/cloud-architecture-learning-path/dependency-architecture/" rel="noopener noreferrer"&gt;dependency architecture&lt;/a&gt; calls Dependency-Blind Architecture: dependencies that exist in the environment but were never explicitly mapped, discovered only when the cost of discovery is highest. Most teams running workloads in us-west1 on August 20 had a service list. The incident demonstrated that multiple customer-facing services were exposed to the same underlying inter-campus network condition — a relationship that isn't visible from any individual service name or service-selection diagram. It's only visible from the failure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt; &lt;a href="https://rack2cloud.com/downloads/carousels/gcp-us-west1-outage-failure-domain-carousel-v1.pdf" rel="noopener noreferrer"&gt;GCP us-west1 Failure Domain Carousel — PDF, 8 slides&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Outage Revealed
&lt;/h2&gt;

&lt;p&gt;Here is the part of the incident record worth sitting with. During the outage, at 10:13 and again at 10:32 Pacific, Google's own status updates carried the same workaround line: &lt;em&gt;"We recommend customers to failover to other regions where feasible."&lt;/em&gt; At that same moment, Identity and Access Management was listed among the affected services — under both control-plane and data-plane impact, per the incident report.&lt;/p&gt;

&lt;p&gt;To be precise about what that does and doesn't establish: Google's report does not say any specific customer's failover attempt was blocked by IAM's degradation, and this piece isn't claiming that it was. What the record does establish is a documented tension — a recommended escape path and IAM's listed control-plane and data-plane impact, active at the same time, in the same incident.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Diagnostic:&lt;/strong&gt; &lt;em&gt;"If the mechanism you depend on to authenticate, authorize, provision, or redirect recovery infrastructure is controlled by the same provider — and potentially the same regional failure domain — what does 'failover to another region' actually require, and did anyone confirm you could still do it?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F34r1e64pqare4x2abe1k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F34r1e64pqare4x2abe1k.jpg" alt="incident timeline showing IAM impact overlapping Google's regional failover recommendation" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That question doesn't have a universal answer. It has an architecture-specific one, and most organizations running in us-west1 that day had never asked it before the incident forced it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Framework Connection: Recovery Authority Fragmentation (#144)
&lt;/h2&gt;

&lt;p&gt;This is a live instance of what Rack2Cloud has already named &lt;strong&gt;Recovery Authority Fragmentation (Framework #144)&lt;/strong&gt; — specifically its Recovery Environment Authority domain and its Management Plane Failure chain: control-plane degradation that turns a technically available recovery capability into an operationally inaccessible one. The full mechanism, its five authority domains, and the diagnostic for locating where your own authority chain breaks is covered in &lt;a href="https://www.rack2cloud.com/disaster-recovery-authority/" rel="noopener noreferrer"&gt;Disaster Recovery Authority: The Missing Layer in Most Recovery Plans&lt;/a&gt;. This incident doesn't add a new mechanism to that framework — it supplies a dated, sourced example of it operating in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  This Is Not #144. This Is Not #113.
&lt;/h2&gt;

&lt;p&gt;It's worth being explicit about what this piece is and isn't arguing, because the vocabulary overlaps with two things Rack2Cloud has already covered.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rack2cloud.com/disaster-recovery-authority/" rel="noopener noreferrer"&gt;Disaster Recovery Authority&lt;/a&gt; — Framework #144 — asks whether your recovery authority survives the incident that triggers recovery. That's a question about what happens &lt;em&gt;during&lt;/em&gt; a failure, once you already know the failure domain's shape. This piece isn't extending that framework or renaming its mechanism. It's citing it, because the us-west1 incident is a clean, dated case of the exact condition #144 already defines.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rack2cloud.com/cloud-blast-radius/" rel="noopener noreferrer"&gt;The Third Incident Is the One That Should Worry You&lt;/a&gt; makes a different argument: that four unrelated hyperscaler outages, in five weeks, shared one property — the same customer-facing outcome — and that nobody fixed the process gap between them. That's a pattern-across-incidents argument. This piece is a single-incident argument.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rack2cloud.com/multi-cloud-failover-theater/" rel="noopener noreferrer"&gt;Multi-Cloud Failover Is Mostly Theater&lt;/a&gt; — Framework #113, the Failover Plausibility Gap — asks whether a failover architecture has ever actually been exercised under realistic conditions, as distinct from approved in a design review. That's a question about whether the recovery &lt;em&gt;plan&lt;/em&gt; was ever proven before the incident. This piece asks a prior question: whether the failure domain itself was ever mapped, or whether the outage was the first time anyone saw its actual shape.&lt;/p&gt;

&lt;p&gt;Three distinct questions. Was the plan proven? Does authority survive the incident? What does the infrastructure you actually share look like? The us-west1 outage is evidence for the third question specifically — what this failure domain actually contained — and a live example of the second, borrowed from #144 rather than reargued here.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Changes for Architects
&lt;/h2&gt;

&lt;p&gt;Service selection is not failure domain mapping. The distinction only costs you something the day a maintenance window goes wrong. Four questions turn that distinction into a review technique rather than a lesson learned after the fact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;01 — What control plane authorizes recovery?&lt;/strong&gt; Name the specific system — the IAM layer, the console, the API authority — that has to approve, provision, or redirect infrastructure during a failure. If you can't name it specifically, you don't have an answer yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;02 — Where does that control plane fail geographically?&lt;/strong&gt; Is it regional, like the authority customers needed in us-west1 during this incident, or does it sit outside the region you're trying to recover from? If the control plane required to execute recovery can fail with the region it governs, it becomes a second dependency that recovery architecture has to account for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;03 — Can recovery run if the primary provider's identity layer is impaired?&lt;/strong&gt; Not "does a second region exist" — whether you can actually reach, authenticate to, and operate it while the first region's control surfaces are degraded, not just its data plane.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;04 — Which recovery actions have you actually tested without that authority path?&lt;/strong&gt; Not simulated. Tested — with the specific control-plane dependency degraded or unavailable, not assumed healthy in the background the way every tabletop exercise assumes it.&lt;/p&gt;

&lt;p&gt;Most architecture reviews stop at question one. The us-west1 incident is a reminder that the failure domain doesn't stop there either.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;A service list tells you what you selected. It does not tell you what you depend on — and the gap between those two things is exactly where an outage like this one does its damage. Google's own root cause traces a single compromised fiber path through Paxos consensus and a metadata layer into two dozen product names that most architecture reviews would never have connected on a whiteboard.&lt;/p&gt;

&lt;p&gt;The important architectural finding is not simply that automated rerouting failed. Google has already documented that failure mechanism and the remediation work around it. The more useful finding for an architect is what the incident exposed above and below the service boundary: a single inter-campus network condition propagated through core infrastructure into a wide set of customer-facing services. The outage drew a dependency map that most service-selection diagrams do not show.&lt;/p&gt;

&lt;p&gt;It's a mapping problem, and it's solvable before the next maintenance window — not during it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/gcp-us-west1-outage-failure-domain/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cloudarchitecture</category>
      <category>gcp</category>
      <category>disasterrecovery</category>
      <category>sre</category>
    </item>
    <item>
      <title>When the Offload Doesn't Earn Its Dependency</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Mon, 21 Sep 2026 16:49:22 +0000</pubDate>
      <link>https://dev.to/ntctech/when-the-offload-doesnt-earn-its-dependency-4cng</link>
      <guid>https://dev.to/ntctech/when-the-offload-doesnt-earn-its-dependency-4cng</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F773q9xrtdr5gsz540pgh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F773q9xrtdr5gsz540pgh.jpg" alt="offload dependency mechanism chain — capability, integration burden, operational burden, measurable benefit, adoption decision" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Offload dependency is the test every specialized-hardware bet eventually has to pass, and VMware just showed what happens when the dependency stops earning its keep. At VMware Explore this month, Broadcom VP/GM Umesh Mahajan told the room that VMware has "walked back from that space" — SmartNIC-based network offload, the layer VMware spent years building the Distributed Services Engine around. The technology worked on supported hardware. What didn't survive contact with the market was the case for asking customers to carry the offload dependency it required.&lt;/p&gt;

&lt;h2&gt;
  
  
  What VMware Actually Said
&lt;/h2&gt;

&lt;p&gt;Mahajan's comment was the plainest public statement anyone at Broadcom has made about the Distributed Services Engine's trajectory. Not retired — walked back. DSE still ships and remains supported inside VMware Cloud Foundation. What's clearly gone is the original commercial proposition: VMware has stopped selling the distributed firewall specifically, the flagship case for pushing network and security enforcement onto a SmartNIC instead of the host CPU. That was the bet on where virtual networking architecture belongs in the stack, and it didn't clear its own threshold.&lt;/p&gt;

&lt;p&gt;The retreat also has a longer paper trail than one conference comment. Broadcom's own lifecycle documentation states that Network Introspection for Security — the SmartNIC-resident security capability built on this same offload layer — will be discontinued after the final NSX 4.2.x release or October 11, 2027, whichever comes first, with existing customers under active contract supported to that boundary. Explore commentary, a commercial sales withdrawal, and a documented lifecycle date all point the same direction; the case here doesn't rest on one journalist's summary of one executive's remarks.&lt;/p&gt;

&lt;p&gt;The original pitch was structural for a reason. DSE's distributed firewall promised micro-segmentation enforcement at line rate without consuming host CPU cycles — a real problem for estates running dense east-west traffic policies across thousands of VMs, where every hop through a software-based firewall on the host competes with the workloads it's supposed to protect. Offloading that enforcement to the NIC was architecturally sound. The offload dependency it introduced — a new firmware and driver lifecycle, a new hardware dependency, and another failure domain NSX operators had to reason about during an incident — was the part that had to earn its keep, and Mahajan's comments this month are the clearest signal yet that it didn't, at least not broadly enough to keep selling.&lt;/p&gt;

&lt;p&gt;Worth being precise about what's actually retreating here, because the three pieces aren't the same thing. VMware has stopped selling the SmartNIC-resident distributed firewall. The Distributed Services Engine itself remains part of Cloud Foundation and supported. And the ConnectX-7 pivot Mahajan described is a separate, narrower direct-offload mechanism — not a continuation of the original DSE security pitch. Reading this as "VMware abandoned DSE" overstates what happened. Reading it as "VMware's specific SmartNIC firewall proposition failed to sustain its value case" is what the evidence actually supports.&lt;/p&gt;

&lt;p&gt;The technical story splits cleanly by silicon vendor. By the evidence available publicly, VMware got through the technical viability and much of the integration work on AMD and Nvidia SmartNICs, while Intel remained problematic — microcode complexity that never fully resolved. That's an execution detail, not the real story. The commercial problem emerged later: customers kept talking, but weren't buying, while conventional NICs improved enough to narrow the case for offload. VMware's own next move confirms where they landed — a narrower pivot toward direct offload on Nvidia's ConnectX-7, opportunistic where the DSE's original pitch was structural: network and security as a programmable layer across the entire estate.&lt;/p&gt;

&lt;p&gt;This is a virtualization architecture decision playing out in public — a technically sound capability that never cleared the commercial threshold its dependency demanded.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technology Worked — the Value Proposition Didn't
&lt;/h2&gt;

&lt;p&gt;A dependency doesn't have to fail technically to fail architecturally. Strip the vendor out of this and run the VMware evidence through Rack2Cloud's own five-step model — not a framework VMware stated itself, but the lens worth applying to any offload dependency decision:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The offload dependency chain:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;01 — Capability&lt;/strong&gt; — The new layer does what it claims on its best-supported hardware. VMware's stack ran on AMD and Nvidia SmartNICs without major friction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;02 — Integration burden&lt;/strong&gt; — What it costs to bring the capability into the estate. Intel's microcode complexity lived here, and it never fully resolved.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;03 — Operational burden&lt;/strong&gt; — What it costs to run once integrated — a new firmware lifecycle, a new failure domain, a new thing on-call has to understand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;04 — Measurable benefit&lt;/strong&gt; — The gap the capability actually closes, measured against the alternative — not against doing nothing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;05 — Adoption decision&lt;/strong&gt; — Whether nodes 2 through 4 net out in the capability's favor. This is where the VMware evidence stops looking like a technology problem and starts looking like a value-threshold problem — not at node 01.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last node is the one most post-mortems skip past. It's tempting to read "VMware walked back SmartNICs" as a technology verdict — the hardware wasn't ready, the software wasn't mature, pick your framing. That's not well supported by the evidence. By what's publicly documented, VMware got through the technical viability and most of the integration work on AMD and Nvidia, while Intel remained a persistent problem. The commercial problem emerged separately and later: customers kept talking, but weren't buying, while conventional NICs kept improving. What killed the bet was node 04: while VMware was still closing the integration gap, conventional NICs were closing the throughput gap, and every quarter that took, the comparative benefit at node 04 got thinner. By the time VMware had something reliable enough to sell broadly, the alternative it was supposed to beat had gotten good enough that the dependency stopped paying for itself.&lt;/p&gt;

&lt;p&gt;This is the same argument &lt;a href="https://www.rack2cloud.com/virtualization-operational-simplicity/" rel="noopener noreferrer"&gt;The Next Virtualization Battle Is Operational Simplicity&lt;/a&gt; makes about the hypervisor layer generally — once the core capabilities converge, the decision stops being about whether something works and starts being about what it costs to operate relative to what it buys you. &lt;a href="https://www.rack2cloud.com/hypervisor-commoditization-operations/" rel="noopener noreferrer"&gt;The Hypervisor Has Become A Commodity. Operations Have Not.&lt;/a&gt; argues the same convergence from the economics side: commoditized capability doesn't commoditize the operational cost of carrying it. SmartNIC offload is that argument playing out one layer down the stack, at the NIC instead of the hypervisor, with the same result.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2ax253l3m3lsepgafjnq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2ax253l3m3lsepgafjnq.jpg" alt="value-threshold decision gate — capability, integration, operations, benefit, value threshold" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Value-Threshold Test for Offload Dependency
&lt;/h2&gt;

&lt;p&gt;Every specialized-offload decision — SmartNICs, DPUs, custom ASICs, any layer that asks the estate to carry a new dependency in exchange for a capability — can be run through the same five questions before it reaches a procurement conversation:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;What It Tests&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Can it work?&lt;/td&gt;
&lt;td&gt;Technical viability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Can it be integrated?&lt;/td&gt;
&lt;td&gt;Integration burden&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Is there a measurable benefit?&lt;/td&gt;
&lt;td&gt;Operational payoff&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Is it sufficiently differentiated from the conventional path?&lt;/td&gt;
&lt;td&gt;Comparative advantage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Does the value justify the dependency?&lt;/td&gt;
&lt;td&gt;The architectural decision&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The first four questions are engineering and comparative-value questions, and the public record gives us a mixed answer across the program — technical viability on AMD and Nvidia, persistent integration difficulty with Intel, an initially meaningful offload benefit, and a shrinking advantage as conventional NICs improved. &lt;strong&gt;The fifth question isn't another test alongside the first four — it's the decision gate the other four only feed into&lt;/strong&gt;, and it's architectural, not technical: does clearing nodes 01 through 04 justify taking on a new dependency — new firmware lifecycle, new vendor relationship, new failure domain — for the benefit it delivers today, not the benefit it promised three years ago when the alternative was worse.&lt;/p&gt;

&lt;p&gt;That fifth question is worth distinguishing from a related but different decision the &lt;a href="https://www.rack2cloud.com/automation-debt-curve/" rel="noopener noreferrer"&gt;Automation Debt Curve&lt;/a&gt; (#139) describes. The Automation Debt Curve is a post-adoption problem — it tracks what happens after you've already taken on the dependency, as the automation layer you built starts costing more to maintain than it saves. The value-threshold test here runs earlier, before adoption: whether the dependency is worth taking on at all, given what the alternative can now do without it. One is about debt you're already carrying. The other is about deciding whether to borrow in the first place. VMware's SmartNIC retreat is a pre-adoption story — the value threshold apparently never cleared broadly enough to sustain the commercial proposition. That's a better outcome than the Automation Debt Curve's failure mode, not the same one.&lt;/p&gt;

&lt;p&gt;None of this is a verdict on SmartNICs or DPUs as a technology category. Nvidia's ConnectX-7 is shipping in the same market VMware just retreated from, and hyperscalers are running DPU-based offload at a scale and operational model materially different from the enterprise market VMware was targeting. Different traffic volumes, different operational maturity, different alternative to beat. What failed here was VMware's specific offload dependency, at VMware's specific integration cost, against VMware's specific alternative. The next vendor that runs the same five questions with a different denominator on node 04 will get a different node 05.&lt;/p&gt;

&lt;p&gt;For architects sitting across the table from the next specialized-offload pitch — DPU-based storage acceleration, a smart switch that promises to absorb telemetry processing, an AI accelerator vendor asking for a new PCIe topology — the useful question isn't whether the vendor's benchmark slide is honest. It usually is, under the conditions the vendor tested. The useful question is what the alternative path will look like by the time the integration burden clears, because that's the number the vendor's slide can't show you. VMware's own timeline is the data point worth keeping: the offload dependency was justified when the program started, and it stopped being justified before the program finished shipping. That's not a procurement failure. It's a value-threshold test that was never re-run as the denominator moved.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;VMware's SmartNIC retreat isn't a story about SmartNICs. It's a story about what happens when a technically viable capability gets asked to justify a dependency the market stopped needing it to justify. The technology worked on supported hardware. The integration eventually worked. What never arrived was a large enough gap between the offload path and the conventional path to make the dependency worth carrying — and that gap kept shrinking while VMware was still closing it.&lt;/p&gt;

&lt;p&gt;The mistake architects make reading this kind of retreat is treating node 01 — does it work — as the whole decision. It never was. Every specialized-offload proposal that lands on an architecture review deserves the same fifth question VMware's own trajectory eventually answered for them: not whether the capability is real, but whether the dependency it demands still earns its place once the alternative has had time to catch up.&lt;/p&gt;

&lt;p&gt;VMware didn't lose this bet simply because the engineering failed. They lost it because the value proposition was moving while the engineering work was still catching up — and timing is exactly the variable a value-threshold test is built to catch before the dependency gets signed.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/offload-dependency/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>infrastructure</category>
      <category>devops</category>
      <category>cloud</category>
      <category>virtualization</category>
    </item>
    <item>
      <title>The Hidden Cost of Tool Sprawl Isn't the Subscription</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Mon, 21 Sep 2026 12:09:27 +0000</pubDate>
      <link>https://dev.to/ntctech/the-hidden-cost-of-tool-sprawl-isnt-the-subscription-53ml</link>
      <guid>https://dev.to/ntctech/the-hidden-cost-of-tool-sprawl-isnt-the-subscription-53ml</guid>
      <description>&lt;p&gt;Tool sprawl gets budgeted like a subscription problem, and that's exactly why it keeps getting worse. Every renewal cycle, someone runs the math on a spreadsheet: forty-one SaaS tools, average $38/seat/month, multiply by headcount, present the total as "the cost of tool sprawl," and propose consolidating six of them to shave the line item. The number is real. It's also the smallest part of what tool sprawl actually costs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl0clrjthp9jh3wddeehh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl0clrjthp9jh3wddeehh.jpg" alt="Tool sprawl — four compounding cost categories stacked above a single subscription line item" width="800" height="399"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The subscription is the visible cost. The compounding relationships underneath aren't.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Subscription Number Measures the Wrong Layer
&lt;/h2&gt;

&lt;p&gt;The per-seat price is the most visible cost of tool sprawl because it shows up cleanly on an invoice, which is precisely why it becomes the number finance sees first. It's also the only one that's optional in the sense people mean when they say "we could cut this." You can cancel a subscription in an afternoon. You cannot cancel the seven months of tribal knowledge about how your CI pipeline, your incident tooling, and your provisioning system pass state to each other — knowledge that exists because someone had to make three tools cooperate and nobody wrote down how.&lt;/p&gt;

&lt;p&gt;This is where most infrastructure teams evaluate their &lt;a href="https://www.rack2cloud.com/modern-infrastructure-iac-strategy-guide/" rel="noopener noreferrer"&gt;tooling footprint&lt;/a&gt;: what the platform runs, what it costs to run, and when each renewal comes due. That's a real and necessary view. It's also a view built to answer "should we keep paying for this," not "what does maintaining this tool's relationships to everything else actually require." Those are different questions, and enterprises consistently answer the first one while believing they've answered the second.&lt;/p&gt;

&lt;p&gt;Every tool a platform adopts increases more than the invoice. It increases the relationships the platform has to maintain with every other tool it already runs — the handoffs between them, the duplicated functions each one quietly re-implements, the credentials that now exist in a fourth place, the policies that have to be kept consistent across systems that don't share a policy engine, and the ownership boundary someone has to draw and defend when two tools both think they're responsible for the same thing. None of that appears on the renewal invoice, and none of it is priced by a standard &lt;a href="https://www.rack2cloud.com/modern-infrastructure-iac-strategy-guide/" rel="noopener noreferrer"&gt;infrastructure architecture&lt;/a&gt; review built to answer "what does this cost to run," not "what does this cost to maintain." All of it accrues the moment the tool goes into production, and it keeps accruing for as long as the tool stays there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Tool Sprawl's Cost Compounds, Not Adds
&lt;/h2&gt;

&lt;p&gt;The instinct is to model this as arithmetic — one more tool, one more line item, cost scales linearly with tool count. It doesn't. A useful mental model treats each new tool as increasing the &lt;em&gt;relationships&lt;/em&gt; the platform has to maintain, not just the tool count itself, and relationships don't add, they compound. Four separate mechanisms drive that compounding, and they're cumulative — not four ways of describing the same cost, four costs that stack on top of each other.&lt;/p&gt;

&lt;h3&gt;
  
  
  01 — Integration Maintenance
&lt;/h3&gt;

&lt;p&gt;The most visible of the four, and the one most teams already track in some form. Every integration between two tools is an operational contract neither vendor signed. When either side ships a breaking API change, updates an auth flow, or deprecates a webhook format, someone on your team absorbs the repair — and the number of integrations to maintain doesn't track tool count, it tracks how many of those tools talk to each other, which is a much steeper curve.&lt;/p&gt;

&lt;h3&gt;
  
  
  02 — Context Switching
&lt;/h3&gt;

&lt;p&gt;The cost nobody puts a dollar figure on because it doesn't look like a cost — it looks like a Tuesday. An engineer diagnosing a deployment failure who has to correlate state across a CI system, a config management tool, an observability platform, and a ticketing system isn't doing four small tasks. They're paying a reassembly tax every time the mental model has to be rebuilt in a different tool's vocabulary, and that tax scales with how many tools sit in the critical path of a single diagnostic question.&lt;/p&gt;

&lt;h3&gt;
  
  
  03 — Duplicate Capability
&lt;/h3&gt;

&lt;p&gt;What happens when nobody notices that three tools now do version control, two do secrets management, and two do alerting — each adopted independently to solve a narrow problem, each now a redundant system nobody has consolidated because consolidation requires someone to own the decision to remove a tool that's still technically working. Redundant capability isn't free insurance. It's redundant surface — more places the same class of failure can originate, more places a policy has to be enforced twice to actually hold.&lt;/p&gt;

&lt;h3&gt;
  
  
  04 — Governance &amp;amp; Security Surface
&lt;/h3&gt;

&lt;p&gt;The category most likely to get discovered by an audit instead of an architecture review. Every tool is a new place credentials live, a new place access has to be provisioned and deprovisioned, a new system that has to be included — or, more commonly, forgotten — in the next compliance review. This is a distinct cost from integration maintenance: two tools can have zero technical integration between them and still both expand the governance surface, because governance tracks systems that hold access and data, not systems that exchange API calls.&lt;/p&gt;

&lt;p&gt;These four don't sum politely. Integration maintenance creates more surfaces for context switching. Duplicate capability increases the number of systems that have to be governed. And governance requirements can expose integration dependencies that the original tool review never modeled. A platform with twelve tools isn't necessarily carrying twelve times the operational overhead of one tool. It is carrying the relationships, overlaps, and governance obligations created by those twelve tools — and those surfaces can grow far faster than the tool count itself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwqo0a1qaq2sjb37gyn65.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwqo0a1qaq2sjb37gyn65.jpg" alt="Tool sprawl compounding model — four cumulative cost categories, not additive" width="800" height="437"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The four categories stack — they don't sum independently.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Five Tools, Zero Owners of the Combination
&lt;/h2&gt;

&lt;p&gt;Here's the pattern that makes this concrete, and it's illustrative — a composite shape drawn from how this plays out repeatedly, not a specific customer engagement.&lt;/p&gt;

&lt;p&gt;An infrastructure team runs five tools: a CI/CD platform, an infrastructure-as-code tool, a secrets manager, an observability stack, and an incident response system. Each one has an owner. The CI/CD platform has a platform engineering lead. The IaC tool has the same team, formally. Secrets management reports to security. Observability has its own on-call rotation. Incident response is owned by whoever's running the postmortem process that quarter.&lt;/p&gt;

&lt;p&gt;Every tool, in other words, is accounted for. Ask who owns the CI/CD platform and you get a name in under five seconds. Now ask a different question: who owns what happens when the CI/CD platform's deploy hook fires a secrets rotation before the observability stack has finished re-registering the new credentials, causing alerts to fire against endpoints that are mid-rotation and technically healthy? That system — the combination of behaviors that only exists because these five tools are wired together — has no owner. It was never a job description. It was never a line in anyone's OKRs. It exists entirely in the gap between five tools that are each, individually, someone's responsibility.&lt;/p&gt;

&lt;p&gt;Every tool can have an owner while the system created by the tools has no owner. That's not a staffing gap you close by hiring a "tool sprawl coordinator." It's a structural consequence of how ownership gets assigned — per tool, because that's how procurement and org charts work — while the cost actually lives at the seams between tools, where no procurement line item and no org chart box has ever pointed.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Automation Debt Curve Is a Related, Not Identical, Cost
&lt;/h2&gt;

&lt;p&gt;Tool sprawl's compounding cost and automation debt are easy to conflate, and worth separating cleanly. &lt;a href="https://www.rack2cloud.com/automation-debt-curve/" rel="noopener noreferrer"&gt;Automation debt&lt;/a&gt; — the cost of keeping an automated system trustworthy as it scales — describes what happens &lt;em&gt;within&lt;/em&gt; a single automated system as it grows: more pipelines, more policies, more tests required to keep one system reliable. Tool sprawl's four-category cost describes what happens &lt;em&gt;between&lt;/em&gt; systems as more of them accumulate. A platform can have low automation debt in every individual tool and still be deep in sprawl cost, because sprawl is a property of the relationships across tools, not the maturity of any one of them. The two models measure adjacent but distinct territory, and conflating them is exactly how a consolidation effort ends up "fixing" the wrong layer — hardening one tool's internal pipeline while the actual cost keeps accruing in the handoffs nobody touched.&lt;/p&gt;

&lt;p&gt;This isn't an anti-tool argument, and it's worth being explicit about that, because the instinct after reading four compounding cost categories is to reach for a tool count target. Tool count isn't the problem. A platform with fifteen well-integrated, clearly-owned tools can carry a lower sprawl cost than one running six tools nobody has mapped the relationships between. The variable that matters is whether the interactions between tools — and the ownership of those interactions — are managed as deliberately as the tools themselves are procured.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a Real Accounting Looks Like
&lt;/h2&gt;

&lt;p&gt;Measuring tool sprawl's actual cost means pricing the four categories directly instead of counting seats. That starts with mapping which tools actually integrate with which others — not which tools &lt;em&gt;could&lt;/em&gt; integrate, which ones do, today, in production — and treating every edge in that map as a maintenance obligation, not a feature. It means auditing for duplicate capability explicitly, by function rather than by tool name, since "two secrets managers" doesn't show up on a tool inventory sorted alphabetically. It means pulling context-switching cost out of incident postmortems specifically, by tracking how many distinct tools an engineer had to correlate before they found the actual fault. And it means treating governance surface as a headcount of &lt;em&gt;systems that hold access&lt;/em&gt;, independent of whether those systems talk to each other technically, because a compliance review doesn't care whether two tools are integrated — it cares whether both of them are accounted for.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy9jsw4pum3vfdw9pzyds.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy9jsw4pum3vfdw9pzyds.jpg" alt="Five tools each individually owned, the combination between them unowned" width="800" height="437"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Every tool has an owner. The system they create together doesn't.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;None of that shows up if the review starts and ends at the renewal spreadsheet.&lt;/p&gt;

&lt;p&gt;This same ownership failure shows up under different names elsewhere in the architecture. In &lt;a href="https://www.rack2cloud.com/configuration-drift-ownership/" rel="noopener noreferrer"&gt;configuration drift&lt;/a&gt;, the drift is often the visible symptom of an absent owner; in &lt;a href="https://www.rack2cloud.com/shadow-control-plane/" rel="noopener noreferrer"&gt;the shadow control plane&lt;/a&gt;, the console becomes a control surface nobody formally scoped; in &lt;a href="https://www.rack2cloud.com/ai-tool-sprawl-control-plane/" rel="noopener noreferrer"&gt;AI tooling&lt;/a&gt;, a control plane can emerge accidentally from tools adopted for narrower purposes. The same blind spot extends beyond internal tooling: &lt;a href="https://www.rack2cloud.com/vendor-review-process-supplier-visibility/" rel="noopener noreferrer"&gt;a vendor review process can miss the real supplier behind a tool&lt;/a&gt; because the procurement boundary hides the dependency.&lt;/p&gt;

&lt;p&gt;📥 &lt;strong&gt;Download: The Hidden Cost of Tool Sprawl Isn't the Subscription — Carousel&lt;/strong&gt;&lt;br&gt;
The four compounding cost categories and the ownership-gap example, as a save-and-share reference.&lt;br&gt;
&lt;a href="https://rack2cloud.com/downloads/carousels/tool-sprawl-hidden-cost-carousel-v1.pdf" rel="noopener noreferrer"&gt;https://rack2cloud.com/downloads/carousels/tool-sprawl-hidden-cost-carousel-v1.pdf&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;Tool sprawl's cost was never the subscription. The subscription is the one number in this whole picture that's actually accounted for — it has a line item, an owner, a renewal date. The cost that compounds is the one nobody assigned to anyone: the integration maintenance, the context-switching tax, the duplicate capability, the governance surface, all of it accruing in the relationships between tools rather than inside any single tool's budget line.&lt;/p&gt;

&lt;p&gt;Most organizations will keep measuring this correctly at the tool level and incorrectly at the system level, because the tool level is what procurement tracks and the system level is what nobody's job description covers. That mismatch isn't a tooling problem. It's an ownership problem wearing a tooling problem's clothes.&lt;/p&gt;

&lt;p&gt;Every tool can have an owner. The system those tools create together needs one too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.finops.org/framework/" rel="noopener noreferrer"&gt;FinOps Framework&lt;/a&gt; — FinOps Foundation. A framework for managing technology costs across their lifecycle, providing context for why acquisition price alone is an incomplete cost measure.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.atlassian.com/blog/work-management/orchestrating-success-how-atlassians-marketing-team-plays-in-sync" rel="noopener noreferrer"&gt;Reduce Tool Sprawl: 5 Practices for Collaboration at Scale&lt;/a&gt; — Atlassian. Enterprise research on the proliferation of collaboration/project-management tools and the resulting complexity.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.ibm.com/thought-leadership/institute-business-value/en-us/blog/blog-intelligent-it-automation" rel="noopener noreferrer"&gt;Cut the Cost of Complexity&lt;/a&gt; — IBM Institute for Business Value. Research connecting technology complexity and disconnected systems with higher operational cost.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://csrc.nist.gov/pubs/sp/800/161/r1/final" rel="noopener noreferrer"&gt;NIST SP 800-161 Rev. 1 — Cybersecurity Supply Chain Risk Management&lt;/a&gt; — NIST. Federal guidance for managing cybersecurity risk across suppliers and their supply chains, grounding the governance/security-surface discussion in an established risk-management framework.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/tool-sprawl-hidden-cost/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>devops</category>
      <category>infrastructure</category>
      <category>governance</category>
    </item>
    <item>
      <title>Google TPU Rationing Is Not a Supply Story. It's an Authority Story.</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Sun, 20 Sep 2026 12:03:11 +0000</pubDate>
      <link>https://dev.to/ntctech/google-tpu-rationing-is-not-a-supply-story-its-an-authority-story-4io9</link>
      <guid>https://dev.to/ntctech/google-tpu-rationing-is-not-a-supply-story-its-an-authority-story-4io9</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwr9mwe9r9he5fey4wa4j.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwr9mwe9r9he5fey4wa4j.jpg" alt="Field Notes — Engineering Notes from the Complexity Gap | Rack2Cloud" width="800" height="197"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;TPU rationing at Google is not primarily a story about running out of chips. It's a story about what happens the moment real demand for a finite resource exceeds what that resource can supply: allocation stops being a capacity-management exercise and becomes an authority decision, made by someone, with consequences that land somewhere specific.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyeud9a4zk04309dpk5qp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyeud9a4zk04309dpk5qp.jpg" alt="TPU rationing — real scarcity forces explicit prioritization and external substitution" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alphabet has said plainly that it's operating in what CFO Anat Ashkenazi called a "supply-constrained environment" — a real ceiling, not a forecasting error. DeepMind CEO Demis Hassabis has traced the bottleneck to a handful of component suppliers behind every advanced accelerator on the market, not to Google specifically mismanaging anything. The TPU shortage is genuine, physical, and shared across the industry. The relevant point is that the constraint is physical rather than a failure to distinguish validated demand from an untested planning signal.&lt;/p&gt;

&lt;p&gt;What's underneath the shortage is the part worth an architect's attention: once the shortage is real, somebody has to decide where the compute goes. Google made that decision visibly, in public, on an earnings call — and the consequences of that decision are now showing up outside Google's walls, in the form of a rationed customer and a $920-million-a-month lease from a rocket company.&lt;/p&gt;

&lt;p&gt;The important architectural question is therefore not simply how much compute exists, but who has standing to allocate it when supply cannot satisfy every legitimate demand.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Constraint Is Real, Not a Signal Problem
&lt;/h2&gt;

&lt;p&gt;Before going further, it's worth being precise about what kind of shortage this is, because it determines what kind of argument follows.&lt;/p&gt;

&lt;p&gt;This is not a planning system mistaking an unvalidated signal for real demand. Google's available capacity is real. Its internal demand is real. Its Cloud customers' demand is real. The constraint does not depend on a reservation, forecast, or commitment that might later prove to be phantom. The constraint traces to physical component availability — high-bandwidth memory supply from a small number of manufacturers — not to a queue full of placeholder requests nobody validated.&lt;/p&gt;

&lt;p&gt;That distinction matters because it changes what kind of TPU rationing story this actually is. This isn't a story about trustworthy versus untrustworthy demand signals. It's a story about what an organization does when every signal is trustworthy and the total still doesn't fit.&lt;/p&gt;

&lt;h2&gt;
  
  
  TPU Rationing Forces a Decision: Who Gets the Compute
&lt;/h2&gt;

&lt;p&gt;Google didn't discover this problem quietly. Alphabet CEO Sundar Pichai stated the allocation hierarchy directly to analysts, placing frontier AGI work first — described as the foundation everything else at the company depends on — while describing Cloud alongside Search and YouTube in the allocation of the remaining capacity.&lt;/p&gt;

&lt;p&gt;That's worth sitting with as an architectural fact rather than a business one. A hyperscaler with enormous capital resources still cannot manufacture accelerator supply on demand, which means even Google has to run an explicit prioritization policy over a resource it designs, builds, and owns. Scarcity didn't just constrain Google's customers. It forced Google itself into the same allocation-authority position every enterprise platform team eventually reaches internally — the position described directly in &lt;a href="https://www.rack2cloud.com/gpu-allocation-governance/" rel="noopener noreferrer"&gt;GPU Allocation Governance Is the Next AI Infrastructure Crisis&lt;/a&gt;, where the failure mode is having no one with standing to say no. Google's difference is that it does have someone with standing to say no — Pichai said it publicly. The interesting question is what happens once that authority actually gets exercised at scale.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr709z6338b8rey0a7i6w.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr709z6338b8rey0a7i6w.jpg" alt="Google's declared TPU allocation hierarchy — AGI frontier work first, Cloud customers next" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Allocation Decision Has a Downstream Address
&lt;/h2&gt;

&lt;p&gt;Declaring a priority order doesn't make the demand it deprioritizes disappear. It has to go somewhere.&lt;/p&gt;

&lt;p&gt;Around March 2026, Google told Meta it could not supply the Gemini compute capacity Meta had requested. The shortfall was large enough to disrupt several of Meta's internal AI projects, and Meta responded by instructing staff to conserve their AI usage — the mirror image, one company downstream, of the same scarcity Google is managing internally. Meta wasn't a marginal Gemini customer either; it was rationed precisely because its demand was large enough to matter.&lt;/p&gt;

&lt;p&gt;This is the part of the mechanism that's easy to miss if you only look at Google's side of the ledger: allocation authority doesn't just decide who gets served first inside one organization. Once that organization is also a vendor, the same decision reallocates who else has to find compute somewhere else, on someone else's timeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bridge Capacity Is the Architecture's Admission
&lt;/h2&gt;

&lt;p&gt;The clearest evidence of how tightly this constraint bound Google isn't the Meta restriction. It's what Google did to address the resulting capacity gap.&lt;/p&gt;

&lt;p&gt;Google agreed to pay SpaceX roughly $920 million a month for access to about 110,000 Nvidia GPUs — hardware housed in xAI's data centers. Google itself described the arrangement as "bridge capacity" for surging demand on Gemini Enterprise.&lt;/p&gt;

&lt;p&gt;That phrase is more architecturally honest than it probably intended to be — TPU rationing doesn't just decide who waits. It determines which demand remains inside Google's available capacity and which demand has to seek capacity somewhere else. A bridge connects two points that aren't naturally joined; nobody calls a data center they built for themselves a bridge. Calling the arrangement bridge capacity is effectively an admission that the internal architecture cannot currently absorb all of the demand it is being asked to serve. The external GPU lease becomes the visible downstream response to that allocation constraint.&lt;/p&gt;

&lt;p&gt;It's also not a new trade. &lt;a href="https://www.rack2cloud.com/vertical-integration-ai-moat/" rel="noopener noreferrer"&gt;Vertical Integration Is Turning AI Stacks Into A Competitive Moat&lt;/a&gt; names the same exchange from the enterprise side: guaranteed capacity secured through a vendor-coordinated deal, in exchange for dependency on infrastructure you don't control. Google is normally the vendor offering that trade to its own Cloud customers. Here, for a slice of its own demand, Google is the one making it. The arrangement shows that the same capacity-for-dependency trade can operate in both directions when supply is constrained.&lt;/p&gt;

&lt;p&gt;📥 &lt;strong&gt;&lt;a href="https://rack2cloud.com/downloads/carousels/google-tpu-rationing-compute-authority-carousel-v1.pdf" rel="noopener noreferrer"&gt;Download the carousel&lt;/a&gt;&lt;/strong&gt; — the five-step mechanism in 7 slides (PDF).&lt;/p&gt;

&lt;h2&gt;
  
  
  This Is Not Phantom Capacity
&lt;/h2&gt;

&lt;p&gt;TPU rationing and Phantom Capacity share a resource but not a mechanism, and it's worth naming that boundary explicitly — accelerator capacity is the same resource that shows up in &lt;a href="https://www.rack2cloud.com/phantom-capacity/" rel="noopener noreferrer"&gt;Framework #171, Phantom Capacity&lt;/a&gt; and in &lt;a href="https://www.rack2cloud.com/oracle-wisconsin-power-guarantee/" rel="noopener noreferrer"&gt;Oracle's Wisconsin power guarantee&lt;/a&gt;. The mechanism here is different, and the difference is the point.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phantom Capacity (#171)&lt;/th&gt;
&lt;th&gt;TPU rationing&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A capacity signal is treated as validated demand when it isn't&lt;/td&gt;
&lt;td&gt;Capacity and competing demand are both real and evidenced&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Failure mode: nothing checks the signal against reality&lt;/td&gt;
&lt;td&gt;Failure mode: confirmed supply can't cover confirmed demand&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Allocation can look healthy while the underlying demand is unresolved&lt;/td&gt;
&lt;td&gt;Allocation necessarily requires an explicit prioritization decision&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Produces a hidden, latent arbitration problem&lt;/td&gt;
&lt;td&gt;Produces a visible, exercised arbitration decision&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Phantom Capacity is a story about trust — whether a planning system has earned the right to believe its own queue. TPU rationing is a story about arithmetic — real numbers that don't sum to enough, forcing a real decision about who waits. Related resource, different failure. The distinction matters because scarcity alone does not make an event Phantom Capacity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdkayfw2heckcjyn6jkle.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdkayfw2heckcjyn6jkle.jpg" alt="TPU rationing consequence — Meta capacity restriction and Google's $920 million SpaceX bridge-capacity lease" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Formal Authority, Informal Allocation
&lt;/h2&gt;

&lt;p&gt;One more thread is worth a qualified mention, without leaning on it. Google's declared policy — AGI frontier work first — is a clean, public, top-down allocation hierarchy. Reporting on the internal researcher experience describes something messier sitting underneath it: accounts of DeepMind researchers queuing for the same TPUs Google is selling externally, with allocation reportedly running less through the declared policy than through informal, seniority-based routing inside research teams.&lt;/p&gt;

&lt;p&gt;Formal policy says one thing. If operational practice runs differently underneath it, declared allocation authority and actual allocation authority aren't necessarily the same thing. That would put the operational problem closer to the allocation-authority issue described in &lt;a href="https://www.rack2cloud.com/gpu-allocation-governance/" rel="noopener noreferrer"&gt;GPU Allocation Governance Is the Next AI Infrastructure Crisis&lt;/a&gt; — but it would not establish the same failure mode. This isn't offered as proof Google has that same failure. It's offered as a reason the stated hierarchy shouldn't be read as the whole allocation story.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;Google does not currently have enough internally controlled accelerator capacity to satisfy all of those competing demands simultaneously — internal frontier research, its own products, its Cloud customers, and the external commitments it's already signed. That's a narrower, more precise claim than "Google ran out of chips," and it's the one that actually generalizes.&lt;/p&gt;

&lt;p&gt;The real lesson isn't about TPUs specifically. It's that scarcity, once it's real and acknowledged, doesn't resolve itself. Somebody has to decide which workloads get served first, which commitments get deferred, and where the displaced demand goes next. Google made that decision in public. The Meta restriction and the SpaceX lease are what the decision looks like once it leaves the boardroom and lands on someone else's infrastructure bill.&lt;/p&gt;

&lt;p&gt;Compute can always be acquired somewhere. What changes, once the original allocation can't satisfy demand, is who ends up paying for the gap, and on whose terms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/ai-infrastructure-strategy-guide/" rel="noopener noreferrer"&gt;AI Infrastructure Architecture&lt;/a&gt; — the pillar reference for enterprise AI infrastructure strategy, covering accelerated compute, fabric architecture, and governance layers&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/ai-architecture-learning-path/accelerated-compute-architecture/" rel="noopener noreferrer"&gt;Accelerated Compute Architecture&lt;/a&gt; — Learning Path stage covering GPU and accelerator selection, placement logic, and cluster architecture decisions&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/gpu-allocation-governance/" rel="noopener noreferrer"&gt;GPU Allocation Governance Is the Next AI Infrastructure Crisis&lt;/a&gt; — the enterprise-side mirror of this post's mechanism: what happens when nobody has standing to say no to a capacity request&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/vertical-integration-ai-moat/" rel="noopener noreferrer"&gt;Vertical Integration Is Turning AI Stacks Into A Competitive Moat&lt;/a&gt; — the same guaranteed-capacity-for-dependency trade this post's SpaceX bridge deal makes, from the vendor's own side&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/phantom-capacity/" rel="noopener noreferrer"&gt;Phantom Capacity: Why Texas Couldn't Tell Real Demand From Noise&lt;/a&gt; — Framework #171: a related but distinct capacity-scarcity mechanism, explicitly not the one at work here&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/oracle-wisconsin-power-guarantee/" rel="noopener noreferrer"&gt;Oracle's $7 Billion Wisconsin Power Guarantee Isn't Really About Power&lt;/a&gt; — same capacity-commitment family this post's boundary section distinguishes from, at a different resource (power, not compute)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.forbes.com/sites/jonmarkman/2026/06/29/google-limits-metas-gemini-usage-over-compute-shortages/" rel="noopener noreferrer"&gt;Google Limits Meta's Gemini Usage Over Compute Shortages&lt;/a&gt; — Forbes' account of the Meta restriction and SpaceX bridge-capacity arrangement, including its reporting from the Financial Times' original story&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.theregister.com/ai-and-ml/2026/07/23/google-is-hoarding-tpus-to-chase-artificial-general-intelligence/5276755" rel="noopener noreferrer"&gt;Google Is Hoarding TPUs to Chase Artificial General Intelligence&lt;/a&gt; — The Register's account of Pichai's and Ashkenazi's Q2 earnings-call remarks, source for this post's allocation-hierarchy and bridging-strategy claims&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/google-tpu-rationing-compute-authority/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>infrastructure</category>
      <category>cloud</category>
    </item>
    <item>
      <title>GM's Brake-by-Wire Investigation Is a Verification Story</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Sat, 19 Sep 2026 12:05:07 +0000</pubDate>
      <link>https://dev.to/ntctech/gms-brake-by-wire-investigation-is-a-verification-story-m1l</link>
      <guid>https://dev.to/ntctech/gms-brake-by-wire-investigation-is-a-verification-story-m1l</guid>
      <description>&lt;p&gt;The growing investigation into the &lt;strong&gt;eBoost brake failure&lt;/strong&gt; issue has become more than an automotive reliability story. It is increasingly a verification story: the difference between a failure mode documented in design assumptions and the behavior reported in production.&lt;/p&gt;

&lt;p&gt;General Motors' electro-hydraulic eBoost system is now the subject of NHTSA Engineering Analysis EA26006, an escalation from the preliminary evaluation opened in 2024. The scope: 1,164,820 vehicles across fourteen nameplates spanning General Motors, Honda, and Acura, model years 2023 through 2026. The Office of Defects Investigation has logged 745 unique incident reports, 22 crashes or fires, and six injuries. No fatalities. No recall — yet. The 1,164,820 figure is the population under investigation, not a count of vehicles confirmed to have experienced the failure, and the 745 reports are reports — not 745 confirmed instances of a single defect.&lt;/p&gt;

&lt;p&gt;What makes this a Rack2Cloud story isn't the hardware. It's the shape of the discrepancy that triggered the escalation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk97epr24dblildjqb3rm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk97epr24dblildjqb3rm.jpg" alt="Designed failure sequence diverging from observed field reports at the ABS event" width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What GM's Design Says Should Happen
&lt;/h2&gt;

&lt;p&gt;GM's explanation to investigators centers on a spindle inside the eBoost electronic brake control module — a component GM says can fracture under the mechanical loads generated during an anti-lock braking event. According to GM's own technical response, a spindle fracture triggers a specific, ordered degradation sequence. GM's technical response also describes dynamic testing involving a fractured spindle during an ABS event, in which braking pressure already generated in the system was sufficient to carry the vehicle through that event — a behavior GM describes as "push-through braking":&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Antilock brakes, traction control, and stability control&lt;/strong&gt; remain functional through the ABS event and until the vehicle reaches a complete stop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;After the vehicle stops&lt;/strong&gt;, the system can set diagnostic trouble codes, illuminate warning indicators, disable affected functions, and limit vehicle speed to approximately 43 mph
This is a designed control-plane response to a known failure condition, backed by GM's own testing — the automotive equivalent of what Modern Infrastructure &amp;amp; IaC architecture treats as a documented, exercised runbook: when component X fails, the system is supposed to hold at reduced capability until a safe checkpoint, then degrade in a controlled, bounded way.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On paper, and in GM's own test scenario, that's a reasonable fail-safe. The problem is what happens when that documented, tested sequence meets the full range of conditions the fleet actually encounters.&lt;/p&gt;

&lt;h2&gt;
  
  
  What NHTSA Says Drivers Report
&lt;/h2&gt;

&lt;p&gt;This is the section the entire piece pivots on.&lt;/p&gt;

&lt;p&gt;NHTSA's Office of Defects Investigation has continued to receive reports since the original 2024 preliminary evaluation that don't match GM's described sequence. Instead of the graceful, stop-then-degrade pattern GM's documentation describes, a subset of drivers report something categorically different: an &lt;strong&gt;immediate loss of brake assist while actively braking&lt;/strong&gt; — not after the vehicle has already come to a stop.&lt;/p&gt;

&lt;p&gt;That's not merely a difference in degree. It describes a materially different failure behavior from the sequence GM documented and tested. GM's design assumes the system fails &lt;em&gt;after&lt;/em&gt; the safety-critical moment has passed. The reports NHTSA is now examining describe the system failing &lt;em&gt;during&lt;/em&gt; it — the scenario the tested design was meant to avoid. That discrepancy is one of the central questions EA26006 is now examining, alongside the underlying eBoost component failures themselves.&lt;/p&gt;

&lt;p&gt;To be precise about what's actually established here: NHTSA has opened an Engineering Analysis. It has not concluded a root cause, and it has not determined whether GM's original technical explanation is complete, wrong, or one of several interacting failure modes. The documented degradation path and the reported field behavior appear to diverge — whether that divergence traces to the spindle mechanism, a separate fault, or some combination remains under active investigation. GM has disputed the implication that the condition presents an unreasonable safety risk and has said it will continue cooperating with NHTSA as the investigation proceeds; EA26006 remains open, with no finding and no recall to date.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8cmuszxafjybbdgbidwp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8cmuszxafjybbdgbidwp.jpg" alt="GM's documented eBoost degradation sequence from spindle fracture to fail-safe mode" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The Parallel:&lt;/strong&gt; Automotive investigators are trying to determine whether reported vehicle behavior matches the documented degradation sequence. Infrastructure architects perform the same exercise after outages: compare the failure path described in the design with the failure path observed in production.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Architecture Translation: Failure-Path Verification
&lt;/h2&gt;

&lt;p&gt;A fail-safe path is not verified because it exists in the design documentation. It's verified when observed system behavior under failure conditions matches the behavior the design specifies — and that verification has to be strong enough to survive the range of conditions represented in production, not merely a representative test scenario after hundreds of field reports have surfaced a potential gap.&lt;/p&gt;

&lt;p&gt;The architectural question is a control-plane validation problem, even though the underlying investigation may ultimately identify a hardware failure. Hardware failure and architectural failure aren't the same claim. The spindle may well turn out to be exactly the problem — that's for NHTSA and GM's engineers to determine. The architectural failure, if there is one, occurs if the system's documented response to that hardware failure doesn't reliably match observed behavior across the full range of real-world conditions.&lt;/p&gt;

&lt;p&gt;eBoost's electronic brake control module is, functionally, a control plane sitting above the physical braking hardware — it decides what degraded-mode behavior looks like and when it activates. GM documented that behavior, and GM tested it — in at least one representative scenario. The unresolved question is whether that documented, tested sequence reliably predicts what happens across the full range of real-world operating conditions the field reports now represent. Testing one representation of a failure path doesn't prove the production system exhibits that same path under every condition it will actually encounter.&lt;/p&gt;

&lt;p&gt;Infrastructure teams make this same category of assumption constantly, and often for defensible reasons: the fail-safe path is expensive and disruptive to fully exercise across every real condition, so it gets validated against a representative scenario and then trusted at that scope until a wider range of production conditions forces a broader comparison. The pattern recurs everywhere a failover path is documented rather than forced: a multi-cloud failover path assumed to work because it was designed to, a DNS failover that passed every static check but was never actually exercised in practice, a DR test that passed without actually exercising the assumptions underneath it. A documented failover path that has only been forced and observed under one representative condition isn't a fully verified control — it's a hypothesis that's held up once, with an owner's name attached to it.&lt;/p&gt;

&lt;p&gt;The distinction that matters here isn't "did the component fail." Components fail; that's the premise the design was built around. The distinction is whether the system's &lt;em&gt;response&lt;/em&gt; to that failure matched what the design said it would do. When it doesn't, the failure isn't really in the spindle, or the disk, or the node — it's in the untested gap between the documented failure path and the one that shows up in production.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ybfs9lmukddiclt0uxd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ybfs9lmukddiclt0uxd.jpg" alt="Comparing automotive failure-path verification to infrastructure failover verification" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download:&lt;/strong&gt; &lt;a href="https://rack2cloud.com/downloads/carousels/eboost-brake-failure-verification-story-carousel-v1.pdf" rel="noopener noreferrer"&gt;The eBoost Brake Failure Carousel&lt;/a&gt; — 8 slides, PDF, walking through the designed-vs-observed failure path and the infrastructure parallel. &lt;em&gt;(Live once the logo/tagline pass and upload are complete — see note on rack2cloud.com if the link 404s.)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;A fail-safe path is not verified because it exists in the design — it's verified when observed behavior matches designed behavior under failure conditions. The moment those two diverge, the question stops being "did the component fail?" and becomes "did the system fail the way we expected it to?"&lt;/p&gt;

&lt;p&gt;That's the architectural question exposed by EA26006: did the system fail the way we expected it to? It's also the question every infrastructure team should be asking about its own documented failover paths — before a customer, a regulator, or hundreds of incident reports asks it for them.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/eboost-brake-failure-verification-story/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>infrastructure</category>
      <category>cloud</category>
      <category>sre</category>
    </item>
    <item>
      <title>Enterprise Architecture Has Identity Governance. It Doesn't Have Delegation Governance.</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Fri, 18 Sep 2026 17:11:06 +0000</pubDate>
      <link>https://dev.to/ntctech/enterprise-architecture-has-identity-governance-it-doesnt-have-delegation-governance-39l9</link>
      <guid>https://dev.to/ntctech/enterprise-architecture-has-identity-governance-it-doesnt-have-delegation-governance-39l9</guid>
      <description>&lt;p&gt;Delegation governance is the layer identity management doesn't cover: identity governs identities and entitlements, but it doesn't, by itself, represent the full relationship created when authority is transferred from one principal to another. Enterprise architecture has built real depth on the first. It has built far less on the second.&lt;/p&gt;

&lt;p&gt;Rack2Cloud's own authority-architecture work has already established that identity and authority are different governance problems. Framework #141 defined the authority boundary a delegated agentic system operates inside; subsequent work extended that boundary into platform authority, into a shipped MCP gateway, into the evidence a delegated action leaves behind. The remaining question is what happens when authority itself is delegated between principals — a question that predates agents by decades and gets harder to ignore the moment the delegate stops being human.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc2x9x72reqtixh3zxpf1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc2x9x72reqtixh3zxpf1.jpg" alt="delegation governance — identity governance layer versus the unrepresented delegation-object layer beneath it" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Authority Thread Already Exists
&lt;/h2&gt;

&lt;p&gt;Identity governance and authority governance are not new distinctions on this site. Framework #141, Agentic Authority Boundary (&lt;a href="https://www.rack2cloud.com/mcp-security-architecture/" rel="noopener noreferrer"&gt;https://www.rack2cloud.com/mcp-security-architecture/&lt;/a&gt;), named the formal boundary within which an agentic system may delegate execution authority — constrained by explicit scope, identity, ownership, and revocability — and named four ways that boundary collapses: scope creep, implicit trust inheritance, non-revocable grants, and authority chain opacity. Every AI Platform Is Becoming An Authority Platform (&lt;a href="https://www.rack2cloud.com/ai-platform-authority-layer/" rel="noopener noreferrer"&gt;https://www.rack2cloud.com/ai-platform-authority-layer/&lt;/a&gt;) showed three architecturally distinct vendors converging on the same requirement, independently, in the same year. Nutanix Put MCP Behind a Gateway. The Real Problem Is Authority. (&lt;a href="https://www.rack2cloud.com/nutanix-mcp-gateway-authority/" rel="noopener noreferrer"&gt;https://www.rack2cloud.com/nutanix-mcp-gateway-authority/&lt;/a&gt;) tested a shipped gateway against that boundary directly and drew the line explicitly: identity governance and authority governance are different problems, and a gateway that answers the first doesn't automatically answer the second.&lt;/p&gt;

&lt;p&gt;This piece isn't rediscovering that split. It's asking the delegation governance question the thread hasn't answered yet — not whether authority is different from identity, but what happens when authority itself is a relationship, transferred from one principal to another, rather than a property one principal simply holds. Enterprise AI infrastructure architecture (&lt;a href="https://www.rack2cloud.com/ai-infrastructure-strategy-guide/" rel="noopener noreferrer"&gt;https://www.rack2cloud.com/ai-infrastructure-strategy-guide/&lt;/a&gt;) has built real depth on what happens after that transfer breaks down. It has spent far less time making the transfer itself an explicit governance object — before anything breaks.&lt;/p&gt;

&lt;p&gt;That question predates agents entirely. Organizations have always delegated authority — through assistants, administrators, service accounts, approval chains, workflow systems. What changed with autonomous systems isn't the existence of delegation. It's the frequency, duration, depth, and observability of it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Delegation Predates Agents
&lt;/h2&gt;

&lt;p&gt;In April 2015, NeighborWorks America's Internal Audit Department published a review of the organization's delegation of authority policy — a formal chain running from the Board, to the CEO by resolution, to individual officers through signed "Redelegation of Obligation and Disbursement Authority" memos filed with the Office of General Counsel as the system of record. It is about as far from an AI governance story as an audit report gets, which is exactly what makes it useful.&lt;/p&gt;

&lt;p&gt;Auditors sampled twenty-five disbursements and found one where a Senior Vice President had approved a program disbursement without a required additional layer of sign-off. Nothing about the SVP's identity was in question — she held a properly filed, board-traceable delegation of authority, the same delegation that authorized dozens of other actions that audit sampled cleanly. The initial grant behind the disbursement had been correctly approved through the normal chain; the specific disbursement was contractually tied to deliverables being met, and the policy treated that as a distinct approval boundary from the grant approval itself. Internal Audit's own language is precise about what kind of failure this was: not a compliance violation, but "a lack of concise articulation of the delegated authority scope."&lt;/p&gt;

&lt;p&gt;A separate finding in the same review illustrates a related but different problem. A revised, broader delegation for that SVP had in fact been drafted and signed by the prior CEO — but during a 2014 leadership transition, it was never filed with the record-keeper, so the official Obligation of Funds Chart never reflected it. That's not the same finding as the scope-articulation gap above. It's a record-state divergence: evidence that even a delegation's own paper trail can drift out of sync with what was actually granted.&lt;/p&gt;

&lt;p&gt;Nothing about this case involves a model, an agent, or a line of code. It's a human governance system — identities, roles, an approval matrix, a filing process — in which twenty-four of twenty-five sampled disbursements did not present this particular issue, while the remaining sample exposed the boundary between an officer's general standing authority and the narrower authority a particular action required. That's the architectural takeaway this case earns: identity established who could act. Standing authority established what they were generally entitled to do. Somewhere between that standing authority and the specific action taken, the boundary wasn't clearly enough articulated for the process built to catch it.&lt;/p&gt;

&lt;p&gt;That was a human governance problem, running through a formal organizational process, caught by an audit sample large enough to find it. Autonomous systems don't introduce that problem. They change the economics of delegation governance entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Changed When the Delegate Became Autonomous
&lt;/h2&gt;

&lt;p&gt;The human delegation model had organizational processes, records, approvals, and people capable of interpreting them. Autonomous systems change the execution model: authority can be exercised continuously, programmatically, and across downstream systems without a human evaluating every individual action.&lt;/p&gt;

&lt;p&gt;An autonomous agent receives delegated authority, executes continuously, invokes other systems, and can create further downstream delegations of its own — without a human necessarily present for any single step. The volume changes. The speed changes. The visibility into any one delegation event changes, because there are suddenly far more of them, happening far faster, than any human review process was built to sample.&lt;/p&gt;

&lt;p&gt;Reuters' investigation into Meta's "Project OT" restructuring, published August 26, 2026, is a documented instance of that shift. Meta had explored shifting much of the day-to-day work of some teams — as much as 60% of headcount in certain areas — onto autonomous AI agents, with small human teams supervising. According to internal posts reviewed by Reuters, AI-generated code changes to internal platforms and infrastructure rose 220% year-over-year, while changes that reached users rose only 36%. Major technical and security incidents — service disruptions and possible data leaks among them — rose 40% over the same period, and the time staff spent firefighting them rose 70%. One internal post described unchecked agents performing "large-scale, disruptive actions."&lt;/p&gt;

&lt;p&gt;Those are the documented facts. The Meta evidence demonstrates the scaling problem, not a delegation-governance diagnosis. It shows what happens when autonomous systems take on substantially more operational work while the human organization responsible for supervising them has to absorb a much larger volume of machine-generated activity. The delegation governance question is what representation and controls are required when that activity occurs under transferred authority.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa6q6m6fp9wjdwjr3tvz7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa6q6m6fp9wjdwjr3tvz7.jpg" alt="human delegation chain versus autonomous agent delegation chain, same boundary gap at different speed" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Existing Authority Model Already Covers Most of the Object
&lt;/h2&gt;

&lt;p&gt;Before naming what's missing, it's worth being explicit about how much of a delegation governance object Rack2Cloud's existing authority work has already assembled — because the honest framing of this piece is synthesis, not discovery.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Governance element&lt;/th&gt;
&lt;th&gt;Where it comes from&lt;/th&gt;
&lt;th&gt;Role in this article&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Authority&lt;/td&gt;
&lt;td&gt;Framework #141, Agentic Authority Boundary&lt;/td&gt;
&lt;td&gt;Inherited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Purpose&lt;/td&gt;
&lt;td&gt;AI Platform Is Becoming An Authority Platform — intent and mission binding&lt;/td&gt;
&lt;td&gt;Inherited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scope&lt;/td&gt;
&lt;td&gt;Framework #141's Scope Creep Delegation failure state&lt;/td&gt;
&lt;td&gt;Inherited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Revocation&lt;/td&gt;
&lt;td&gt;AI Authorization Trail — the missing third step of grant, use, revoke&lt;/td&gt;
&lt;td&gt;Inherited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lineage&lt;/td&gt;
&lt;td&gt;AI Authorization Trail — authority provenance&lt;/td&gt;
&lt;td&gt;Inherited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Evidence&lt;/td&gt;
&lt;td&gt;AI Authorization Trail — artifact portability, execution records&lt;/td&gt;
&lt;td&gt;Inherited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Principal&lt;/td&gt;
&lt;td&gt;This article&lt;/td&gt;
&lt;td&gt;New distinction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Delegate&lt;/td&gt;
&lt;td&gt;This article&lt;/td&gt;
&lt;td&gt;New distinction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Duration&lt;/td&gt;
&lt;td&gt;This article&lt;/td&gt;
&lt;td&gt;New governance field&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Six of nine fields already exist somewhere in Rack2Cloud's Governance &amp;amp; Runtime Control (&lt;a href="https://www.rack2cloud.com/ai-architecture-learning-path/governance-runtime-control/" rel="noopener noreferrer"&gt;https://www.rack2cloud.com/ai-architecture-learning-path/governance-runtime-control/&lt;/a&gt;) territory, named and argued in enough detail that this piece doesn't need to redefine any of them — only cite them, and extend the model backward into the organizational delegation that predates agentic systems entirely. What's left is the delegation relationship itself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgm7qyvw6r41hi6bdve16.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgm7qyvw6r41hi6bdve16.jpg" alt="nine-field delegation governance object — six inherited fields and three new fields, Principal, Delegate, Duration" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Remaining Delegation Fields
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;What it represents&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Principal&lt;/td&gt;
&lt;td&gt;Who originated the authority&lt;/td&gt;
&lt;td&gt;Explicit distinction introduced here&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Delegate&lt;/td&gt;
&lt;td&gt;Who received and currently exercises that authority&lt;/td&gt;
&lt;td&gt;Explicit distinction introduced here&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Duration&lt;/td&gt;
&lt;td&gt;How long the transfer remains valid&lt;/td&gt;
&lt;td&gt;Explicit lifecycle field introduced here&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Principal and Delegate are not two new governance frameworks. They are the two roles required to represent one delegation relationship. Duration adds the missing lifecycle dimension.&lt;/p&gt;

&lt;p&gt;The reason Principal and Delegate can't simply collapse into "identity" is the important architectural point: an identity can be a principal in one delegation and a delegate in another, sometimes in the same afternoon. The NeighborWorks SVP was a delegate of the CEO for one class of action and, within her own division, a principal delegating narrower authority downstream. A model-context server is a delegate of the orchestrator that invoked it and, the moment it calls a second tool, becomes a principal delegating further. Identity governance asks whether the identity is valid. It has no native way to ask which role that identity is playing in this specific transfer, right now.&lt;/p&gt;

&lt;p&gt;This isn't a claim that technical systems can't represent delegation. RFC 8693, OAuth 2.0 Token Exchange (&lt;a href="https://datatracker.ietf.org/doc/html/rfc8693" rel="noopener noreferrer"&gt;https://datatracker.ietf.org/doc/html/rfc8693&lt;/a&gt;), explicitly defines an &lt;code&gt;act&lt;/code&gt; claim for identifying an actor to whom authority has been delegated — the protocol layer already has a way to carry that information. The gap is one layer up: representing the delegation relationship consistently enough to govern its origin, scope, lifecycle, revocation, and evidence across the systems that consume it, not merely encode it in a token. That gives this thread three distinct layers, not two — an identity/entitlement layer asking who the actor is and what it can access; a protocol layer asking how a system technically represents delegated authority once it's granted; and a governance layer asking who originated the authority, who received it, what was transferred, under what purpose and scope, for how long, and whether the organization can reconstruct and revoke it. RFC 8693 answers the middle layer. This article is about the third.&lt;/p&gt;

&lt;p&gt;Duration is the newer claim among the three fields, and it needs careful framing, because Framework #169, Authority Persistence Boundary (&lt;a href="https://www.rack2cloud.com/third-party-cloud-access/" rel="noopener noreferrer"&gt;https://www.rack2cloud.com/third-party-cloud-access/&lt;/a&gt;), has already documented its consequence extensively — across at least seven live posts on this site, from a vendor's authority surviving its own breach to a former employee's access outliving their departure. #169 shows what happens when authority survives beyond the relationship that originally justified it: it keeps working, because nothing about the relationship ending automatically revoked it. What #169 has not previously elevated is explicit validity duration as a first-class design field. This article does: an explicit, bounded validity period, specified as a property of the delegation itself at the moment it is created — not inferred after the fact from whatever else happened to change. #169 is the downstream failure mode. Duration is the upstream field this thread has repeatedly shown the consequences of leaving implicit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Delegation Governance Is a Relationship, Not an Entitlement
&lt;/h2&gt;

&lt;p&gt;An entitlement says: Principal X has permission Y. That's the sentence identity governance is built to evaluate, and it evaluates it well — RBAC, access reviews, and entitlement inventories all exist to keep that sentence accurate over time.&lt;/p&gt;

&lt;p&gt;A delegation says something structurally richer: Principal X transferred authority Y to Delegate Z, for purpose P, within scope S, under constraints C, for duration D. A conventional entitlement view does not, by itself, provide a complete representation of those six relationships — not because the underlying technology can't carry that information, but because an entitlement view collapses several of them into the actor's role by default.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;Entitlement view&lt;/th&gt;
&lt;th&gt;Delegation view&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Who may act?&lt;/td&gt;
&lt;td&gt;Primary&lt;/td&gt;
&lt;td&gt;Primary&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What may they access?&lt;/td&gt;
&lt;td&gt;Primary&lt;/td&gt;
&lt;td&gt;Primary&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who originated the authority?&lt;/td&gt;
&lt;td&gt;Often implicit&lt;/td&gt;
&lt;td&gt;Explicit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who received it?&lt;/td&gt;
&lt;td&gt;Often collapses into the actor&lt;/td&gt;
&lt;td&gt;Explicit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What purpose governs the transfer?&lt;/td&gt;
&lt;td&gt;May be contextual&lt;/td&gt;
&lt;td&gt;Explicit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;How long does the transfer remain valid?&lt;/td&gt;
&lt;td&gt;May be inherited or implicit&lt;/td&gt;
&lt;td&gt;Explicit&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4av3s4w4kmqfykbw5l77.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4av3s4w4kmqfykbw5l77.jpg" alt="entitlement view versus delegation view, two answers versus six answers across the same six questions" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is not a claim that enterprises have never governed delegation, or that authorization technology can't represent it. NeighborWorks governed it — through a signed memo, a filed record, and a chart that got checked against twenty-five sampled disbursements. OAuth Token Exchange can carry an &lt;code&gt;act&lt;/code&gt; claim naming the delegate. What's been missing isn't the capability to represent delegation. It's treating delegation as an explicit, reconstructable governance object with its own fields by default, rather than something inferred from role membership, approval-chain custom, and institutional memory that happens to work until an audit sample, or an agent running at machine speed, finds the case it doesn't cover.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Assessment: AI Governance Assessment — Running agentic workloads against production infrastructure? Rack2Cloud's AI Governance Assessment maps delegation, scope, and revocability gaps before they show up as an incident. &lt;a href="https://www.rack2cloud.com/audits/ai-governance-assessment/" rel="noopener noreferrer"&gt;https://www.rack2cloud.com/audits/ai-governance-assessment/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why the Difference Matters at Agent Scale
&lt;/h2&gt;

&lt;p&gt;The governance problem an entitlement model misses doesn't scale with the number of identities in the organization. It scales with the number of authority relationships between principals, delegates, services, and downstream delegations — not simply with the number of identities.&lt;/p&gt;

&lt;p&gt;A human organization absorbed this informally because the number of active delegations at any moment was small enough for institutional memory, a filed memo, and an occasional audit sample to catch the cases that slipped. That absorption mechanism doesn't scale to an environment where a single orchestrator can spawn delegations to a dozen tools in the time it takes a human approver to open an email. As autonomous actors create more downstream interactions, the number of relationships an organization must be able to reconstruct can increase independently of its identity inventory.&lt;/p&gt;

&lt;p&gt;That gap is where scope creep, opaque chains, and unbounded grants stop being edge cases and start being the default outcome of treating delegation governance as implicit instead of tracking Principal, Delegate, and Duration as explicit fields.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;Delegation governance does not replace identity governance, and it doesn't compete with the authority controls this site has already built. It makes explicit the relationship those controls increasingly have to represent: who originated authority, who received it, what was transferred, and how long that transfer remains valid.&lt;/p&gt;

&lt;p&gt;The NeighborWorks case shows that gap existed before any of this was agentic — a formal human delegation system still exposed a boundary between standing authority and the specific action it covered, and needed a twenty-five-sample audit to catch it. Meta's numbers show what happens to the same category of governance problem once the volume and speed of delegated action outrun what a human supervisory process can absorb. Neither case is about AI risk specifically. Both are about representing a delegation relationship that identity governance was never built to carry.&lt;/p&gt;

&lt;p&gt;The next governance problem infrastructure architecture has to solve isn't determining whether an actor has a valid identity. It's reconstructing the authority relationship that let that actor act in the first place — and building the governance model that represents it before the next incident does that reconstruction for you.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/delegation-governance/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aigovernance</category>
      <category>delegatedauthority</category>
      <category>enterprisearchitecture</category>
      <category>agenticai</category>
    </item>
    <item>
      <title>AI Infrastructure Is Becoming Critical Infrastructure. The Architecture Has to Change.</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Fri, 18 Sep 2026 12:13:36 +0000</pubDate>
      <link>https://dev.to/ntctech/ai-infrastructure-is-becoming-critical-infrastructure-the-architecture-has-to-change-4a3p</link>
      <guid>https://dev.to/ntctech/ai-infrastructure-is-becoming-critical-infrastructure-the-architecture-has-to-change-4a3p</guid>
      <description>&lt;p&gt;AI as critical infrastructure is no longer a metaphor — it's an architectural condition with consequences, and a single reconsidered data-center campus just made that visible.&lt;/p&gt;

&lt;p&gt;In September 2026, Reuters reported that the UAE was quietly revising plans for a 5-gigawatt AI data-center project after Iranian drone and missile attacks damaged AWS facilities in the UAE and Bahrain — two facilities directly struck in the UAE, a third damaged by a strike near a Bahrain site. The original single-campus concept, planned as a 26-square-kilometer site in Abu Dhabi, is reportedly giving way to a network of data centers spread across the country, with officials considering air defenses and underground construction to better protect the facilities.&lt;/p&gt;

&lt;p&gt;The obvious read is a story about one campus, one region, one set of attacks. That's not the interesting story. The interesting story is what the reconsideration itself reveals: AI infrastructure has crossed a scale threshold where physical resilience is a first-order architectural requirement, not an operational afterthought — and the architecture discipline built for cloud-era workloads was never designed for that requirement.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg9kjlurxhfk1r4rqdau2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg9kjlurxhfk1r4rqdau2.jpg" alt="AI as critical infrastructure — single campus versus distributed network with a coordination layer binding the sites" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AI as Critical Infrastructure: A Different Class of Risk
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Forew2rcpt4nhavovsjiy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Forew2rcpt4nhavovsjiy.jpg" alt="Five architectural domains that shift from operational detail to critical-infrastructure concern at multi-gigawatt AI scale" width="799" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For fifteen years, infrastructure architecture treated the physical facility as somebody else's problem. Datacenter design optimized for uptime and power density. Cloud architecture optimized for regional resilience — availability zones, multi-region failover, the assumption that compute is fungible enough to move when a region has a bad day. Enterprise architects built on top of that assumption without needing to think about the substrate underneath it: the building, the grid connection, the water rights, the workforce that shows up to run it.&lt;/p&gt;

&lt;p&gt;A single-digit-gigawatt AI campus breaks that assumption. At that scale, energy availability isn't a line item — it's a regional grid dependency measured against the same capacity utilities plan around for entire metro areas. Water for cooling is a watershed-level commitment. Physical security has to account for deliberate targeting, not just badge readers and fencing. Workforce access assumes a labor pool that can staff a facility the size of a small industrial complex, indefinitely.&lt;/p&gt;

&lt;p&gt;None of that shows up in a Terraform plan or a cloud architecture diagram. It shows up in the same category of planning that power grids, telecommunications backbones, and transportation networks have always required — infrastructure whose failure doesn't degrade a service, it degrades a region. That's the actual claim behind AI as critical infrastructure: not that AI is important, but that AI infrastructure is now large enough to inherit the design constraints critical infrastructure has always carried, and enterprise cloud architecture has little native doctrine for them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Distribution Looks Like the Obvious Answer
&lt;/h2&gt;

&lt;p&gt;The instinctive fix, once you accept that a single campus is a single point of catastrophic failure, is to spread the load. Multiple sites instead of one. It's the same instinct that produced multi-region cloud architecture, and Rack2Cloud has made the concentration-risk argument from a few different angles already.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rack2cloud.com/cloud-concentration-risk/" rel="noopener noreferrer"&gt;The Cloud Concentration Risk&lt;/a&gt; argument prices this as a financial exposure — every placement decision is an implicit bet on how much capability sits behind a single point, and that bet has a dollar figure whether or not anyone calculates it. That post's exposure formula is priced financially: the cost of an outage, expressed as a fraction of capability sitting behind one region or provider. What a 5GW campus forces is the same bet, priced physically instead: how much capability sits behind one building, one grid interconnect, one hazard zone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rack2cloud.com/geographic-redundancy/" rel="noopener noreferrer"&gt;A wildfire that came within a third of a mile of a Spokane VA medical center&lt;/a&gt; made the sharper version of this argument concrete: two facilities aren't geographic redundancy just because they're in different buildings. If they share the same power infrastructure, network carriers, workforce pool, transportation routes, or supplier base, a single regional event takes out the "redundant" pair together. Distance means nothing if the failure domain is bigger than the distance — the failure domain is defined by shared dependency, not miles on a map.&lt;/p&gt;

&lt;p&gt;That's the correct prior lesson, and it's the one a naive read of the 5GW story would stop at: "distributed facilities aren't automatically safer, because shared dependency reintroduces the concentration you thought you'd eliminated." True, but it's not where this story actually goes. It's the bridge to the real architectural question, not the destination.&lt;/p&gt;

&lt;h2&gt;
  
  
  Distribution Creates a New Coordination Layer
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhlt1da6pnjwg6bxyzbro.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhlt1da6pnjwg6bxyzbro.jpg" alt="Five physical-distribution problems each paired with the coordination layer they create" width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's what the naive version misses: when an organization deliberately designs for distribution from day one — not retrofitting redundancy onto an existing site, but building a distributed network as the primary architecture — it isn't just multiplying the number of independent facilities. It's building a new layer that didn't exist when there was one campus.&lt;/p&gt;

&lt;p&gt;The coordination layer is the set of systems, dependencies, and authorities that make physically distributed facilities operate as one AI system — not the sites themselves, but everything that has to hold for the sites to function as a single system rather than several unrelated ones.&lt;/p&gt;

&lt;p&gt;Multiple utility providers don't eliminate energy risk — they create a capacity-coordination problem, because the campus's actual power draw now depends on how load balances across grids with different regional constraints, different maintenance schedules, and different failure characteristics. Multiple cooling domains create a resource-coordination problem — water rights, thermal load, and maintenance windows now have to be managed across sites instead of within one. Multiple supply chains create a logistics-coordination problem — chips, cooling hardware, and spare parts now have to reach several locations on schedules that can desynchronize. Multiple campuses create a network-coordination problem — the sites only function as one AI system if the fabric connecting them holds, which means the interconnect is now as load-bearing as any individual facility. Multiple jurisdictions create a governance-coordination problem — different regulatory regimes, different utility contracts, different incident-response authorities, all of which now have to resolve to one accountable decision-maker when something goes wrong across all of them at once.&lt;/p&gt;

&lt;p&gt;None of that coordination layer existed when the plan was a single 5GW site. It exists the moment the plan becomes a distributed network — and it exists whether or not anyone designed it deliberately. The architectural challenge was never really the facilities themselves. It's the layer that makes them operate as one system.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rack2cloud.com/oracle-wisconsin-power-guarantee/" rel="noopener noreferrer"&gt;Oracle's $7 billion Wisconsin power guarantee&lt;/a&gt; is the same pattern from the other direction — a site-selection decision that looks like a power story but is really a commitment story, the economic cost of anchoring a campus to one location. The 5GW campus reconsideration is the mirror case: instead of committing to one location's constraints, it's distributing across several — and inheriting a coordination cost in exchange for a concentration discount. Neither move is free. &lt;a href="https://www.rack2cloud.com/phantom-capacity/" rel="noopener noreferrer"&gt;Phantom Capacity&lt;/a&gt; showed the same lesson one layer earlier, in demand signal rather than site architecture: Texas couldn't tell real compute demand from noise, because the systems tracking capacity weren't built for AI's actual consumption pattern. The pattern repeats at every layer this industry touches — the tooling built for the previous scale doesn't natively see the problem at the new one.&lt;/p&gt;

&lt;h2&gt;
  
  
  The New Failure Domain
&lt;/h2&gt;

&lt;p&gt;This is the direct extension of the geographic-redundancy lesson, not a restatement of it. The earlier analysis established that the failure domain is defined by shared dependency, not distance. The 5GW case adds the layer that argument didn't need to cover, because it was diagnosing an already-built pair of sites, not a system designed for distribution from the start.&lt;/p&gt;

&lt;p&gt;This is where AI as critical infrastructure stops being a framing device and becomes a literal architectural requirement. Once a campus becomes a deliberately distributed network, the failure domain isn't the individual site anymore — hardening one building against blast, fire, or flood doesn't answer the real question. The failure domain is the coordination layer itself: the capacity-balancing logic across utilities, the interconnect fabric across sites, the incident-response authority across jurisdictions. If that layer has a single point of failure — one control system, one authority, one network path that all the sites route through — then the organization has rebuilt the exact concentration problem it just spent enormous capital "solving," one layer up, where it's harder to see and wasn't in the original threat model at all.&lt;/p&gt;

&lt;p&gt;The architectural conclusion isn't "distribute your AI infrastructure." It's this: once you distribute deliberately, the coordination layer you just created has to be evaluated as a first-class part of the architecture — designed with the same rigor as the facilities it connects — not treated as an operational detail that inherits safety by association with the sites it's supposedly protecting.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The eight-slide version of this argument — Single Campus → Distributed Facilities → Coordination Layer → New Failure Domain — is available as a &lt;a href="https://rack2cloud.com/downloads/carousels/ai-as-critical-infrastructure-carousel-v1.pdf" rel="noopener noreferrer"&gt;downloadable carousel&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;AI as critical infrastructure does not stop being concentrated when facilities become distributed. Concentration moves upward, into the systems coordinating energy, connectivity, logistics, and governance across those facilities — and that layer inherits none of the hardening the individual sites get, unless someone deliberately puts it there.&lt;/p&gt;

&lt;p&gt;Most organizations treat physical distribution as the finish line. Multiple sites, multiple utilities, multiple jurisdictions — the box gets checked, the exposure looks diversified, and nobody goes back to ask what binds the sites into one system, or what happens to the whole campus network if that binding layer fails. That's the actual gap: the industry has decades of doctrine for hardening individual facilities, but far less established doctrine for hardening the coordination layer above them.&lt;/p&gt;

&lt;p&gt;As AI infrastructure continues to inherit the scale and threat model of critical infrastructure, that coordination layer stops being an operational detail and becomes the architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Further Reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/cloud-strategy/" rel="noopener noreferrer"&gt;Cloud Architecture Strategy&lt;/a&gt; — the pillar covering placement, resilience, and concentration-risk architecture across cloud and hybrid infrastructure.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.rack2cloud.com/cloud-architecture-learning-path/strategic-resilience/" rel="noopener noreferrer"&gt;Strategic Resilience — Cloud Architecture Learning Path&lt;/a&gt; — the pillar's terminal stage on how cloud architecture survives failure.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.rack2cloud.com/geographic-redundancy/" rel="noopener noreferrer"&gt;A Wildfire Just Exposed the Geographic Redundancy Problem in Mission-Critical Infrastructure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.rack2cloud.com/backup-blast-radius/" rel="noopener noreferrer"&gt;Backup Blast Radius: Why Your Recovery Infrastructure Shares the Failure Condition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.rack2cloud.com/cloud-concentration-risk/" rel="noopener noreferrer"&gt;Cloud Concentration Risk Has a Price Tag Now&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.rack2cloud.com/oracle-wisconsin-power-guarantee/" rel="noopener noreferrer"&gt;Oracle's $7 Billion Wisconsin Power Guarantee Isn't Really About Power&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.rack2cloud.com/phantom-capacity/" rel="noopener noreferrer"&gt;Phantom Capacity: Why Texas Couldn't Tell Real Demand From Noise&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/ai-as-critical-infrastructure/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>infrastructure</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Kubernetes Did Not Replace Virtual Machines — It Changed</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Thu, 17 Sep 2026 17:09:33 +0000</pubDate>
      <link>https://dev.to/ntctech/kubernetes-did-not-replace-virtual-machines-it-changed-2dn</link>
      <guid>https://dev.to/ntctech/kubernetes-did-not-replace-virtual-machines-it-changed-2dn</guid>
      <description>&lt;p&gt;Kubernetes virtual machines still coexist by design in many production architectures — not because those environments are behind, but because Kubernetes was never built to do a virtual machine's job. The industry shorthand says otherwise: VM gave way to container, container gave way to Kubernetes, and the virtualization layer is what got left behind. That sequence is clean, and it's wrong about what actually changed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5876xujlnngx4dbm5zmf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5876xujlnngx4dbm5zmf.jpg" alt="kubernetes virtual machines — layered stack diagram showing application control plane above infrastructure virtualization" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Replacement Story That Never Happened
&lt;/h2&gt;

&lt;p&gt;The real enterprise stack was never VM → container → Kubernetes. It's closer to physical infrastructure → virtualization → operating environment → Kubernetes → workload — layers stacked on top of each other, not replacing each other in sequence. What changed with Kubernetes adoption is which layer makes application-level decisions. Kubernetes became an application control plane above the compute substrate — the system deciding where workloads run, when they're reconciled, and how they discover their dependencies. It did not become a substitute for the &lt;a href="https://www.rack2cloud.com/virtualization-architecture/" rel="noopener noreferrer"&gt;virtualization architecture&lt;/a&gt; underneath it.&lt;/p&gt;

&lt;p&gt;That distinction matters because the same misdiagnosis shows up whenever an organization plans a platform transition around the wrong artifact. The &lt;a href="https://www.rack2cloud.com/virtualization-operating-model-migration/" rel="noopener noreferrer"&gt;VMware exit conversation hits the identical failure mode&lt;/a&gt; — teams fixate on replacing the hypervisor and miss that the operating model built around it is the thing that actually has to transfer. Kubernetes-versus-VM thinking makes the same mistake in reverse: assuming that because Kubernetes owns the application layer now, the virtualization layer underneath has nothing left to do.&lt;/p&gt;

&lt;p&gt;Kubernetes' own architecture makes the underlying point directly: a Kubernetes node can be virtual or physical. Virtualization and Kubernetes were never competing implementations of the same layer — they can coexist, but Kubernetes doesn't require virtualization to function. Kubernetes changed the control plane above the compute substrate. Virtualization is one possible infrastructure boundary underneath that control plane, not the workload scheduler Kubernetes replaced.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Actually Moved
&lt;/h2&gt;

&lt;p&gt;Kubernetes brought application placement, workload reconciliation, and service discovery into a common higher-level control plane, while application-specific operators and external platform tooling can still participate around it. Before Kubernetes was the default, those responsibilities were split across VM and application tooling, platform scripts, and manual operator judgment — functional, but fragmented, and never owned by one system end to end. That fragmentation is exactly what the &lt;a href="https://www.rack2cloud.com/modern-virtualization-learning-path/virtualization-control-plane-architecture/" rel="noopener noreferrer"&gt;Virtualization Control Plane Architecture&lt;/a&gt; stage of the learning path maps in detail.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Responsibility&lt;/th&gt;
&lt;th&gt;Before Kubernetes Was Dominant&lt;/th&gt;
&lt;th&gt;Mature Kubernetes Model&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Application placement&lt;/td&gt;
&lt;td&gt;VM/platform administrators, manual or scripted&lt;/td&gt;
&lt;td&gt;Kubernetes scheduler / control plane&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Application lifecycle&lt;/td&gt;
&lt;td&gt;VM and application-specific tooling&lt;/td&gt;
&lt;td&gt;Kubernetes controllers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workload reconciliation&lt;/td&gt;
&lt;td&gt;External or platform tooling&lt;/td&gt;
&lt;td&gt;Kubernetes control plane&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OS/kernel isolation&lt;/td&gt;
&lt;td&gt;VM/hypervisor boundary&lt;/td&gt;
&lt;td&gt;Still a VM or container boundary, architecture-dependent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Physical compute abstraction&lt;/td&gt;
&lt;td&gt;Hypervisor&lt;/td&gt;
&lt;td&gt;Still the virtualization/infrastructure layer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Node lifecycle&lt;/td&gt;
&lt;td&gt;Infrastructure/platform operations&lt;/td&gt;
&lt;td&gt;Kubernetes plus underlying infrastructure tooling&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Read the bottom three rows carefully. The underlying responsibilities didn't disappear or become Kubernetes responsibilities just because Kubernetes took over workload scheduling — the virtualization layer still provides compute abstraction and, where VMs are used, a distinct infrastructure boundary, while Kubernetes operates above that boundary and manages the cluster's workload state. That's a separation of responsibility, not a takeover.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Stayed Underneath — and Why
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo26jq2prnni4k8uz58sq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo26jq2prnni4k8uz58sq.jpg" alt="what the virtualization layer still owns underneath a Kubernetes cluster" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The temptation in any Kubernetes virtual machines discussion is to frame this as "Kubernetes clusters run on VMs" and treat that as the article's punchline. It isn't, and leaning on it that way undersells the argument — of course a scheduler needs something to schedule onto. The more useful point is that different layers solve different isolation and lifecycle problems, and that's exactly why the arrangement is architecturally coherent rather than a leftover habit.&lt;/p&gt;

&lt;p&gt;What the infrastructure layer still provides underneath a mature Kubernetes environment — whether that layer is virtualized or not:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A stronger OS/kernel isolation boundary&lt;/strong&gt; — when workloads are placed inside VMs, on top of the isolation containers already provide&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Underlying infrastructure lifecycle&lt;/strong&gt; — hardware, hypervisor, VM provisioning, and capacity, which Kubernetes' own node lifecycle depends on but doesn't replace&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A substrate Kubernetes may run on&lt;/strong&gt; — including infrastructure hosting control-plane and worker nodes&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An additional isolation boundary&lt;/strong&gt; — where security, regulatory, or contractual requirements call for one&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A placement option for workloads&lt;/strong&gt; — whose operating, storage, isolation, or lifecycle requirements don't map cleanly to the chosen container platform&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The infrastructure boundary between the application control plane and physical compute&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The same principle shows up wherever a scheduling layer depends on infrastructure it doesn't directly control. &lt;a href="https://www.rack2cloud.com/gpu-scheduling-kubernetes/" rel="noopener noreferrer"&gt;GPU scheduling in Kubernetes runs into it immediately&lt;/a&gt; — the scheduler can't make good placement decisions until the infrastructure underneath it is actually ready, and no amount of scheduler sophistication substitutes for that. It's the same argument the market made about the hypervisor itself: &lt;a href="https://www.rack2cloud.com/hypervisor-commoditization-operations/" rel="noopener noreferrer"&gt;a layer becoming commoditized isn't the same as a layer becoming irrelevant&lt;/a&gt;. Commoditized and invisible-to-the-application-team are not the same as gone.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Division of Labor in a Mature Environment
&lt;/h2&gt;

&lt;p&gt;The table above showed what changed over time — where responsibility used to sit versus where it sits now. This one shows where that responsibility actually lands, workload by workload, in an environment that's already made the transition. It's a snapshot of current-state architecture, not another version of the same before/after comparison.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Workload / Function&lt;/th&gt;
&lt;th&gt;Primary Control Plane&lt;/th&gt;
&lt;th&gt;Likely Infrastructure Boundary&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Stateless application&lt;/td&gt;
&lt;td&gt;Kubernetes&lt;/td&gt;
&lt;td&gt;VM or bare metal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ephemeral batch workload&lt;/td&gt;
&lt;td&gt;Kubernetes&lt;/td&gt;
&lt;td&gt;VM or bare metal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stateful distributed application&lt;/td&gt;
&lt;td&gt;Kubernetes + application operator&lt;/td&gt;
&lt;td&gt;VM or bare metal, depending on requirements&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Legacy application&lt;/td&gt;
&lt;td&gt;VM/platform tooling&lt;/td&gt;
&lt;td&gt;VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kubernetes control plane itself&lt;/td&gt;
&lt;td&gt;Kubernetes&lt;/td&gt;
&lt;td&gt;VM or bare metal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Infrastructure services&lt;/td&gt;
&lt;td&gt;Infrastructure/platform tooling&lt;/td&gt;
&lt;td&gt;VM, bare metal, or dedicated appliance&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;"Likely" is doing real work in that second column — this isn't a prescriptive matrix to apply uniformly across an estate. It's a description of where the boundary tends to sit once the layer separation above is actually understood, which is the more useful thing to walk into a platform-architecture decision with than a binary "container or VM" checklist.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Architects Get This Wrong
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠ &lt;strong&gt;Common Mistake:&lt;/strong&gt; Treating Kubernetes adoption as equivalent to virtual machine elimination. The correct model is narrower: Kubernetes adoption abstracts the application control plane above the infrastructure layer — it doesn't remove the infrastructure layer's job.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Most of the confusion in Kubernetes virtual machines architecture shows up well after the platform decision is made, not during it: premature VM-to-container migrations that hit a workload the container model genuinely can't serve; capacity planning that assumes Kubernetes adoption automatically eliminates an equivalent amount of VM capacity; treating every workload as containerizable by default instead of by evaluation; and — the one that catches teams furthest into a project — overlooking that Kubernetes itself has real infrastructure requirements that don't disappear just because the cluster is the thing making application decisions now.&lt;/p&gt;

&lt;p&gt;It's the same assumption that shows up when &lt;a href="https://www.rack2cloud.com/kubernetes-vmware-exit-ramp/" rel="noopener noreferrer"&gt;Kubernetes gets treated as a VMware exit ramp on its own&lt;/a&gt;: adopting Kubernetes changes what runs the application layer, but it doesn't answer the infrastructure-layer question a VMware exit actually has to resolve. Conflating the two produces a migration plan that's solved the wrong problem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhz2hoo99lg10f1eutash.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhz2hoo99lg10f1eutash.jpg" alt="division of labor between Kubernetes control plane and virtualization infrastructure boundary by workload type" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;Kubernetes did not remove the virtualization layer. It made that layer less relevant to application scheduling while making its infrastructure role more explicit — and those are two very different outcomes that keep getting collapsed into one.&lt;/p&gt;

&lt;p&gt;The real problem in Kubernetes virtual machines architecture isn't that architects believe VMs are gone. It's that reduced visibility gets read as reduced relevance, and that misreading drives migration timelines, capacity models, and containerization targets that don't match what the infrastructure actually needs to keep providing underneath the cluster.&lt;/p&gt;

&lt;p&gt;The VM didn't lose its place in the stack. It lost visibility to the application layer.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/kubernetes-virtual-machines-role/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>virtualization</category>
      <category>infrastructure</category>
      <category>platformengineering</category>
    </item>
    <item>
      <title>Cloud-Based Recovery Didn't Eliminate USB Drives. It Eliminated Recovery Independence.</title>
      <dc:creator>NTCTech</dc:creator>
      <pubDate>Wed, 16 Sep 2026 12:07:38 +0000</pubDate>
      <link>https://dev.to/ntctech/cloud-based-recovery-didnt-eliminate-usb-drives-it-eliminated-recovery-independence-440f</link>
      <guid>https://dev.to/ntctech/cloud-based-recovery-didnt-eliminate-usb-drives-it-eliminated-recovery-independence-440f</guid>
      <description>&lt;p&gt;Cloud-based recovery is becoming the default way Windows 11 recovers a machine that won't boot, and almost nobody signed off on the dependency that creates. Local recovery media was never the preferred repair path. It was the path that worked when every preferred path had already failed — no network, no identity provider, no vendor cloud, nothing that depended on the thing that just broke. That property is what's disappearing, not the USB drive itself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh3den1bjmf9dkckzm1xk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh3den1bjmf9dkckzm1xk.jpg" alt="cloud-based recovery — authority chain moving from organization-controlled media to vendor-controlled infrastructure" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Changed
&lt;/h2&gt;

&lt;p&gt;Microsoft's Cloud Rebuild feature moved from the Experimental Insider channel to Beta on September 9, 2026 (Build 26220.9343) — the clearest signal yet that this is headed toward general availability on a normal timeline, not sitting as a permanent preview curiosity. It runs from the Windows Recovery Environment (WinRE), reformats the system disk, and pulls a fresh Windows 11 image plus current drivers directly from Windows Update. No USB flash drive. No DVD. No dependency on a recovery partition surviving whatever failure triggered the rebuild in the first place.&lt;/p&gt;

&lt;p&gt;For managed fleets, Cloud Rebuild integrates with Windows Autopilot and Intune: a rebuilt device can re-enroll automatically, with assigned apps, policies, and user settings restored through Backup for Organizations. Remote initiation isn't available in this Beta — a rebuild still has to be triggered locally from WinRE or an elevated prompt — but Microsoft has said Intune-driven remote triggering is planned. That detail matters more than it looks. The roadmap points toward IT no longer needing physical hands on the device to initiate recovery at all, which only deepens the dependency this post is about.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cloud-Based Recovery Improves Convenience. It Doesn't Improve Recovery Architecture.
&lt;/h2&gt;

&lt;p&gt;Microsoft's case for this feature is not weak, and it's worth stating plainly before making the counter-argument:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Cloud-Based Recovery Improves&lt;/th&gt;
&lt;th&gt;Cloud-Based Recovery Weakens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Media management — no drives to provision, label, store, or lose&lt;/td&gt;
&lt;td&gt;Recovery independence — recovery no longer executes without external services&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image freshness — always the current build, not whatever was burned to media months ago&lt;/td&gt;
&lt;td&gt;Recovery sovereignty — the organization no longer controls what recovery depends on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Driver currency — pulled live from Windows Update, not a stale recovery partition&lt;/td&gt;
&lt;td&gt;Offline recoverability — no path left that survives a connectivity or vendor outage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Support simplicity — one documented process instead of per-device media variance&lt;/td&gt;
&lt;td&gt;Vendor dependency isolation — the recovery path and the outage's blast radius can now overlap&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Every item on the left is real and worth having. None of them is the same claim as the items on the right, and collapsing the two into a single "this is better" verdict is the mistake worth avoiding here. Cloud-based recovery can be operationally superior to what it replaces while simultaneously making the recovery architecture more centralized and more dependent on a single vendor's availability. Those are two different arguments. Only one of them showed up in the feature announcement.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Last Independent Recovery Path
&lt;/h2&gt;

&lt;p&gt;Local recovery media was rarely anyone's first choice. It was slow, it required physical custody of a drive, and it depended on someone remembering where that drive was kept. None of that was the point. The point was that it sat entirely outside the dependency chain that caused the outage in the first place — no network path, no identity provider, no vendor's uptime, nothing the original failure could have taken down along with everything else. It's the same principle &lt;a href="https://www.rack2cloud.com/connected-air-gap-backup-isolation/" rel="noopener noreferrer"&gt;the connected air gap&lt;/a&gt; argument makes about backup isolation — a fallback only counts as independent if it's actually outside the failure domain, not merely labeled that way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgbhh7de9w0q1l4mbhrra.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgbhh7de9w0q1l4mbhrra.jpg" alt="Traditional recovery path versus cloud-based recovery path — dependency count comparison" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Two recovery paths responding to the identical failure make the difference concrete:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Traditional Recovery Path&lt;/th&gt;
&lt;th&gt;Cloud-Based Recovery Path&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OS corruption&lt;/td&gt;
&lt;td&gt;OS corruption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;→ Boot from USB&lt;/td&gt;
&lt;td&gt;→ Requires internet connectivity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;→ Reinstall from local media&lt;/td&gt;
&lt;td&gt;→ Requires Windows Update reachability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;→ System recovered — one dependency, and it's physical custody&lt;/td&gt;
&lt;td&gt;→ Requires Microsoft service availability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;→ System recovered — three new dependencies, and none of them belong to the organization&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The traditional path has one dependency: whoever holds the drive. The cloud-based path has at least three, and all three sit outside the machine being recovered and outside the organization's authority to guarantee.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rack2cloud.com/downloads/carousels/cloud-based-recovery-independence-carousel-v1.pdf" rel="noopener noreferrer"&gt;Cloud-Based Recovery Carousel — 8-slide breakdown&lt;/a&gt; — the dependency chain argument in slide form: traditional vs. cloud-based recovery paths, the five-layer dependency stack, and the governance question underneath it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recovery Authority Transfer
&lt;/h2&gt;

&lt;p&gt;Every recovery mechanism has an implicit authority chain — the sequence of things that have to hold true, and hold trusted, before a device comes back into service. For local recovery media, that chain was short: the organization decided what image and drivers a device would run, wrote that decision to media it physically controlled, and recovery executed against artifacts nobody outside the organization ever touched.&lt;/p&gt;

&lt;p&gt;Cloud-based recovery replaces that chain with a longer one: Microsoft's Update infrastructure, generic internet connectivity, DNS resolution, the TLS trust chain validating the connection, and the reachability of whichever Microsoft endpoint actually serves the rebuild. None of those five things sits under the organization's authority, and all five now stand between "device won't boot" and "device recovered."&lt;/p&gt;

&lt;p&gt;That's the same drift &lt;a href="https://www.rack2cloud.com/recovery-boundary-dependency-failure/" rel="noopener noreferrer"&gt;The System Recovered. Your Recovery Boundary Didn't.&lt;/a&gt; names on the other side of the lifecycle — dependency boundaries expanding faster than recovery boundaries account for. That post is about what a recovered system still depends on afterward. This is about what the recovery mechanism itself now depends on before it can even start.&lt;/p&gt;

&lt;p&gt;That's the question worth asking before this ships to production fleets, not after: has recovery authority moved outside the recovery boundary? &lt;a href="https://www.rack2cloud.com/recovery-design-boundary/" rel="noopener noreferrer"&gt;Recovery Design Boundary&lt;/a&gt; — the framework naming what dependencies must exist before recovery can even begin — is built for exactly this question. A recovery mechanism that requires DNS resolution, TLS validation, and a third party's infrastructure to stay healthy before it can execute has quietly redrawn where that boundary sits, whether or not anyone updated the architecture diagram to reflect it.&lt;/p&gt;

&lt;p&gt;The question is not whether these dependencies usually work. They usually do. The question is whether they remain available during the exact class of event recovery procedures exist to address. Recovery mechanisms are not evaluated during normal operations. They're evaluated during abnormal conditions, when multiple assumptions fail simultaneously.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm2wpfk8cs3xb9yctdazs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm2wpfk8cs3xb9yctdazs.jpg" alt="Recovery dependency surface — DNS, TLS, and vendor infrastructure standing between failure and recovery" width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Approved This?
&lt;/h2&gt;

&lt;p&gt;Somewhere in most &lt;a href="https://www.rack2cloud.com/data-protection-architecture-strategy-guide/" rel="noopener noreferrer"&gt;Data Protection&lt;/a&gt; programs there's a decision record for which backup platform runs, what the RPO/RTO targets are, and who holds authority to declare a recovery complete. There is almost never a decision record for "OS recovery may now depend on Microsoft's cloud infrastructure being reachable." Nobody voted on that. It arrives as a default in an OS update, and it will reach most fleets the same way every other default setting does — silently, on whatever patch cadence the organization already runs.&lt;/p&gt;

&lt;p&gt;Organizations rarely lose recovery independence through a formal architecture review. They lose it through default-path drift — a sequence of vendor defaults that gradually become production architecture without ever appearing in a design review.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.rack2cloud.com/data-protection-resiliency-learning-path/governance-recovery-assurance/" rel="noopener noreferrer"&gt;Governance &amp;amp; Recovery Assurance stage&lt;/a&gt; of Rack2Cloud's own Data Protection Learning Path is where this kind of decision is supposed to get formalized — a recorded, accountable answer to what recovery may depend on, not a default absorbed silently through a patch cycle.&lt;/p&gt;

&lt;p&gt;That's a different failure mode from the one &lt;a href="https://www.rack2cloud.com/recovery-evidence-boundary/" rel="noopener noreferrer"&gt;Recovery Evidence Boundary&lt;/a&gt; describes. Evidence Boundary is about whether anyone structurally independent can validate a recovery claim after the fact. This is upstream of that question — it's about whether the organization ever exercised authority over the dependency in the first place. An unvalidated recovery claim is a governance failure at the audit stage. An inherited dependency nobody reviewed is a governance failure at the design stage, and design-stage failures are far cheaper to fix before a feature reaches general availability than after.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rack2cloud.com/recovery-dependency-mapper/" rel="noopener noreferrer"&gt;Recovery Dependency Mapper&lt;/a&gt; — tests recovery sequencing against your actual dependency graph and flags cycles or external dependencies nobody documented, including ones an OS vendor added by default.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architect's Verdict
&lt;/h2&gt;

&lt;p&gt;Cloud-based recovery is not a downgrade. It's a different architecture, and most organizations are about to inherit it without ever deciding to.&lt;/p&gt;

&lt;p&gt;The real problem isn't Microsoft's engineering choice — reinstalling from a live, current image is a legitimate improvement over media that goes stale the day it's created. The real problem is that a recovery architecture decision is being made by a default setting instead of by the people accountable for recovery outcomes. Every organization running Windows 11 fleets is about to answer "does OS recovery depend on our internet connection and Microsoft's availability" whether or not anyone ever asked that question on purpose.&lt;/p&gt;

&lt;p&gt;An organization that has never reviewed what its recovery depends on doesn't have a recovery architecture. It has an assumption that hasn't failed yet.&lt;/p&gt;

&lt;p&gt;Recovery architecture is not defined by how a system recovers when everything works. It's defined by what recovery still depends on when everything else doesn't.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.rack2cloud.com/cloud-based-recovery-independence/" rel="noopener noreferrer"&gt;rack2cloud.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>dataprotection</category>
      <category>cloud</category>
      <category>devops</category>
      <category>infrastructure</category>
    </item>
  </channel>
</rss>
