<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~files/feed-premium.xsl"?>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedpress="https://feed.press/xmlns" xmlns:podcast="https://podcastindex.org/namespace/1.0" version="2.0">
  <channel>
    <feedpress:locale>en</feedpress:locale>
    <atom:link rel="self" href="https://feeds.dzone.com/microservices"/>
    <atom:link rel="hub" href="https://feedpress.superfeedr.com/"/>
    <title>DZone Microservices Zone</title>
    <link>https://dzone.com/microservices</link>
    <description>Recent posts in Microservices on DZone.com</description>
    <item>
      <title>Architecting Autonomous Network Ecosystems: From Reactive Monitoring to Agentic AI Orchestration</title>
      <link>https://feeds.dzone.com/link/18931/17380798/architecting-autonomous-network-ecosystems</link>
      <description><![CDATA[<p dir="ltr">Agentic AI systems represent a paradigm shift in network operations, facilitating the transition from traditional reactive monitoring to fully autonomous management frameworks. For global infrastructure leaders, these specialized AI agents serve as persistent digital engineers, providing round-the-clock expertise across deployment, maintenance, and complex troubleshooting lifecycles.</p>
<p dir="ltr">The following blueprint delineates the strategic application of <a href="https://dzone.com/articles/future-of-agentic-ai">agentic AI</a> within a global enterprise network operations environment.</p><img src="https://feeds.dzone.com/link/18931/17380798.gif" height="1" width="1"/>]]></description>
      <pubDate>Wed, 15 Jul 2026 15:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3666122</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19091379&amp;w=600"/>
      <dc:creator>Daniel Oh</dc:creator>
    </item>
    <item>
      <title>From Bash Script to Operational Triage: What Eight Months of Kubernetes Debugging Taught Me</title>
      <link>https://feeds.dzone.com/link/18931/17375589/kubernetes-debugging-lessons</link>
      <description><![CDATA[<p>In November 2025, I published a Bash script that analyzed Kubernetes clusters in about 60 seconds. It generated HTML reports, surfaced crash loops, orphaned resources, and other operational issues that were easy to overlook. The most interesting part wasn't the script — it was what happened after people started running it. Many told me they found problems they hadn't known existed.</p>
<p>Looking back, the bash script wasn't really solving debugging. It was solving prioritization. I just didn't have the vocabulary for it yet.</p><img src="https://feeds.dzone.com/link/18931/17375589.gif" height="1" width="1"/>]]></description>
      <pubDate>Thu, 09 Jul 2026 15:00:06 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3664901</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19084034&amp;w=600"/>
      <dc:creator>Shamsher Khan</dc:creator>
    </item>
    <item>
      <title>Getting Started With RabbitMQ in Spring Boot</title>
      <link>https://feeds.dzone.com/link/18931/17375069/rabbitmq-spring-boot</link>
      <description><![CDATA[<p>RabbitMQ is an enterprise-grade open-source messaging and streaming broker. In this blog, you will learn some basic concepts of RabbitMQ and how to use it in a Spring Boot application. Enjoy!</p>
<h2>Introduction</h2>
<p>Before diving into the programmatic details, first some concepts need to be explained. Do realize that in this blog, only the surface is scratched from what is possible with RabbitMQ. A detailed overview can be found in the <a href="https://www.rabbitmq.com/tutorials" rel="noopener noreferrer" target="_blank">official RabbitMQ documentation</a>.</p><img src="https://feeds.dzone.com/link/18931/17375069.gif" height="1" width="1"/>]]></description>
      <pubDate>Wed, 08 Jul 2026 17:00:03 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3665897</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19083484&amp;w=600"/>
      <dc:creator>Gunter Rotsaert</dc:creator>
    </item>
    <item>
      <title>Resilience Lost in the Stack: How Abstraction Layers Silently Mask Distributed Systems’ Topology Awareness</title>
      <link>https://feeds.dzone.com/link/18931/17372382/distributed-systems-resilience</link>
      <description><![CDATA[<p dir="ltr">Distributed coordination services exist for a reason, and they are the CPUs of distributed systems that give them their high availability. When it's in your stack, you assume failover is handled. Some services that operate in this layer include Apache Zookeeper, Redis Sentinel, etcd, etc. These services are mathematically engineered for HA. Protocols such as Raft/Paxos/ZAB guarantee this. We know that the DCS itself cannot go wrong as long as a quorum of nodes exists.&nbsp;</p>
<p dir="ltr">Here, we want to explore one specific problem that makes this high availability subjective. It is an issue where individual layers hold this promise, while as we go to higher-level abstractions, the intelligence silently dies. The article focuses on how topology awareness needs to be preserved mindfully as we move up the stack, and that, when using smart clients and drivers, we should inherit the responsibility not to silence their intelligence.</p><img src="https://feeds.dzone.com/link/18931/17372382.gif" height="1" width="1"/>]]></description>
      <pubDate>Fri, 03 Jul 2026 19:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3663642</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19075525&amp;w=600"/>
      <dc:creator>Rithra Ravikumar</dc:creator>
    </item>
    <item>
      <title>One Stolen Key, One Stolen Token: Why Machine Identity Is Cloud-Native's Quietest Crisis — and the Only Fix That Actually Holds</title>
      <link>https://feeds.dzone.com/link/18931/17371230/machine-identity-cloud-security</link>
      <description><![CDATA[<p>On December 2, 2024, a security vendor called BeyondTrust noticed something wrong inside its own AWS account. By the time the investigation closed, the story that emerged was almost absurdly simple for something with this much fallout: an attacker — later attributed to the Chinese state-sponsored group Silk Typhoon — had used a software flaw to reach into a BeyondTrust cloud account and pull out an API key. Not a password. Not a phishing victim's login. A string of characters that a piece of software used to talk to another piece of software.&nbsp;</p>
<p>With that one key, the attacker walked straight into the U.S. Department of the Treasury, reset internal passwords, accessed workstations inside the Office of Foreign Assets Control, and read unclassified documents before anyone noticed. The Treasury disclosed it to Congress on December 30. The Department of Justice indicted the alleged operators in March 2025.</p><img src="https://feeds.dzone.com/link/18931/17371230.gif" height="1" width="1"/>]]></description>
      <pubDate>Wed, 01 Jul 2026 17:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3659906</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19075934&amp;w=600"/>
      <dc:creator>Igboanugo David Ugochukwu</dc:creator>
    </item>
    <item>
      <title>Architecting Trustworthy AI: Engineering Patterns for High-Stakes Environments</title>
      <link>https://feeds.dzone.com/link/18931/17369933/architecting-trustworthy-ai-engineering-patterns-f</link>
      <description><![CDATA[<p>Software engineers are great at talking about how to make things dependable: we have names for things like circuit breakers, bulkheads, making sure something can be done multiple times with the same result (idempotency), and making sure a system will fall apart in a manageable way (graceful degradation). We're good at building systems to fail safely if a database isn't working or a dependent service is taking too long.</p>
<p>However, we don't have a comparable, well-defined way of discussing systems that fail in a way that is likely to be wrong, and where the kind of failure isn't a network going down, but a prediction that is confidently, but incorrectly, given to you. And what’s more, it’s up to a person to find that mistake, and that person might not even be looking.</p><img src="https://feeds.dzone.com/link/18931/17369933.gif" height="1" width="1"/>]]></description>
      <pubDate>Mon, 29 Jun 2026 18:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3653304</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19071362&amp;w=600"/>
      <dc:creator>Sujay Puvvadi</dc:creator>
    </item>
    <item>
      <title>Building Production-Safe Agentic Remediation With Docker MCP Gateway: Lessons From 43% to 100% Accuracy</title>
      <link>https://feeds.dzone.com/link/18931/17369890/docker-mcp-agentic-remediation</link>
      <description><![CDATA[<p>Our first version was wrong 57% of the time.&nbsp;</p>
<p>Not because the AI model couldn't identify Docker container failure scenarios—it usually could. The failures occurred at the decision boundary: determining when an automated action was appropriate, when escalation was required, and when no action should be taken.</p><img src="https://feeds.dzone.com/link/18931/17369890.gif" height="1" width="1"/>]]></description>
      <pubDate>Mon, 29 Jun 2026 17:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3660985</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19071355&amp;w=600"/>
      <dc:creator>Mohammad-Ali Arabi</dc:creator>
      <dc:creator>Shamsher Khan</dc:creator>
    </item>
    <item>
      <title>Implementing Asynchronous Communication Between Microservices Using Kafka and Spring Boot</title>
      <link>https://feeds.dzone.com/link/18931/17366562/asynchronous-microservices-communication-kafka-spring-boot</link>
      <description><![CDATA[<p>In a microservices system, that tight coupling turns a small hiccup into a cascading slowdown. Thread pools fill, retries amplify traffic, and suddenly your simple request is blocked on half the fleet. My executive summary: asynchronous messaging with Kafka helps systems keep moving when individual components inevitably slow down or fail. It does this by decoupling producers from consumers, absorbing traffic spikes, and allowing services to evolve without tying their availability directly to one another.</p>
<h2>Code Patterns in Spring Boot With Kafka</h2>
<p>Spring for Apache Kafka gives me two primitives that feel pleasantly old Spring <code>KafkaTemplate</code> for sending and <code>@KafkaListener</code> for receiving. That template/listener model is intentionally similar to other Spring integration tech, which keeps application code focused on domain logic instead of raw client plumbing.&nbsp;</p><img src="https://feeds.dzone.com/link/18931/17366562.gif" height="1" width="1"/>]]></description>
      <pubDate>Wed, 24 Jun 2026 13:00:05 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3643443</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19056287&amp;w=600"/>
      <dc:creator>Mallikharjuna Manepalli</dc:creator>
    </item>
    <item>
      <title>Who Owns the Data Stack?: How AI Is Reshaping Ownership, Architecture, and Accountability Across Teams</title>
      <link>https://feeds.dzone.com/link/18931/17366537/who-owns-the-data-stack</link>
      <description><![CDATA[<p style="font-size: 17px;"><em>Editor’s Note: The following is an article written for and published in DZone’s 2026 Trend Report,&nbsp;</em><a href="https://dzone.com/link/2026-tr-databases-data-contributor-article" rel="noopener noreferrer" target="_blank"><em>Cognitive Databases, Intelligent Data: Unified Infrastructure for Vector Search, AI-Optimized Queries, and Hybrid Workloads</em></a>.</p>
<hr>
<p dir="ltr">For years, some of us have argued that the data stack is part of the product and should be engineered like the application layer: as code and as a service. The market matured toward it, and the data mesh has been the clearest recent expression.</p><img src="https://feeds.dzone.com/link/18931/17366537.gif" height="1" width="1"/>]]></description>
      <pubDate>Wed, 24 Jun 2026 12:00:06 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3661869</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19053037&amp;w=600"/>
      <dc:creator>Miguel Garcia</dc:creator>
    </item>
    <item>
      <title>Your AI Coding Agent Can't Steal What It Never Had: The Docker Sandbox Isolation Story</title>
      <link>https://feeds.dzone.com/link/18931/17363903/docker-sandbox-isolation-story</link>
      <description><![CDATA[<p>I ran an AI coding agent against a broken Kubernetes deployment for five minutes. The agent called Anthropic's API dozens of times — reasoning about manifests, running kubectl commands, redeploying workloads. It made fully authenticated requests throughout the entire session.</p>
<p>The API key was never in its environment.</p><img src="https://feeds.dzone.com/link/18931/17363903.gif" height="1" width="1"/>]]></description>
      <pubDate>Fri, 19 Jun 2026 13:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3659752</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19059379&amp;w=600"/>
      <dc:creator>Shamsher Khan</dc:creator>
    </item>
    <item>
      <title>The Rise of Microservices Architecture in Scalable Applications</title>
      <link>https://feeds.dzone.com/link/18931/17362680/microservices-architecture-scalable-applications</link>
      <description><![CDATA[<p dir="ltr">In recent years, building modern applications has changed from what has been seen historically. Usually, in the past, systems were developed with a single, large block of code (referred to as a monolithic design) and would operate fairly well for smaller applications, but with time, as they got larger and more complex, the method of writing software became more of a hindrance to the applications as they required more users and increased speed.</p>
<p dir="ltr">Now, companies need their applications to be able to grow quickly, adapt to changes quickly, and be able to support millions of users without any impact on performance, and that is where microservice architecture is so relevant. Microservice architecture has become the way to design scalable applications because applications can be broken into smaller, individual services that can work independently from each other.</p><img src="https://feeds.dzone.com/link/18931/17362680.gif" height="1" width="1"/>]]></description>
      <pubDate>Wed, 17 Jun 2026 14:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3656557</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19042209&amp;w=600"/>
      <dc:creator>Mitchell Jhonson</dc:creator>
    </item>
    <item>
      <title>Parallel Kafka Batch Processing With Kotlin Coroutines in Spring Boot</title>
      <link>https://feeds.dzone.com/link/18931/17362238/parallel-kafka-processing</link>
      <description><![CDATA[<p style="text-align: justify;">Managing high-volume message traffic in distributed architectures is crucial. Efficient use of database and CPU resources is also very important. There are structures that allow us to receive messages in batches. The default Spring Kafka "BatchMessageListener" structure addresses this need. However, the processing of these messages often goes through a sequential bottleneck.</p>
<p>This article will discuss the structure and usage of Kotlin Coroutines in detail. We will examine how to maximize Kafka message processing performance using Structured Concurrency principles and Resource Throttling techniques.</p><img src="https://feeds.dzone.com/link/18931/17362238.gif" height="1" width="1"/>]]></description>
      <pubDate>Tue, 16 Jun 2026 19:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3652393</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19051329&amp;w=600"/>
      <dc:creator>Erkin Karanlık</dc:creator>
    </item>
    <item>
      <title>Runtime Formula Evaluation With MVEL Library in Spring Boot</title>
      <link>https://feeds.dzone.com/link/18931/17362062/runtime-formula-evaluation-mvel</link>
      <description><![CDATA[<p>In our software development processes, business units constantly want to update discount rates, loyalty points, or salary calculation logic.</p>
<p>If this logic is within the code, between when-or-if-else blocks, every change means a new unit test process, code analysis, CI/CD pipeline work, and ultimately a "deployment."</p><img src="https://feeds.dzone.com/link/18931/17362062.gif" height="1" width="1"/>]]></description>
      <pubDate>Tue, 16 Jun 2026 15:00:07 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3652383</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19051298&amp;w=600"/>
      <dc:creator>Erkin Karanlık</dc:creator>
    </item>
    <item>
      <title>Building a Multi-Agent Orchestration Capability: Architecture and Code Walkthrough</title>
      <link>https://feeds.dzone.com/link/18931/17362039/multi-agent-orchestration</link>
      <description><![CDATA[<p>Artificial intelligence (AI) is quickly changing from simple conversation models to systems that can tackle complex problems through teamwork. As products become smarter, one key approach that is gaining traction today is multi-agent orchestration.</p>
<p>A single AI model can handle straightforward tasks like answering questions or generating content. Yet, modern product features increasingly need:</p><img src="https://feeds.dzone.com/link/18931/17362039.gif" height="1" width="1"/>]]></description>
      <pubDate>Tue, 16 Jun 2026 14:00:01 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3655775</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19029434&amp;w=600"/>
      <dc:creator>Narendra Lakshmana gowda</dc:creator>
    </item>
    <item>
      <title>Operationalizing Enterprise AI at Scale: Architecture, Governance, and Adoption</title>
      <link>https://feeds.dzone.com/link/18931/17360140/operationalizing-enterprise-ai-at-scale</link>
      <description><![CDATA[<p dir="ltr">Most enterprise AI initiatives stall after the proof of concept because the operational foundation around them is not ready.</p>
<p dir="ltr">That failure rarely comes from a single problem. It comes from a combination of fragmented data ecosystems, compliance gaps, poor observability, and governance structures that were never built to handle production-scale AI in the first place.</p><img src="https://feeds.dzone.com/link/18931/17360140.gif" height="1" width="1"/>]]></description>
      <pubDate>Fri, 12 Jun 2026 17:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3656666</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19048927&amp;w=600"/>
      <dc:creator>Aravind Nuthalapati</dc:creator>
    </item>
    <item>
      <title>A Spring Boot App With Half the Startup Time</title>
      <link>https://feeds.dzone.com/link/18931/17360101/spring-boot-startup-time</link>
      <description><![CDATA[<p>The <a href="https://github.com/Angular2Guy/MovieManager" rel="noopener noreferrer" target="_blank">MovieManager</a> project has been updated to use JDK 25 and the AOT cache from project <a href="https://openjdk.org/projects/leyden/" rel="noopener noreferrer" target="_blank">Leyden</a>. Project Leyden is part of the OpenJDK project and provides cached linking and cached performance statistics. That means the time spent linking at startup is moved to build time, and the statistics are created during a test run at build time as well.&nbsp;</p>
<p>Because of that, the JVM loads the needed classes already linked and starts compiling the hot code paths immediately. The MovieManager application starts in less than half the time with these optimizations without any code changes.</p><img src="https://feeds.dzone.com/link/18931/17360101.gif" height="1" width="1"/>]]></description>
      <pubDate>Fri, 12 Jun 2026 16:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3658595</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19047022&amp;w=600"/>
      <dc:creator>Sven Loesekann</dc:creator>
    </item>
    <item>
      <title>Architecting Proactive IT: NinjaOne Remote Monitoring and Management</title>
      <link>https://feeds.dzone.com/link/18931/17360085/ninjaone-rmm-architecture</link>
      <description><![CDATA[<p>It's 3 PM on a Friday when the security advisory hits: a critical zero-day vulnerability in a widely used Windows service. You're managing 5,000 endpoints across 50 locations, each with different maintenance windows, backup schedules, and criticality levels. You need to patch everything — but only after verifying sufficient disk space, confirming recent backups, and respecting production schedules. With traditional tools, you're looking at a weekend of manual work and spreadsheet tracking. With a modern RMM platform, it's a policy configuration problem.</p>
<p>This is the reality of modern IT operations: the shift from reactive firefighting to proactive, policy-driven infrastructure management. For system administrators, architects, and DevOps engineers, this demands an RMM platform built on modern architectural principles. Principles that enable automation, intelligent alerting, and seamless integration.&nbsp;</p><img src="https://feeds.dzone.com/link/18931/17360085.gif" height="1" width="1"/>]]></description>
      <pubDate>Fri, 12 Jun 2026 15:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3656721</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19048915&amp;w=600"/>
      <dc:creator>Stelios Manioudakis</dc:creator>
    </item>
    <item>
      <title>Beyond REST: Architecting High-Density Agentic Microservices With MCP and WASI-NN</title>
      <link>https://feeds.dzone.com/link/18931/17360034/agentic-microservices-mcp-wasi-nn</link>
      <description><![CDATA[<p data-path-to-node="3">The bill for the generative AI integration rush has arrived, and it is denominated in egress costs, token bloat, and idle container memory.</p>
<p data-path-to-node="4">For the past two years, engineering teams integrated LLMs via the path of least resistance: layering models on top of existing architectures. For human-facing use cases, this works. Humans provide implicit context, tolerate minor latency, and intuitively course-correct errors.</p><img src="https://feeds.dzone.com/link/18931/17360034.gif" height="1" width="1"/>]]></description>
      <pubDate>Fri, 12 Jun 2026 13:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3650304</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19046933&amp;w=600"/>
      <dc:creator>Nabin Debnath</dc:creator>
    </item>
    <item>
      <title>Combining Temporal and Kafka for Resilient Distributed Systems</title>
      <link>https://feeds.dzone.com/link/18931/17357133/temporal-kafka-resilient-distributed-systems</link>
      <description><![CDATA[<p>Kafka and Temporal address different failure boundaries, and resilient distributed systems often need both rather than one as a substitute for the other. Kafka is built to move ordered, replayable event streams across many consumers and machines, while Temporal is built to keep long-running application logic alive as durable Workflow Executions that recover from crashes, outages, and worker restarts by replaying persisted Event History. The combination becomes compelling when Kafka is used to carry facts and Temporal is used to remember intent, timers, retries, and compensations across the lifetime of a business process.&nbsp;</p>
<h2>Kafka as the Event Backbone and Temporal as the Control Plane</h2>
<p>Kafka’s model is centered on totally ordered partitions, consumer groups, and offsets. A partition is consumed by exactly one consumer in a subscribing consumer group at a time, and Kafka keeps consumer state compact by treating progress as an offset that can be checkpointed, committed manually, or even rewound for reprocessing. That model is excellent for integration boundaries, stream processing, and decoupling producers from downstream services. What it does not provide by itself is durable orchestration for business logic that must wait for hours, react to multiple messages over time, and recover mid-process without rebuilding state externally. Temporal fills that gap by treating a Workflow Execution as a durable, reliable, scalable function that owns local state, receives messages through Signals or Updates, and advances by replaying persisted history instead of starting over from scratch after failure.&nbsp;</p><img src="https://feeds.dzone.com/link/18931/17357133.gif" height="1" width="1"/>]]></description>
      <pubDate>Tue, 09 Jun 2026 19:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3654650</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19032952&amp;w=600"/>
      <dc:creator>Akhil Madineni</dc:creator>
    </item>
    <item>
      <title>Frame Buffer Hashing for Visual Regression on Embedded Devices</title>
      <link>https://feeds.dzone.com/link/18931/17357017/visual-regression-frame-buffer-hashing</link>
      <description><![CDATA[<p>I run test automation for a graphics team that ships software to streaming devices. About a year ago, we changed how our visual regression suite stores and compares its references. The old approach kept around 18GB of PNG golden images in the test repo and ran a pixel-by-pixel diff on every comparison. The new approach stores around 19KB of MD5 hashes in a JSON file and compares hash strings. Storage dropped by roughly three orders of magnitude. Comparisons became effectively free. A category of flaky tests stopped being flaky.</p>
<p>This article is about how that works, when it makes sense, and when it doesn't. It also covers the parts that surprised me, because the approach has real downsides and I want to be honest about them up front.</p><img src="https://feeds.dzone.com/link/18931/17357017.gif" height="1" width="1"/>]]></description>
      <pubDate>Tue, 09 Jun 2026 15:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://dzone.com/articles/3655418</guid>
      <media:thumbnail url="https://dz2cdn1.dzone.com/thumbnail?fid=19030507&amp;w=600"/>
      <dc:creator>Rajasekhar sunkara</dc:creator>
    </item>
  </channel>
</rss>
