Apache Kafka is free. Supporting Apache Kafka is not, and the cost does not appear on any budget line — which is why the comparison usually gets made wrongly.
The question is never "licence versus free". It is whether the engineer time you already spend is cheaper or dearer than a contract, and most organisations have never actually counted the first number.
What Self-Support Actually Costs
The rotation. Genuine round-the-clock cover needs three or more people who can act on the cluster. Fewer than that is not a rotation, it is one person with a phone and a colleague who hopes not to be called. That arrangement works until it is tested.
Incident hours. Not just the outage itself but the diagnosis, the follow-up, and the day afterwards when nothing else gets done. Cost these at fully loaded senior salary, because that is what they are.
Staying current. Release tracking, CVE monitoring, and understanding what changes between versions. The ZooKeeper-to-KRaft transition is the obvious recent example — an estate that ignores it accumulates a migration debt with a deadline attached. See KRaft production readiness.
Expertise retention. The expensive one nobody budgets. If the person who designed your partitioning strategy leaves, their replacement needs months to reach the same understanding — and the cluster does not pause meanwhile.
The Concentration Test
One question separates the two answers more reliably than any spreadsheet.
How many people could diagnose a rebalance storm at 3am on a Sunday?
If the answer is three or more, self-support is viable and a contract adds modest value. If it is one — and it very often is one — you do not have a Kafka support model, you have a dependency on a person. That is true no matter how good the person is, and it is precisely the risk a contract exists to remove.
The related failure modes are in why consumer groups rebalance and diagnosing consumer lag.
Making the Comparison Honestly
Put the annual contract next to the cost it displaces, not next to zero.
On the self-support side: on-call compensation across the rotation; incident hours at loaded cost; time spent on release tracking and upgrade planning; the recruitment and ramp cost when a key person leaves; and the business cost of the outage that ran longer because nobody available had seen it before.
On the contract side: the annual fee, plus the honest acknowledgement that you still need people who understand your own system — a contract supplements a team, it does not replace one.
Done properly, a support contract frequently costs less than a fraction of one senior engineer. That is the comparison worth putting in front of a budget holder, and it is a very different conversation from "we already get Kafka for free".
The Hybrid Most Estates Actually Want
The framing as a binary is usually false. What works for most organisations is a split.
Your team keeps day-to-day operations, topic and partition decisions, and ownership of the platform. That knowledge should stay in-house — it is about your workloads, not about Kafka.
A partner covers escalation when something is genuinely unfamiliar, out-of-hours cover so the rotation is real, upgrade and migration planning, and periodic architecture review before problems reach production.
You keep the ownership and lose the single point of failure, which is the actual goal.
AceMQ provides independent Apache Kafka support on exactly that model. If you want the comparison run against your own numbers, get in touch.
FAQ
Is self-supporting Kafka actually free?
The software is; the support is not. The cost is engineer time — on-call, incident hours, release tracking and retained expertise — and none of it appears on a budget line.
What does self-support actually require?
Three or more people for a real rotation, deep familiarity with broker and consumer internals, time to track releases, and runbooks that survive someone leaving.
When is self-support the right answer?
When Kafka is core to your product, you have the headcount, and owning that expertise is worth it because you make platform decisions constantly.
When does commercial support win?
When Kafka is important but not your product, and the knowledge sits with one or two people — concentration risk a contract is designed to remove.
What is the honest cost comparison?
Contract against the loaded engineer time it displaces — on-call, incident hours, release tracking, recruitment when someone leaves — not against zero.
Is it all or nothing?
No. Most estates want a hybrid: the team runs day-to-day, a partner covers escalation, out-of-hours, upgrades and architecture review.