# Somebody said “we need Kafka”.

> A broker and a log are not two brands of the same thing.

- **Format:** short video, 10 steps, ~32 seconds
- **Topic:** Service Bus or Kafka — why "we need Kafka" is usually the wrong answer on Azure, and what the team actually needed.
- **Author:** Suthahar Jegatheesan (MSDEVBUILD)
- **Category:** Azure · Azure
- **Tags:** azure, kafka, azureservicebus, azureeventhubs, apachekafka, systemdesign, microsoftazure, azurecloud, cloudarchitecture, dataengineering, microservices, az305, msdevbuild
- **Canonical URL:** https://blog.msdevbuild.com/shorts/azure-service-bus-vs-kafka/

---
## What you'll learn

- The real difference between a broker and an append-only log
- Why Kafka partitions put a ceiling on your consumer count
- When the Event Hubs Kafka endpoint is the cheaper answer

## Understand it one step at a time

### 1. Somebody said “we need Kafka”

It gets said in design reviews constantly, and it is an answer to a question nobody asked out loud.

### 2. Kafka is a log, not a queue

Service Bus hands you one message and waits. Kafka gives you a position in a file that keeps growing.

### 3. What do you actually need?

Only two answers matter here: do a piece of work exactly once, or read the same stream many times.

### 4. Work needs a broker

Lock a message, complete it, dead-letter it if it will never work. Kafka makes you build every bit of that.

### 5. Kafka caps your parallelism

One consumer per partition, per group. Eight partitions means eight consumers, and repartitioning is not free.

### 6. Streams need a log

If several teams must read the same events, and read them again next week, you do want a log.

### 7. On Azure that's Event Hubs

It exposes a Kafka-protocol endpoint. Point your existing Kafka client at it and change three config lines.

### 8. So when do you run Kafka?

When you need Connect, Streams or ksqlDB, exactly-once stream processing, or portability off Azure entirely.

### 9. Broker, log, or cluster

Three destinations, and only one of them comes with servers you have to keep alive yourself.

### 10. You probably wanted a broker

And if you genuinely wanted a log, Azure already speaks Kafka without asking you to operate one.

---

## The takeaway

**Kafka is a decision about operations, not messaging**

Take the cluster on for the ecosystem. Never because a queue sounded too simple.
