- Kafka’s true cost extends well beyond broker infrastructure to the stream processing layer, duplicate storage, network transfer, and the specialized staffing needed to run it.
- Maintenance is the cost that keeps accumulating: clusters drift as each one gets configured and re-tuned differently over years, until only a handful of people fully understand the infrastructure.
- Every hop in a multi-stage pipeline adds latency, and that latency only matters when a decision has to happen while the event is still unfolding, not for batch or near-real-time analytics.
- The tax is fair when Kafka feeds a durable, multi-consumer backbone; it becomes unnecessary the moment a full cluster and stream processor exist to serve one producer and one destination.
- Confluent’s acquisition by IBM, plus direct-ingestion tools like Databricks Zerobus and Snowflake Datastream, are pushing more teams to re-examine which workloads still justify running the full cluster.
TL;DR
In the first part of this series, I argued that Databricks and Snowflake are not walking away from Apache Kafka. They are targeting a narrower and more commercially interesting problem, which is the ingestion pipeline that exists purely to move data into a single downstream platform. Zerobus and Datastream both exist because a real inefficiency has been sitting in plain sight for years, and the two largest data platform vendors finally decided to go after it.
This second part is about that inefficiency itself. I want to be precise here, because the point is not that Kafka is expensive or complex in some abstract sense. Kafka has earned its place in the architectures it was designed for. The point is that a specific class of workload has been paying for capabilities it never uses, and the bill shows up in three places that are worth examining one at a time. Those three are cost, maintenance, and latency. Each one is defensible when the workload genuinely needs a durable, multi-consumer event backbone. Each one becomes hard to justify the moment the workload only ever needed to get data from point A to point B.
I call the underlying goal Data Immediacy, a term I have used across several talks and write-ups over the last couple of years. It is the idea of gaining instantaneous access to the most relevant, context-specific data across the enterprise so that key business decisions can happen in real time when they are needed. The Kafka tax is what stands between many organizations and that goal, and understanding where it accrues is the first step toward deciding whether you should be paying it at all.
The Cost Line Is Bigger Than the Cluster
When most teams estimate the cost of running Kafka, they look at just the broker infrastructure. While it may not be the largest number, the full cost of a Kafka deployment includes the brokers, the storage those brokers consume for retention, the network transfer between availability zones, the stream processing layer that so often sits alongside it, and the human expertise required to keep it all healthy. When you add these together, the infrastructure line item is often the smallest part of the total.
Consider the common pattern where Kafka feeds a single analytical destination. Data lands in a topic, a stream processor like Flink or Spark Structured Streaming reshapes it, and the result is written into a warehouse or lakehouse. In that setup, you are paying for at least two distinct compute systems, Kafka and the processor, plus the storage each one needs, plus the cost of holding a duplicate copy of the data as it moves through the pipeline. Databricks was explicit about this logic when it introduced Zerobus. When the lakehouse is the only destination, the message bus adds a data copy, an operational layer, and specialized expertise that produce no corresponding benefit.
Staffing cost deserves particular attention because it rarely appears in a budget forecast and almost always shows up in actual spend. Kafka is not a system you deploy and forget. Running it well requires people who understand partitioning strategy, replication, consumer group behavior, and capacity planning. Practitioner reviews of Kafka consistently name this as the tradeoff, and the phrasing tends to be some version of the same complaint, which is that Kafka demands dedicated expertise for monitoring, scaling, and maintenance, and smaller teams find that overwhelming. Another point is that Kafka replication is necessary to maintain business continuity, and it requires its own separate infrastructure. Factor that cost into the Kafka tax, too.
The Maintenance Burden Compounds Over Time
Cost is just a snapshot. Maintenance is the cost that keeps accumulating, and it compounds in ways that are easy to underestimate at the start of a deployment. A Kafka cluster is a distributed system, and distributed systems demand ongoing attention, no matter how much data is flowing through them. Partitions need to be balanced. Replication has to be monitored. Schema evolution has to be managed so a change on the producer side doesn’t silently break a downstream consumer. One has to observe consumer lag as well because it is often the first sign that something upstream or downstream has gone wrong.
There is a pattern I have seen described well by engineers who spend their days inside these deployments, and it captures the maintenance problem better than any cost model. Organizations that have run Kafka clusters for five or six years are now proactively seeking help with upgrades and standardization, not because anything is broken, but because each cluster has quietly become a one-off, configured and re-tuned so many times that no two look alike and none map cleanly to a standard. Every deployment ends up configured a little differently, running a little differently, and nearly impossible to compare against best practices. That drift is the real maintenance burden. It is not a single large event. It is the slow accumulation of small, individually reasonable decisions that leave you with infrastructure only a handful of people fully understand.
This burden is entirely justified when Kafka is doing the job it was built for. If a single event stream is feeding fraud detection, personalization, audit logging, and a data warehouse all at once, the durable multi-consumer log is genuinely earning the maintenance it requires. The problem is that workload where none of that fan-out exists. When Kafka sits between one producer and one destination, you are carrying the full operational weight of a multi-consumer system to serve a single-consumer need. Maintenance doesn’t scale down just because the use case is simple. It is a fixed tax on a variable benefit.
Consider the market backdrop here too. Confluent, the commercial steward of Kafka, now sits inside IBM following the acquisition that closed in December 2025. For teams running managed Kafka, vendor consolidation of that scale introduces exactly the kind of uncertainty that makes people re-examine what they are running and why. Don’t throw the baby out with the bathwater yet but use this moment to review your architecture and deem what is strategic vs what is redundant.
Latency Is Where the Architecture Reveals Itself
The third element of the Kafka tax is latency, and it is the one that matters most for the real-time decisioning use cases I care about. Every hop in a data pipeline adds time. A producer writes to Kafka. A stream processor reads from Kafka, transforms the data, and writes it onward. The destination ingests it and makes it queryable. Each of those stages is measured in milliseconds under good conditions, and those milliseconds add up. For a batch analytics workload, that sum is irrelevant. For a decision that has to happen while an event is still unfolding, the sum is the whole game.
This is precisely why the new ingestion products are built the way they are. Zerobus advertises a direct path to the lakehouse by removing the broker hop entirely. Snowflake’s Datastream writes stateless processors directly to blob storage rather than holding data in broker memory, collapsing the operational surface area and shortening the path data has to travel. Both designs admit that the traditional multi-hop pipeline introduces latency that a meaningful set of workloads simply cannot afford.
Here is the distinction I want to draw sharply, because it sets up the third part of this series. Reducing ingestion latency by a few seconds is a real improvement, and it is genuinely valuable for near real-time analytical and operational workloads. It is not the same thing as real-time decisioning. Landing data in a table in five seconds is a different problem from acting on an event in single-digit milliseconds. When a system has to approve a transaction, block a fraudulent trade, or reprice inventory the instant an event occurs, five seconds is not fast; it is a failure. The ingestion improvements from Databricks and Snowflake move data faster. They do not, on their own, make the decision faster.
Where the Tax Is Fair, and Where It Is Not
None of this is an argument against Kafka. I want to be as clear about that in Part 2 as I was in Part 1. Kafka remains the right foundation for genuinely event-driven architecture, and more than 80 percent of Fortune 100 companies run it for good reasons. When you need a durable, replayable log feeding many independent consumers at their own pace, the cost, maintenance, and latency of Kafka are the price of a capability you are actually using. Paying that price is not a tax in that case. It is a necessary exchange.
The tax appears when the exchange stops being fair. It appears when you run a full cluster and a stream processor to serve a workload with one producer and one destination. It appears when you are funding specialized staff to maintain a one-off deployment that supports a single analytical sink. It appears when you are absorbing three or four hops of latency for data that only ever needed to move in a straight line. In each case, you pay for durability, fan-out, and replayability the workload will never touch.
What Comes Next
I have deliberately left the hardest workload for last. The cost, maintenance, and latency friction described here is real, and the direct ingestion products from Databricks and Snowflake address a meaningful slice of it. But what is more critical is the decisioning layer. This system has to take a real-time stream, combine it with the relevant context, and produce a business decision in the window where that decision still matters. Reducing ingestion time and cost is worthwhile. It is not the same as closing the gap between an event and the action it should drive.
Part three turns to exactly that gap. I will make the case for where a direct-to-Volt model fits alongside what the lakehouse vendors have shipped, and why the real question was never whether to keep Kafka, but which of your workloads need an ingestion pipeline at all and which ones need something built to decide, not just to deliver. That is where Data Immediacy stops being a concept and becomes an architecture.
What is the "Kafka tax"?
The Kafka tax is the added cost, operational burden, and latency that accumulates when a full Kafka cluster runs a workload that only needs to move data from one producer to one destination. It shows up in three places: infrastructure and staffing costs beyond the broker, the ongoing maintenance required to keep a distributed system healthy, and the latency added by each hop in a multi-stage pipeline. The tax is fair when Kafka’s durability and multi-consumer fan-out are actually in use, and unnecessary when they aren’t.
Is Kafka too expensive for simple data pipelines?
Kafka can be significantly more expensive than teams expect once you count the stream processing layer, duplicate storage, cross-zone network transfer, and the specialized staff required to run it well. For a pipeline with a single producer and single destination, that full cost structure is rarely justified. Tools built for direct ingestion, rather than durable multi-consumer distribution, are usually a better fit for that narrower job.
Why does Kafka maintenance cost more than teams budget for?
Kafka is a distributed system that demands ongoing attention: partitions need balancing, schema evolution has to be managed carefully, and consumer lag has to be watched as an early signal of upstream or downstream problems. Over years of operation, clusters tend to drift as each one gets configured and re-tuned differently, until the infrastructure is understood by only a handful of people. That drift, more than any single event, is where the real maintenance cost comes from.
How do you know if you actually need a full Kafka cluster?
The clearest signal is fan-out. If a single event stream needs to feed multiple independent consumers at their own pace, such as fraud detection, personalization, and a data warehouse all at once, the durable multi-consumer log is earning its cost. If the workload has one producer and one destination, the full operational weight of a multi-consumer system is being carried to serve a single-consumer need.
What changed with Databricks Zerobus and Snowflake Datastream?
Both products offer a more direct path into a single downstream platform by removing the broker hop or writing stateless processors directly to storage. They target the specific inefficiency of using Kafka purely as an ingestion pipeline into one lakehouse or warehouse. They reduce ingestion latency and cost for that narrower use case, but they don’t replace Kafka for workloads that genuinely need a durable, replayable, multi-consumer event backbone.
Does reducing ingestion latency mean data is ready for real-time decisions?
Not necessarily. Landing data in a table a few seconds faster is a meaningful improvement for analytical and operational workloads, but it’s a different problem from acting on an event within single-digit milliseconds. When a system has to approve a transaction, block a fraudulent trade, or reprice inventory the instant an event occurs, faster ingestion alone doesn’t close that gap. That requires a decisioning layer built to act, not just a faster pipeline to deliver data.
When is paying the Kafka tax the right decision?
Kafka is the right foundation whenever a workload requires a durable, replayable log feeding multiple independent consumers, which is why more than 80% of Fortune 100 companies still run it. In that case, the cost, maintenance, and latency of Kafka are the price of a capability the workload is genuinely using, not a tax. The tax only appears when a full cluster and stream processor exist to serve a single producer and a single destination.



