Kafka Cost Estimator
What a Kafka cluster costs a month at your own rates, and which of storage, cross-zone replication, egress or compute dominates. No bundled price table, so nothing here goes stale.
kafka-cost.txt
updates as you type Common mistakes
These are the ones that fail silently. The config is accepted, nothing raises an error, and the consequence arrives later.
Estimating from produce volume alone
Replication multiplies stored bytes by the replication factor and consumer fan-out multiplies egress. Both dwarf the raw produce figure.
Instead:Include RF for storage and the consumer group count for network.
Forgetting cross-AZ traffic
On most clouds replication and consumption across availability zones is billed per gigabyte, and for a busy cluster it can exceed the instance cost.
Instead:Model it explicitly, and consider rack awareness with follower fetching.
Using a bundled price table
Rates differ by region, commitment and negotiated discount, and any table shipped in a tool is stale within months.
Instead:Enter your own rates. That is why this page asks for them.
Where the money actually goes
Four lines: provisioned disk, cross-zone replication, egress and compute. You supply the rates, because a bundled price table would be wrong within a quarter and wrong quietly.
There is no price table in this page
Every rate here comes from you. That is deliberate: a static page carrying cloud prices is stale the first time a provider changes a region, and a stale price table is worse than none because it looks authoritative. Take the four numbers off your own bill and they will also carry your discounts, your committed use and your region, none of which a bundled table could know. Nothing on this page contacts a pricing API either, so the figures are yours and stay on your machine.
Cross-zone replication is usually the surprise
Replication traffic is the produce rate times the replication factor minus one. Spread replicas across zones for durability, which is the right choice, and most of that traffic crosses a zone boundary and is billed continuously. It scales with throughput rather than retention, no producer or consumer metric shows it, and on a high-volume cluster it routinely exceeds the storage line. Some providers charge both sides of the boundary, in which case double the rate you enter.
Storage is provisioned, not used
Kafka runs on provisioned block storage and you pay for the volume, not the bytes in it. That makes headroom a real line item rather than a safety margin you get for free, and it is still the right thing to have: a Kafka broker with a full disk stops accepting writes rather than slowing down. 30 to 40 percent is the usual band, and this page divides by the usable fraction rather than adding a percentage, because adding is the arithmetic error that under-provisions.
Compression is the only lever that moves three lines at once
Storage, cross-zone replication and egress are all proportional to the compressed byte count. A ratio improvement from 0.5 to 0.3 takes 40 percent off all three simultaneously, which no other single change here does. It costs producer CPU and a little latency, and for JSON or text payloads zstd or lz4 reach that range comfortably.
What this does not include
No control plane or managed-service fee, no support contract, no monitoring stack, no inter-region replication, no tiered storage, no backups, and no engineer time. It also assumes traffic is steady: a workload with a daily peak needs provisioning for the peak and pays for it around the clock, so take the ingress figure from your busiest sustained hour rather than your daily average. The output is the shape of the bill and which line dominates, not an invoice.