📧 Azure Integration
Azure · Integration & Messaging

Stop calling.
Start sending.
Rebuild Contoso Retail.

Contoso Retail’s checkout collapses on Black Friday. Over five animated episodes, Maya rebuilds it — buffering work on a storage queue, guaranteeing orders with Service Bus, recording telemetry through Event Hubs, reacting instantly with Event Grid, and wiring it all together with Azure Functions.

5 animated episodes 32 animated steps Grounded in Microsoft Learn
The journey

From a timing-out monolith to an event-driven store

One connected storyline — each episode starts with something breaking, then fixes it with the Azure service built for that job. Watch it end to end, or jump straight to the service you need today.

🚫 Synchronous and fragile ⚡ Decoupled and reactive

The Black Friday Bottleneck

Azure Queue Storage
64 KB messagesVisibility timeoutPoison messages
Start the journey →

The VIP Transaction Disaster

Azure Service Bus
Sessions & FIFOPeek-lockDead-letterTopics
Open episode →

The Sensor Tsunami

Azure Event Hubs
PartitionsOffsetsConsumer groupsCapture
Open episode →

The Reactive Smart Store

Azure Event Grid
CloudEventsFiltersRetries & DLQPull delivery
Open episode →

The Serverless Glue

Azure Functions
TriggersBindingsManaged identityEvent-driven scale
Open episode →
At a glance

Four brokers, four different jobs

Queue Storage, Service Bus, Event Hubs and Event Grid all move data between programs, but they carry different things. Start with what you are sending, pick the job you need done, then compare the details side by side.

First, what are you sending?

A message

Data the sender expects someone to act on, such as “process order 1042”.

Queue StorageService Bus

A discrete event

A lightweight notice that something changed. The publisher does not care who reacts.

Event Grid

An event stream

A continuous, time-ordered series of readings that you analyse together.

Event Hubs

Then, what do you need to do?

Carries messages · tasks

Azure Queue Storage

A simple, very large backlog of work inside a storage account. Producers add tasks; workers poll, lease a message, process it, then delete it.

Choose it when

  • You need a low-cost buffer to absorb a traffic spike
  • The backlog might grow beyond 80 GB
  • A worker should save progress on the message itself

Watch out: No guaranteed order, no duplicate detection and no built-in dead-letter queue. Track the dequeue count; the Functions queue trigger moves repeat failures to a -poison queue.

Watch the episode
Side by side · the highlighted column follows your choice above
Queue Storage Service Bus Event Hubs Event Grid
Carries Messages (tasks)Messages (transactions)Event streamsDiscrete events
How consumers get it Pull: workers pollPull with long pollingPull: read from an offsetPush to handlers (pull on namespaces)
Ordering Not guaranteedFIFO with sessionsWithin a partitionNot guaranteed
Max size 64 KB256 KB · 100 MB Premium1 MB · 256 KB Basic1 MB
When processing fails Reappears after the visibility timeout; poison handling is up to youAutomatic dead-letter subqueueNo dead-letter; re-read from the last checkpointRetries, then optional dead-letter blob
How long data stays Until deleted or its TTL expires (7 days by default)Until settled or its TTL expiresRetention window: up to 1, 7 or 90 days by tierNot stored for replay; retried for up to 24 hours
Protocols HTTPS (REST)AMQP 1.0 · HTTPSAMQP · Kafka · HTTPSHTTPS · MQTT
Go deeper on Microsoft Learn

Official hands-on learning paths

Every number and limit in this journey comes from Microsoft’s own documentation. Build the same pipelines for real with Microsoft’s guided, exercise-based training.