<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Cluster-Architecture on Elastocera</title>
    <link>https://elastocera.com/tags/cluster-architecture/</link>
    <description>Recent content in Cluster-Architecture on Elastocera</description>
    <image>
      <title>Elastocera</title>
      <url>https://elastocera.com/images/forest-og.jpg</url>
      <link>https://elastocera.com/images/forest-og.jpg</link>
    </image>
    <generator>Hugo -- 0.157.0</generator>
    <language>en</language>
    <lastBuildDate>Sat, 18 Apr 2026 15:00:00 -0300</lastBuildDate>
    <atom:link href="https://elastocera.com/tags/cluster-architecture/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>What Breaks When: An Interactive Cluster Failure Explorer</title>
      <link>https://elastocera.com/field-lab/what-breaks-when-cluster-failure-explorer/</link>
      <pubDate>Sat, 18 Apr 2026 15:00:00 -0300</pubDate>
      <guid>https://elastocera.com/field-lab/what-breaks-when-cluster-failure-explorer/</guid>
      <description>An interactive view of cluster failure patterns. Five architectures, one question: what breaks when something fails? Click a component to trigger its blast radius and watch the impact propagate.</description>
        <enclosure url="https://elastocera.com/images/starling-murmuration-og.jpg" length="0" type="image/jpeg"/>
      <content:encoded><![CDATA[<p>Let me show you something.</p>
<p>Architecture diagrams are static. They show components, boundaries, and arrows. What they do not show is what happens when one of those components fails.</p>
<p>This one does.</p>
<p>I laid out five OpenShift cluster patterns side by side. None of them are hypothetical, I pulled each from real production environments: single cluster with multiple node pools, hosted control planes, ACM-federated fleets, air-gapped stacks, and isolated compliance zones. Click any component and watch what propagates. The red pulse is the blast radius: everything impacted, directly or indirectly, when that component fails (<a href="https://elastocera.com/field-notes/hidden-spofs-platform-layers/" class="fn-ref" title="Hidden SPOFs in Platform Layers">FN-0002</a>).</p>
<p>The goal is not to pick a winner. It is to make the shape of failure visible here, on a page, before it shows up in your runbooks (<a href="https://elastocera.com/field-notes/the-first-incident-test/" class="fn-ref" title="The First Incident Test">FN-0015</a>).</p>
<p><br><p class="field-lab-cta-wrap"><a href="#blast-radius-main" class="field-lab-cta" aria-label="Click to break a cluster">Click to break a cluster</a></p></p>
<h2 id="how-to-read-it">How to read it</h2>
<ul>
<li><strong>Node pills</strong> (<code>cp1</code>, <code>w1</code>, <code>w2</code>, <code>s1</code>&hellip;) are the real architectural units. Each card groups them into pools, clusters, or control planes.</li>
<li><strong>Dashed connectors</strong> show hierarchical dependencies. Data and control flow along them.</li>
<li><strong>Red pulse (<code>blast</code>)</strong> marks what has failed or been directly impacted.</li>
<li><strong>Pattern tabs</strong> at the top switch between architectures. The same failure question (&ldquo;what breaks when the control plane dies?&rdquo;) produces different answers in each, because the layers that look independent on the diagram carry different coupling underneath (<a href="https://elastocera.com/field-notes/the-layer-illusion/" class="fn-ref" title="The Layer Illusion">FN-0013</a>).</li>
<li><strong>Calculator</strong> at the bottom lets you plug in your own VM counts, node counts, and storage footprint. It recalculates the blast radius in real time.</li>
</ul>
<h2 id="try-this">Try this</h2>
<p>Two quick experiments to get the feel of it.</p>
<p>Open <strong>Pattern A</strong> (single cluster, multi-pool). Click the Control Plane card. Notice that every pool turns red, not just the workers. A single OpenShift cluster has a single control plane, and losing it stops every workload, regardless of how carefully you segmented the worker pools.</p>
<p>Now switch to <strong>Pattern B</strong> (hosted control planes). Click the same Control Plane card on one of the hosted clusters. This time, only that cluster fails. The management cluster and other hosted clusters stay green. Same failure event, very different blast radius. That difference is the thing your availability math has to account for, and it is the part that diagrams alone cannot tell you. The economics of this specific trade-off live in <a href="/posts/cost-optimization-risk-concentration-hosted-control-planes/">Cost Optimization vs Risk Concentration in Hosted Control Planes</a>.</p>
<figure class="field-lab-embed">
  <div class="field-lab-scroll">
    <iframe id="blast-radius-main"
      src="/embeds/blast-radius.html"
      title="Interactive Cluster Failure Explorer"
      loading="lazy"
      referrerpolicy="no-referrer"
      style="width:100%; min-width:1100px; height:1400px; border:0; background:transparent; display:block;">
    </iframe>
  </div>
</figure>
<script>
(function(){
  const iframe = document.getElementById('blast-radius-main');
  if (!iframe) return;
  window.addEventListener('message', function(e){
    if (!e.data || e.data.type !== 'rvtma-blast-radius-height') return;
    if (e.source !== iframe.contentWindow) return;
    const h = Math.max(400, Math.min(8000, parseInt(e.data.height, 10) || 0));
    if (h > 0) iframe.style.height = (h + 24) + 'px';
  });
})();
</script>
<style>
.field-lab-embed {
  margin: 2rem 0;
  width: min(1200px, calc(100vw - 2rem));
  margin-left: 50%;
  transform: translateX(-50%);
  position: relative;
}
.field-lab-cta-wrap {
  text-align: center;
  margin: 1.5rem 0;
}
.field-lab-cta {
  display: inline-block;
  padding: 0.55rem 1rem;
  margin-bottom: 0.75rem;
  background: var(--primary, #ff6b35);
  color: var(--theme, #fff) !important;
  border: 1px solid var(--primary, #ff6b35);
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none !important;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.field-lab-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}
.field-lab-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--border, #2b2b2b);
  border-radius: 8px;
  background: var(--entry, #111);
}
</style>

<h2 id="where-this-comes-from">Where this comes from</h2>
<p>The explorer above is the Blast Radius module from <strong>RVTMA</strong>, a private RVTools-driven analysis tool I build for enterprise VMware-to-OpenShift migrations. It ingests an RVTools export and renders the target OpenShift architecture along with its operational risks. The Blast Radius view is one of several visualizations it produces from real cluster inventories.</p>
<p>What you are interacting with here is a standalone cut of that module. No data upload, no backend, no tracking. Just the visual vocabulary and the interaction model, served as a courtesy so you can see the patterns without running the full tool.</p>
<p>A glimpse of what changes when failure is treated as something you can see, not just reason about.</p>
<p>The question I keep circling back to, <em>what changes in the shape of failure when you change the shape of the architecture?</em> (<a href="https://elastocera.com/field-notes/illusion-of-isolation/" class="fn-ref" title="The Illusion of Isolation">FN-0004</a>), is the thread that runs through <a href="/posts/cloud-native-same-old-fragility/">Cloud-Native, Same Old Fragility</a>, <a href="/posts/hidden-reliability-risks-multi-cluster-kubernetes/">The Hidden Reliability Risks in Multi-Cluster Kubernetes</a>, and into the upcoming essay on single points of failure in cloud-native architectures.</p>
<hr>
<p><em>Part of Field Lab. Break things on purpose.</em></p>
]]></content:encoded>
    </item>
  </channel>
</rss>
