<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Data S2: Architecture Notes]]></title><description><![CDATA[Analysis and development of modern system architectures.]]></description><link>https://www.datas2.com/s/architecture-reviews</link><image><url>https://substackcdn.com/image/fetch/$s_!dacp!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff85e539c-200d-4cfd-9d75-2f8c24b44c79_300x300.png</url><title>Data S2: Architecture Notes</title><link>https://www.datas2.com/s/architecture-reviews</link></image><generator>Substack</generator><lastBuildDate>Thu, 08 Oct 2026 10:18:17 GMT</lastBuildDate><atom:link href="https://www.datas2.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Augusto Machado]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[datas2@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[datas2@substack.com]]></itunes:email><itunes:name><![CDATA[Augusto Machado]]></itunes:name></itunes:owner><itunes:author><![CDATA[Augusto Machado]]></itunes:author><googleplay:owner><![CDATA[datas2@substack.com]]></googleplay:owner><googleplay:email><![CDATA[datas2@substack.com]]></googleplay:email><googleplay:author><![CDATA[Augusto Machado]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Why Small Volumes Reveal Architectural Problems That Big Volumes Hide]]></title><description><![CDATA[We design platforms as if more volume makes systems harder. In practice, small volumes often expose architectural weaknesses that large volumes quietly hide. But, why?]]></description><link>https://www.datas2.com/p/why-small-volumes-reveal-architectural</link><guid isPermaLink="false">https://www.datas2.com/p/why-small-volumes-reveal-architectural</guid><dc:creator><![CDATA[Augusto Machado]]></dc:creator><pubDate>Mon, 07 Sep 2026 19:58:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y0ek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y0ek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y0ek!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!y0ek!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!y0ek!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!y0ek!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y0ek!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg" width="554" height="415.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:554,&quot;bytes&quot;:388174,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.datas2.com/i/214623119?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y0ek!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!y0ek!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!y0ek!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!y0ek!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f81b722-3e89-45b3-aa4d-0f756f2f0611_1920x1440.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><span>Image by </span><a href="https://pixabay.com/users/thedigitalartist-202249/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=8326626">Pete Linforth</a><span> from </span>Pixabay</figcaption></figure></div><p>Last week, we discussed latency&#8212;the time between data being created and becoming available for decision-making. The central idea was simple: <strong>architects often optimize for data generation speed when they should optimize for data availability.</strong></p><p>There is another assumption that deserves the same scrutiny. <strong>We design platforms as if more volume makes systems harder. </strong>In practice, small volumes often expose architectural weaknesses that large volumes quietly hide.</p><blockquote><p>Imagine a SaaS platform where every customer operates in an isolated Google Cloud project. The architecture makes sense. Regulatory boundaries are clear. Costs are easier to allocate. Operational ownership is straightforward. Each customer&#8217;s transactional database replicates changes into BigQuery, where regulatory dashboards calculate service-level indicators required by external authorities.</p><p>After several months, something unexpected happens. Large customers consistently meet their latency SLA. Smaller customers frequently violate it. The infrastructure is identical. The pipelines are identical. The database schema is identical. Only the volume changes.</p><p>Most engineering teams immediately begin investigating networking, replication lag, indexes, or pipeline performance. Those are reasonable hypotheses. But they often ignore a more fundamental statistical property of distributed systems.</p></blockquote><p><strong>Large numbers absorb variability. Small numbers amplify it</strong>. This is not a cloud problem. It is a measurement problem.</p><p>Anyone familiar with the normal distribution understands that variability behaves differently depending on sample size. Random fluctuations become less influential as observations accumulate. Operational metrics follow a similar pattern.</p><p>Suppose your regulatory SLA requires data to become available within 900 milliseconds. One customer generates one million transactions every month. Nine hundred and ninety thousand transactions complete in approximately 700 milliseconds. Ten thousand require two seconds. The average latency still remains relatively close to the contractual target.</p><p>Now consider another customer. One hundred transactions complete in 700 milliseconds. Ten require two seconds. Nothing changed inside the platform. The infrastructure behaves exactly the same. Yet the reported average moves dramatically closer to the worst-performing transactions.</p><p>The architectural question is no longer whether the platform is fast. It becomes whether the chosen metric faithfully represents operational quality. This is where conventional engineering thinking often fails. Most platform architectures are designed around expected throughput. Capacity planning, autoscaling, storage growth, and partitioning all assume that volume is the dominant architectural variable.</p><p>Minimum Context Signals suggests looking somewhere else. <strong>Before scaling infrastructure, understand what the metric is actually measuring</strong>. If latency is evaluated as an average, then transaction volume becomes part of the measurement itself. The same pipeline may appear compliant for one customer and non-compliant for another simply because statistical smoothing behaves differently across populations.</p><p>The engineering decision, therefore, is not merely how to process more data. <strong>It is how to produce measurements that remain meaningful regardless of volume. This distinction influences architecture.</strong></p><p>A lightweight implementation on Google Cloud might replicate PostgreSQL changes using Datastream into BigQuery, while Dataform or scheduled SQL transformations compute operational indicators after ingestion. For customers requiring near real-time regulatory reporting, the same replication stream could also feed a Dataflow pipeline responsible for incremental aggregations. The architecture remains relatively simple, but measurement logic becomes an explicit design concern rather than an afterthought.</p><p>One common mistake is treating averages as universal indicators of platform health. Another is assuming identical infrastructure automatically produces comparable service-level metrics across customers with radically different workloads. Neither assumption is necessarily true.</p><p>Organizations operating regulated platforms should evaluate whether percentile-based metrics, confidence intervals, or minimum observation thresholds better represent service quality than simple averages. Large cloud providers increasingly publish latency percentiles instead of averages for precisely this reason, because tail latency often determines user experience far more than the arithmetic mean [1][2].</p><p>From the perspective of Data S2, this is not simply a statistical observation. It is an architectural one. Engineering decisions should begin with the minimum context necessary to explain the behavior being observed.</p><p>In this case, <strong>adding more telemetry rarely explains the discrepancy</strong>. Understanding the relationship between variability and sample size often does. <strong>Perhaps the real question is not whether your platform scales. Perhaps it is whether your measurements continue telling the truth when scale disappears</strong>.</p><h2>References</h2><p>[1] Dean, J., &amp; Barroso, L. A. <em>The Tail at Scale</em>. Communications of the ACM, 2013.</p><p>[2] Google Cloud Architecture Center. <em>Designing Reliable Systems with Service Level Objectives (SLOs)</em>. Google Cloud Documentation.</p>]]></content:encoded></item><item><title><![CDATA[Latency Is Not the Same as Speed]]></title><description><![CDATA[If two architectures produce exactly the same data, but one delivers it five minutes earlier, which one is actually more intelligent?]]></description><link>https://www.datas2.com/p/latency-is-not-the-same-as-speed</link><guid isPermaLink="false">https://www.datas2.com/p/latency-is-not-the-same-as-speed</guid><dc:creator><![CDATA[Augusto Machado]]></dc:creator><pubDate>Mon, 24 Aug 2026 11:03:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HcOq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HcOq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HcOq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HcOq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HcOq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HcOq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HcOq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg" width="1456" height="972" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:972,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1145602,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.datas2.com/i/212452409?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HcOq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HcOq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HcOq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HcOq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96fe5df3-e8ae-4a72-9630-072b681b2a1c_5118x3417.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><span>Image by </span><a href="https://pixabay.com/users/mammela-686310/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=6910973">Pasi M&#228;mmel&#228;</a><span> from </span>Pixabay</figcaption></figure></div><blockquote><p>Every experienced data engineer has seen this scene before. You open your BI dashboard first thing in the morning. The queries execute quickly. The visualizations render without errors. The platform is healthy. Then comes the disappointment. The numbers are from yesterday. Nothing is technically broken, yet the dashboard has already failed its purpose.</p></blockquote><p>Most engineering discussions would describe this as a data freshness problem. I think that diagnosis misses something more fundamental. We often confuse <strong>how fast data is produced</strong> with <strong>how fast data becomes usable</strong>. These are not the same problem.</p><p>Suppose your operational database receives only a few hundred new transactions every hour. From a throughput perspective, the workload is trivial. The database is barely under pressure. Pipelines should have no difficulty keeping up. Yet the business may require those transactions to appear in a dashboard within five minutes. The challenge is no longer throughput. It is latency.</p><p>That distinction changes almost every architectural decision. One of the most common mistakes in modern data platforms is sizing the architecture according to data generation speed instead of data availability latency. <strong>Volume is visible. Latency is structural.</strong></p><p>Imagine a PostgreSQL database feeding BigQuery.</p><p>The obvious solution may be to build a custom CDC service running inside a Docker container on a virtual machine. At first glance, the architecture appears inexpensive and under complete control. Until it isn&#8217;t.</p><ul><li><p>What happens if the VM stops on a Saturday morning?</p></li><li><p>Who notices before the business notices?</p></li><li><p>How does the pipeline behave during an unexpected spike in writes?</p></li><li><p>How much engineering effort is spent maintaining infrastructure that was never part of the original business problem?</p></li></ul><p>The opposite decision is equally interesting. Instead of operating your own CDC infrastructure, you adopt a managed platform such as Fivetran, Stitch, Informatica or Matillion. Maintenance decreases. Operational burden decreases. But new questions immediately appear.</p><ul><li><p>How is pricing calculated?</p></li><li><p>Does a complete backfill count against monthly quotas?</p></li><li><p>Can the platform perform partial backfills?</p></li><li><p>How does it behave when source tables lack proper indexing?</p></li><li><p>How transparent is its compliance with financial and privacy regulations?</p></li></ul><p>The architectural problem did not disappear. It simply changed shape.</p><p>Cloud-native services introduce another layer of decisions. Within Google Cloud alone, DataStream, Data Fusion and Dataflow each represent different assumptions about movement, transformation and orchestration.</p><ul><li><p>Should transformations happen before ingestion? Or after data reaches BigQuery?</p></li><li><p>Should one replication stream feed multiple analytical datasets?</p></li><li><p>Should ingestion remain completely raw while transformations execute independently?</p></li><li><p>How much customization is actually necessary?</p></li></ul><p>These questions are often treated as implementation details. I think they are architectural questions. Because none of them is fundamentally about moving data. They are about minimizing the time between reality and decision. Perhaps this is why latency deserves a more central place in platform architecture than it usually receives.</p><p>We measure rows per second. We benchmark query execution. We estimate storage growth. Yet we rarely begin architecture discussions with a much simpler question: <strong>How long can the organization tolerate waiting before this information becomes actionable? </strong>Everything else follows from that answer.</p><p>Maybe the most important characteristic of a modern data platform is not how much data it can process. Maybe it is how little time it allows information to remain trapped between the source system and the decision.</p><p>I have been exploring this question through a broader research idea called <strong>Minimum Context Signals</strong>. It starts from an uncomfortable observation: operational systems rarely fail because they lack information. More often, they fail because the right information arrives too late &#8212; or arrives surrounded by context that delays action.</p><p><strong>Latency, then, is not simply a performance metric. It is a design philosophy</strong>. However, if two architectures produce exactly the same data, but one delivers it five minutes earlier, which one is actually more intelligent? Let me know what you think and how you would resolve this issue.</p><p><strong>One question. One idea. Every week.</strong></p>]]></content:encoded></item><item><title><![CDATA[Beyond the Dashboard]]></title><description><![CDATA[A New Way to Think About Data Platform Architecture]]></description><link>https://www.datas2.com/p/beyond-the-dashboard</link><guid isPermaLink="false">https://www.datas2.com/p/beyond-the-dashboard</guid><dc:creator><![CDATA[Augusto Machado]]></dc:creator><pubDate>Mon, 17 Aug 2026 11:00:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!sLKh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sLKh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sLKh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sLKh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sLKh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sLKh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sLKh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg" width="1456" height="762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:284482,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.datas2.com/i/210831468?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sLKh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sLKh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sLKh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sLKh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F470dd9d0-c71d-4968-8f80-43c01ff07f6f_1920x1005.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><span>Image by </span><a href="https://pixabay.com/users/piro4d-2707530/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=2033981">PIRO 4D</a><span> from </span>Pixabay</figcaption></figure></div><p>If you&#8217;ve worked with data platforms long enough, this story probably feels familiar.</p><blockquote><p>The dashboards finally load moments before an important meeting. The numbers look correct &#8212; until someone asks a question the dashboard wasn&#8217;t designed to answer. Suddenly, what seemed like a complete picture reveals itself as only one possible view of reality.</p></blockquote><p>This series begins from that moment.</p><p>Over the next editions, we will explore how architectural decisions shape the quality, speed, and reliability of the answers your data platform can provide. Rather than focusing on individual technologies, we&#8217;ll examine the reasoning behind successful architectures, the trade-offs they accept, and the engineering choices that determine whether a platform remains useful as organizations grow.</p><p>Whenever possible, we&#8217;ll translate these ideas into practical reference architectures using the major cloud providers &#8212; including Google Cloud, AWS, and Microsoft Azure &#8212; as well as on-premises environments. The goal is not to argue that one platform is superior to another, but to understand how different architectural decisions solve different business problems under different constraints.</p><p>No architecture is perfect, and neither are ours.</p><p>Engineering advances through discussion, experimentation, and continuous refinement. For that reason, every article should be viewed as the beginning of a technical conversation rather than the final answer. If you believe an architecture could be simplified, made more resilient, or redesigned around different priorities, we want to hear your perspective. The most valuable ideas often emerge when experienced engineers challenge each other&#8217;s assumptions with evidence and practical experience.</p><p>After all, architecture is less about choosing technologies than about making better decisions under constraints.</p><p>So before we ask whether a solution is modern, scalable, or cloud-native, perhaps we should ask a simpler question:</p><p><strong>Is this architecture actually helping us make better decisions?</strong></p><p><strong>One question. One idea. Every week.</strong></p>]]></content:encoded></item><item><title><![CDATA[A Framework for Understanding Why Systems Are Built the Way They Are]]></title><description><![CDATA[Why the quality of an architecture is rarely determined by the technologies it contains?]]></description><link>https://www.datas2.com/p/a-framework-for-understanding-why</link><guid isPermaLink="false">https://www.datas2.com/p/a-framework-for-understanding-why</guid><dc:creator><![CDATA[Augusto Machado]]></dc:creator><pubDate>Mon, 27 Jul 2026 11:02:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Jm44!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jm44!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jm44!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Jm44!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Jm44!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Jm44!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jm44!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:549120,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.datas2.com/i/207691219?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Jm44!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Jm44!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Jm44!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Jm44!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfca7260-3223-41a2-b038-6d661d341934_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><span>Image by </span><a href="https://pixabay.com/users/pierre9x6-10217214/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=4395917">Pierre Blach&#233;</a><span> from </span>Pixabay</figcaption></figure></div><p>Most architecture reviews begin with a diagram. Boxes represent services. Arrows represent data flows. Technologies are named, cloud providers are identified, and eventually someone asks whether Kafka should replace Pub/Sub or whether Kubernetes would be a better fit than Cloud Run. These discussions are often technically interesting. They are also frequently incomplete.</p><p>After more than a eight years designing data platforms, one lesson has become increasingly clear: <strong>the quality of an architecture is rarely determined by the technologies it contains. It is determined by whether its engineering decisions make sense given the problem it was built to solve.</strong></p><p>That observation inspired the architecture review framework we use at Data S2. Its objective is not to judge architectures as good or bad. Instead, it provides a structured way to understand why certain decisions were made, which constraints shaped them, and what lessons they offer for future systems.</p><p>The framework deliberately begins with the <strong>business problem</strong>. This may seem obvious, yet many architecture discussions skip directly to infrastructure. Experienced engineers know that the same technology can be either <strong>an excellent or a poor choice depending entirely on the business objective</strong>. A fraud detection platform, a recommendation engine, and a financial reporting system may all use similar technologies while requiring fundamentally different architectural decisions. <strong>Without understanding the problem first, evaluating the architecture becomes little more than comparing products</strong>.</p><p>The second step examines <strong>architectural constraints</strong>. Every real system operates under limits. Some must respond within milliseconds. Others prioritize consistency over availability. Some operate under strict regulatory requirements. Others optimize almost exclusively for cost.</p><p><strong>Constraints are not obstacles to architecture. They are the reason architecture exists.</strong> Two systems solving similar business problems may look completely different because their operational constraints differ. Understanding those constraints often explains engineering decisions that initially appear surprising.</p><p>Once the problem and constraints are understood, meaningful discussion about <strong>engineering trade-offs</strong> becomes possible. Every architecture accepts compromises. Choosing managed services may reduce operational burden while limiting flexibility. A streaming architecture may reduce decision latency while increasing operational complexity. Event sourcing may improve auditability while making debugging more difficult. <strong>Trade-offs are not architectural flaws. They are evidence that engineers prioritized one objective over another. </strong>Good architecture reviews make those priorities visible instead of pretending perfect solutions exist.</p><p>This perspective naturally leads to identifying <strong>what works well</strong>.</p><p>Engineering reviews often spend disproportionate time searching for weaknesses. That approach overlooks an important opportunity. Well-designed systems deserve careful study because they reveal reasoning that can be applied elsewhere.</p><p>Perhaps the engineering team minimized blast radius through service isolation. Perhaps they simplified deployment through managed infrastructure. Perhaps they intentionally accepted eventual consistency because the business process tolerated it. <strong>Understanding successful decisions is often more valuable than cataloging mistakes</strong>.</p><p>Critical evaluation remains important, but it should be grounded in objectives rather than personal preference. For this reason, every review asks a slightly different question. Instead of asking, &#8220;<em>What is wrong with this architecture?</em>&#8221; It asks, &#8220;<em>If my primary objective were different, what would I redesign?</em>&#8221;</p><p>This subtle shift changes the conversation. Replacing one database with another becomes less interesting than discussing why the original decision optimized for scalability instead of operational simplicity. Architecture criticism becomes an exercise in reasoning rather than opinion.</p><p>Another distinctive aspect of the framework is the use of <strong>Minimum Context Signals (MCS)</strong> as an analytical lens. Importantly, MCS is not treated as the subject of the review. Instead, it serves as one additional perspective for evaluating engineering decisions.</p><p>Every architecture processes information. The interesting question is whether every piece of information actually contributes to the decision being made.</p><p>Many systems accumulate dependencies simply because data is available. Additional enrichment pipelines, more feature stores, larger event payloads, increasingly complex orchestration &#8212; all appear individually reasonable. Collectively, they may increase latency, operational cost, and failure probability while contributing very little additional decision quality.</p><p>Viewing an architecture through the lens of Minimum Context Signals encourages a different question.</p><blockquote><p>Which contextual signals are genuinely required before the system can make a reliable decision?</p></blockquote><p>Sometimes the answer is surprisingly small. This perspective often reveals opportunities to simplify systems without reducing capability.</p><p>Finally, every review concludes with <strong>practical lessons</strong>. An architecture review should not end with admiration for a well-designed system. Nor should it end with criticism of imperfect decisions.</p><p>It should leave engineers with ideas they can apply tomorrow. Perhaps that means separating online and offline workloads. Perhaps it means reducing architectural coupling. Perhaps it means questioning whether a new dependency truly improves decision quality.</p><p>The objective is transfer of reasoning rather than transfer of technology. This philosophy reflects a broader belief about engineering.</p><p>Architectures are snapshots of decisions made under uncertainty. They represent constraints, assumptions, priorities, available technologies, organizational culture, and business realities at a specific moment in time. Evaluating them without understanding those forces risks producing elegant but ultimately superficial analysis.</p><p>By following a consistent review structure &#8212; from business problem through engineering trade-offs to operational lessons &#8212; we hope to move architectural discussions beyond diagrams and technology comparisons.</p><p>Our goal is not to identify the &#8220;best&#8221; architecture. It is to understand <strong>why intelligent engineers made the decisions they did, what those decisions teach us, and how that reasoning can improve the systems we design next.</strong></p><p>After all, the most valuable architecture review is not the one that tells us whether a system is good or bad. It is the one that changes the way we think before we draw the next architecture diagram.</p><div><hr></div><h2><strong>References</strong></h2><p>[1] Bass, L., Clements, P., &amp; Kazman, R. <em>Software Architecture in Practice</em>. Addison-Wesley, 2021.</p><p>[2] Richards, M., &amp; Ford, N. <em>Fundamentals of Software Architecture</em>. O&#8217;Reilly Media, 2020.</p><p>[3] Newman, S. <em>Building Microservices</em>. O&#8217;Reilly Media, 2021.</p><p>[4] Simon, H. A. <em>The Sciences of the Artificial</em>. MIT Press, 1996.</p>]]></content:encoded></item></channel></rss>