# A call needs both people free. A message does not.

> Sync versus async, decided by one question — and priced honestly.

- **Format:** short video, 10 steps, ~32 seconds
- **Topic:** Synchronous or asynchronous — the one question that decides it, and the price you pay for going async.
- **Author:** Suthahar Jegatheesan (MSDEVBUILD)
- **Category:** Azure · Azure
- **Tags:** azure, systemdesign, asyncprogramming, microservices, azureservicebus, messagequeue, distributedsystems, microsoftazure, azurecloud, cloudarchitecture, backenddeveloper, az305, msdevbuild
- **Canonical URL:** https://blog.msdevbuild.com/shorts/azure-sync-vs-async-messaging/

---
## What you'll learn

- How three chained dependencies become your own downtime
- Why going async turns an outage into lag instead
- The three jobs you inherit the moment you queue it

## Understand it one step at a time

### 1. Same request, two designs

Checkout has to tell shipping about an order. That single sentence has two very different implementations.

### 2. Sync is a phone call

Both ends have to be free at the same instant. Your thread is held open for the whole conversation.

### 3. Their downtime is your downtime

Chain three dependencies at three nines and you inherit 99.7% — two hours a month, not forty minutes.

### 4. Latency adds up

Three hops of 200ms is 600ms every time — and one slow dependency sets your p99, not your average.

### 5. Async is a message

Checkout writes to a queue and returns in 40ms. Shipping reads it whenever shipping is ready.

### 6. Downtime becomes lag

Shipping is down for four minutes. The queue holds three orders, then the worker drains them. Nobody 500s.

### 7. But you gave up the answer

“Order placed” now means “order accepted”. You do not know it shipped, and the UI has to admit that.

### 8. And you inherited three jobs

Correlation ids to trace it, an idempotent handler, and code that survives duplicates and reordering.

### 9. When to use which

Sync when the caller cannot continue without the result. Async when it can, and only then.

### 10. Do you need the answer to continue?

That is the whole decision. Yes means call it. No means queue it — and pay the bill on purpose.

---

## The takeaway

**Async buys availability and sells certainty**

Both are real prices. Pay whichever one your call actually needs.
