CAMPUX Cloud Bootcamp
Field notes · Messaging
Event Grid vs Service Bus vs Event Hubs

Event Grid vs Service Bus vs Event Hubs: events, messages, and streams

By Victor Thomson16 July 20266 min read

Three Azure services move data between components, and picking wrong makes a system either lose things it needed or over-engineer things it didn't. The choice gets easy once you learn one distinction: an event is not a message.

As soon as an architecture has more than one moving part, those parts need to talk without being wired directly together. Azure offers three services for that — Event Grid, Service Bus, and Event Hubs — and they are constantly confused because they all "send data between things." They are not interchangeable. The clean way in is a definition Microsoft draws sharply: the difference between an event and a message.

Event vs message — the distinction everything hangs on

Straight from the docs:

Indifferent notification versus data-with-a-contract. Hold that, and the three services sort themselves.

The three services

Event GridService BusEvent Hubs
MovesEvents (notifications)Messages (with a contract)Event streams
PurposeReactive routingTransactional messagingBig-data ingestion
OrderingNo guaranteeFIFO (sessions)Per partition
TransactionsNoYesNo
Use for"An order shipped""Process this order"Telemetry & analytics

An event says "this happened." A message says "do this with this." A stream says "here is everything, in order, forever."

They work together, not against each other

These are not competitors fighting for one slot. Microsoft's own example: an e-commerce site can use Service Bus to process orders reliably, Event Hubs to capture site telemetry, and Event Grid to react to events like an item shipping — all at once. Mature systems use the right one for each job rather than forcing everything through a single pipe.

How to choose

The failure mode to avoid is reaching for the one you know. Pushing financial transactions through Event Grid loses you ordering and transactions; pushing millions of telemetry points through Service Bus is the wrong tool at the wrong scale. Ask first "is this a notification, a unit of work, or a stream?" — and the service names itself. Answering an interviewer with that framing ("an event with no contract, so Event Grid") shows you understand messaging, not just the logos.

Further reading — the Microsoft docs
Drilled in Class 16 — REST APIs & ARM. Back to all field notes →