Running Apache Kafka yourself means running a stateful cluster: brokers with local disks, partitions to rebalance when one dies, and replication traffic between availability zones that shows up on the cloud bill every month. Most of the systems built to replace it now start from one decision, which is to stop keeping the log on the broker's disk.
On October 1, 2026, Cloudflare launched K2 in public beta, an event log built on its R2 object storage at an anticipated $0.04 per GB produced. It joins WarpStream and AutoMQ in storing streams in object storage, and it does not yet speak the Kafka protocol. Priced on one 5 MB/s workload, the published rates in this post run from $248 a month to $3,460.
What Teams Actually Run
Kafka is still the default. The project's homepage says "More than 80% of all Fortune 100 companies trust, and use Apache Kafka," which is the project's own claim rather than a survey. Kafka 4.3.0 shipped May 22, 2026, and the repository has 33,901 GitHub stars.
The commercial market consolidated this year. IBM completed its acquisition of Confluent on March 17, 2026, at $31 per share, about $11 billion. Confluent had already announced it was acquiring WarpStream on September 9, 2024, so Confluent Cloud and WarpStream now share one parent. By GitHub stars on October 2, 2026, the open-source and source-available alternatives rank NATS Server at 20,823, Apache Pulsar at 15,341, Redpanda at 12,591 and AutoMQ at 10,899.
The worked example throughout is a payments company in Chicago streaming 5 MB/s of transaction events on average, read by two consumer groups, fraud scoring and analytics, with 7 days of retention.
What the Same Workload Costs on Each Platform
Per-GB pricing hides how fast reads multiply, so this script prices the Chicago workload on each vendor's published rates for a 30-day month:
JavaScript// One workload, priced on each vendor's published rates (checked October 2, 2026). // 5 MB/s average produce, 2 consumer groups reading everything, 7-day retention, 30-day month. const MB_S = 5, CONSUMERS = 2, RETENTION_DAYS = 7, HOURS = 720 const gbIn = (MB_S * 3600 * HOURS) / 1000 // GB written per month const gbOut = gbIn * CONSUMERS // GB read per month const gbStored = (MB_S * 86400 * RETENTION_DAYS) / 1000 const gib = (gb) => (gb * 1e9) / 2 ** 30 // WarpStream bills in GiB const plans = [ // Cloudflare K2: anticipated post-beta rates from the October 1, 2026 launch post. Needs Workers Paid ($5 minimum). { name: "Cloudflare K2 (beta, anticipated)", cost: 5 + gbIn * 0.04 + gbOut * 0.04 + gbStored * 0.02 }, // Confluent Cloud Basic: 5 MBps ingress / 15 MBps egress per eCKU, first eCKU free, then $0.14/eCKU-hour. { name: "Confluent Cloud Basic", cost: (Math.max(Math.ceil(MB_S / 5), Math.ceil((MB_S * CONSUMERS) / 15)) - 1) * 0.14 * HOURS + (gbIn + gbOut) * 0.05 + gbStored * 0.08 }, // Amazon MSK Serverless, us-east-1: $0.75/cluster-hour, $0.0015/partition-hour (24 partitions), $0.10/GB in, $0.05/GB out, $0.10/GB-month. { name: "Amazon MSK Serverless", cost: 0.75 * HOURS + 24 * 0.0015 * HOURS + gbIn * 0.10 + gbOut * 0.05 + gbStored * 0.10 }, // Amazon MSK Express, us-east-1: 3 x express.m7g.large at $0.408/hour, $0.01/GB written, $0.10/GB-month. { name: "Amazon MSK Express (3 brokers)", cost: 3 * 0.408 * HOURS + gbIn * 0.01 + gbStored * 0.10 }, // WarpStream BYOC, Dev tier: $0.0345 per 15 minutes, $0.01/GiB written, $0.01/GiB-month stored. // Your own EC2 agents, S3 storage and S3 requests are billed by AWS on top and are NOT included. { name: "WarpStream Dev (fees only)", cost: 0.0345 * 4 * HOURS + gib(gbIn) * 0.01 + gib(gbStored) * 0.01 }, // AutoMQ BYOC: first-tier rates of $0.02/GiB in, $0.0067/GiB out, $0.01/GiB retained, $0.411/hour uptime. // This workload stays inside the first tier. Your own EC2, EBS and S3 costs are billed by AWS and are NOT included. { name: "AutoMQ BYOC (fees only)", cost: gib(gbIn) * 0.02 + gib(gbOut) * 0.0067 + gib(gbStored) * 0.01 + 0.411 * HOURS }, ] const usd = (n) => "$" + n.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 }) console.log(`Workload: ${gbIn.toLocaleString("en-US")} GB in, ${gbOut.toLocaleString("en-US")} GB out, ${gbStored.toLocaleString("en-US")} GB retained `) for (const p of plans.sort((a, b) => a.cost - b.cost)) console.log(p.name.padEnd(36) + usd(p.cost).padStart(12))
Real output on Node.js 25.5.0:
textWorkload: 12,960 GB in, 25,920 GB out, 3,024 GB retained WarpStream Dev (fees only) $248.22 AutoMQ BYOC (fees only) $727.22 Amazon MSK Express (3 brokers) $1,313.28 Cloudflare K2 (beta, anticipated) $1,620.68 Confluent Cloud Basic $2,185.92 Amazon MSK Serverless $3,460.32
Three things decide the ranking. Read pricing doubles the bill wherever reads are metered at the write rate: on K2 and Confluent Basic, the two consumer groups cost twice as much as the producers. The two cheapest lines, WarpStream at $248 and AutoMQ at $727, are vendor fees only, because both run in your own AWS account, which bills the compute and S3 storage separately. MSK Serverless is the most expensive because it charges on both sides, $1,296 for writes and $1,296 for reads, on top of $540 for the cluster itself.
Cloudflare K2
Cloudflare K2 is a partitioned log on R2. Its edge service accumulates writes in memory, writes them to R2 as segment files, and assigns ordered offsets using R2's atomic operations, with no separate coordination service. Consumers read through subscriptions that either split work across a pool or deliver every message to every consumer.

During the beta, accounts on Workers Paid ($5 minimum per month) get 10 GB of storage and 30 MB/s of produce per stream, and usage is not billed. Cloudflare's anticipated rates are $0.04 per GB produced, $0.04 per GB consumed and $0.02 per GB-month retained.
What it does not do: run your Kafka clients. "Drop-in support for Apache Kafka clients" and message keys are on the roadmap, and Cloudflare reports about 1 second of produce latency at p99. The Chicago workload's 3,024 GB of retention is far above the 10 GB beta cap.
Redpanda
Redpanda speaks the Kafka API, and its README describes it as "Free from ZooKeeper™ and JVMs." Being Kafka-compatible means existing Kafka clients can point at it, which is the main reason teams pick it over a new protocol.

Version v26.2.2 shipped August 22, 2026, and the repository has 12,591 stars. Its cloud comes as Serverless, which starts free with no credit card, or BYOC in your own VPC with a 14-day trial, and an Enterprise Edition is sold for self-managed clusters.
What it does not do: publish a price or ship an open-source license. The pricing page lists plans but no dollar figures as of October 2, 2026. The core is under the Business Source License, which allows most uses except offering Redpanda as a service and converts to Apache 2.0 after a change date; enterprise features sit under a separate Redpanda Community License.
WarpStream
WarpStream runs stateless agents in your cloud account that speak the Kafka protocol and write directly to object storage, while WarpStream hosts the control plane. Its pricing page headline is "Kafka Compatible Without the Kafka Bill."

Pricing is published in full: $0.01 per GiB written and $0.01 per GiB-month stored for the first 50 TiB, plus a cluster tier of about $100 a month for Dev, $500 for Fundamentals with a 99.9% SLA, or $1,500 for Pro at 99.99%. There are no per-partition fees, and new accounts get $400 in credits.
What it does not do: keep the whole bill on one invoice, since agents and storage run in your AWS account, or match broker latency. Its own calculator lists a p99 produce latency of 500 ms. The Dev tier carries no uptime SLA, and the product belongs to Confluent and therefore IBM; its logo now reads "an IBM Company."
AutoMQ
AutoMQ is the open-source version of the same idea: "a fork of the open-source Apache Kafka" with a storage engine built on S3 or any S3-compatible store such as MinIO. Brokers become stateless, so scaling out does not mean copying partitions between disks.

It is Apache-2.0 licensed with 10,899 stars, and version 1.7.4 shipped August 29, 2026. As a fork, it claims "100% Kafka Compatible" behavior. Its Table Topic feature writes streams into Apache Iceberg tables.
What it does not do: run itself. Self-hosted, you pay AWS directly for compute, S3 storage and S3 requests. The commercial BYOC offering publishes a rate card of $0.02 per GiB in, $0.0067 per GiB out, $0.01 per GiB retained and $0.411 per hour of cluster uptime at its first tier, but those fees sit on top of the same AWS bill.
Amazon MSK
Amazon MSK is Kafka itself, managed by AWS, which removes protocol risk entirely. Serverless bills $0.75 per cluster-hour, $0.0015 per partition-hour, $0.10 per GB in, $0.05 per GB out and $0.10 per GB-month in us-east-1.

Express brokers cost $0.408 per hour for an express.m7g.large, plus $0.01 per GB written and $0.10 per GB-month. AWS says Express brokers deliver "up to 3x more throughput per broker" than Standard brokers.
What it does not do: spare you sizing on Express, where you still choose brokers, or include data transfer. AWS notes that standard data transfer charges apply to data moving in and out of MSK clusters.
Apache Pulsar
Apache Pulsar separates serving from storage: brokers handle clients while an Apache BookKeeper cluster of "bookies" stores the data. Multi-tenancy and geo-replication are built in rather than bolted on.

It is Apache-2.0 licensed with 15,341 stars, and v4.2.4 shipped August 3, 2026.
What it does not do: speak the Kafka protocol natively, or run as one system. You operate brokers, bookies and a metadata store, which is a lot of moving parts for a single team's 5 MB/s stream.
NATS JetStream
NATS is a messaging system whose core delivery is at most once; JetStream "adds a persistence layer" so messages can be stored and replayed. It also provides a key-value store and an object store on the same server.

NATS Server is Apache-2.0 licensed with 20,823 stars, and v2.15.0 shipped September 17, 2026.
What it does not do: speak Kafka. Subjects, streams and consumers map onto Kafka concepts only loosely, so moving existing Kafka producers means rewriting them.
Side by Side
| Tool | Kafka protocol | Storage | License | Published price | Latest version |
|---|---|---|---|---|---|
| Cloudflare K2 | Roadmap | Cloudflare R2 | Proprietary | $0.04/GB in and out (anticipated) | Public beta |
| Redpanda | Yes | Local disk plus tiered | BSL | Not published | v26.2.2 (Aug 22, 2026) |
| WarpStream | Yes | Your object storage | Proprietary | $0.01/GiB written | SaaS control plane |
| AutoMQ | Yes | S3-compatible | Apache-2.0 | $0 self-hosted, BYOC $0.02/GiB in | 1.7.4 (Aug 29, 2026) |
| Amazon MSK | Yes, it is Kafka | Broker storage | Proprietary service | $0.10/GB in (Serverless) | Managed |
| Apache Pulsar | No | BookKeeper | Apache-2.0 | $0 self-hosted | v4.2.4 (Aug 3, 2026) |
| NATS JetStream | No | Server storage | Apache-2.0 | $0 self-hosted | v2.15.0 (Sep 17, 2026) |
How to Choose Without Migrating Twice
- Decide whether you need the Kafka protocol. Existing clients, Kafka Connect and change-data-capture tools need it, which rules out K2 for now, Pulsar and NATS.
- Count your consumer groups before comparing prices. Run the script with your own produce rate and readers. Each extra group adds a full copy of reads on any platform that meters them.
- Set a latency budget. Object-storage designs trade latency for cost: about 1 second at p99 on K2, 500 ms on WarpStream. Fraud scoring may not tolerate that; analytics will.
- Price your own cloud bill for BYOC options. For WarpStream and AutoMQ, add the EC2 instances and S3 requests from your AWS account before comparing totals.
- Read the license and the owner. Redpanda is BSL, AutoMQ and Kafka are Apache-2.0, and WarpStream now belongs to IBM through Confluent.
Which One Should You Actually Use?
On AWS and done running Kafka, like the Chicago example: MSK Express at $1,313 a month keeps real Kafka with no protocol risk. WarpStream is cheaper if your team can run agents and accept a 500 ms p99.
Building on Cloudflare Workers: K2, once the beta storage cap rises, for event pipelines that never needed Kafka clients.
Open source and Kafka-compatible on your own infrastructure: AutoMQ on S3, or plain Kafka 4.3 if your team already knows how to operate it.
Many tenants, many regions: Apache Pulsar, which builds both in.
Lightweight messaging with replay: NATS JetStream, particularly when you also want request-reply and a key-value store.
Conclusion
The change in 2026 is that object storage became the starting point for most of the new Kafka-like systems in this list, and Confluent became part of IBM. Both push teams toward reading the fine print: whose cloud bill the storage lands on, and who owns the product they are about to standardize on.
Before you renew, ask how many consumer groups read each byte you produce. On per-GB-read pricing, that number moves the bill more than the vendor you pick.
Related DevToolLab Tools
- Protobuf Decoder - decode a binary event payload pulled off a topic when the schema registry is not to hand.
- JSONL Viewer - inspect a dump of consumed messages, one event per line, before replaying it into a new platform.
- Data Storage Converter - check the MB/s to GB-per-month arithmetic behind any streaming quote.
- S3 Bucket Policy Generator - write the bucket policy that WarpStream agents or AutoMQ brokers need for their storage.
Related Guides
- Best API Gateways - Kong and the gateways that now proxy Kafka traffic alongside HTTP.
- eBPF Observability Tools - tracing Kafka and NATS traffic at the kernel without changing client code.
- Best Distributed Tracing Tools - Grafana Tempo 3.0 puts Kafka in its own write path.
- Best Workflow Orchestration Tools - when a job needs durable steps and retries rather than an ordered log.
