When Event-Driven Architecture Is Overkill for the Job

December 5, 2026 · Part 18 of 20

Opening Scene

A small post office on a quiet street handles maybe thirty letters a day, and every single one of them is genuinely fine arriving with the regular afternoon round. A postmaster who insists on building a full courier desk anyway — dispatch staff, standby couriers, a whole system for instant delivery — hasn’t solved a problem the street actually has. She’s built an elaborate answer to a question nobody on that street was asking, and she’s the one who has to keep it staffed and running every single day whether it’s needed or not.

In Plain English

Event-driven architecture solves a real problem, but it isn’t free: it adds moving parts — brokers, consumers, idempotency logic, ordering guarantees, dedicated monitoring — that a simpler batch pipeline never has to deal with. When a workload genuinely tolerates hourly or daily freshness, and volume is low enough that batch’s throughput advantage barely matters either, event-driven architecture is pure added complexity with no corresponding benefit. Recognizing this isn’t a failure to modernize; it’s the same deliberate, workload-by-workload judgment this whole series has been arguing for since article one, just applied honestly against the answer “batch is actually fine here.”

The Old Way

Before this honest assessment was a standard part of architectural decision-making:

  • Event-driven architecture was sometimes adopted because it was the newer, more discussed pattern, rather than because a specific workload genuinely required its latency benefits.
  • Teams underestimated the ongoing operational cost of event-driven infrastructure — on-call burden, monitoring, the added failure surface covered throughout this series — relative to the freshness it actually delivered.
  • Reverting an over-engineered event-driven system back to a simpler batch pipeline was rare, since doing so was sometimes perceived as a step backward rather than a legitimate simplification.

Naming overkill honestly, and being willing to simplify back toward batch, is what protects a team from paying event-driven’s ongoing cost for a benefit nobody’s actually using.

What’s Changing (and Why AI Is the Reason)

  1. More teams now explicitly evaluate whether a workload’s actual freshness requirement justifies event-driven complexity, rather than assuming newer infrastructure is automatically the right default.
  2. This connects directly back to the cost trade-offs and batch-window articles earlier in this series, since both point toward the same discipline: match architecture to actual need, not to what’s fashionable.
  3. The current wave of AI-driven enthusiasm for real-time everything makes this article’s caution more relevant, not less — plenty of workloads don’t need an AI agent reacting instantly either, and event-driven infrastructure adopted purely to look sophisticated in an AI-forward pitch deck carries the same ongoing operational cost as any other unnecessary complexity.

The Metaphor, Fully Extended

The Small Post Office on a Quiet StreetArchitectural Overkill Concept
Thirty letters a day, all fine on the afternoon roundA low-volume workload that genuinely tolerates batch latency
A full courier desk built anyway, staffed every dayEvent-driven infrastructure adopted without a genuine latency need
An elaborate answer to a question nobody was askingAdded complexity with no corresponding business benefit
The postmaster stuck maintaining it regardless of needThe ongoing operational cost of unnecessary event-driven systems

For Beginners: What to Actually Do

  • Practice asking “what specific harm happens if this data is an hour late?” before assuming a workload needs event-driven processing.
  • Learn to recognize low volume plus high latency tolerance as a strong signal that batch is the simpler, better fit.
  • Get comfortable with the idea that choosing batch, deliberately, is not a failure to modernize.

For Practitioners and Leaders: The Deeper Layer

  • Periodically re-audit existing event-driven systems for cases where the original latency justification no longer holds, and be willing to simplify back toward batch.
  • Revisit the cost trade-offs and batch-window discipline covered earlier in this series as the concrete framework for making this call.
  • Push back specifically on event-driven adoption justified by AI-era enthusiasm alone, rather than by a genuine, measured workload requirement.

Quick Recap

  • Event-driven architecture adds real, ongoing operational complexity that isn’t justified for every workload.
  • Low-volume, latency-tolerant workloads are often better served by simpler batch processing.
  • Reverting an over-engineered system back to batch is a legitimate simplification, not a step backward.
  • AI-era enthusiasm for real-time everything makes this honest overkill assessment more relevant, not less.

Where This Fits in the Series

Article 17 covered testing for a genuinely unpredictable day. Article 18 covered the honest case for recognizing when event-driven architecture is overkill. Article 19 turns to what happens when either approach actually fails, cataloguing common batch and event-driven failures, and the mail that never arrived.