Serverless hit its awkward teenage years somewhere around 2022. In 2026, it is grown up: the patterns are settled, the tooling is boring (good), and event-driven architectures on Azure genuinely scale when you build them right.
Here are the patterns that actually hold up.
The three building blocks
- Event Grid — cheap, low-latency, pub/sub for reactive workflows
- Service Bus — durable, ordered, transactional messaging for business logic
- Event Hubs — high-throughput streaming for telemetry and logs
Use all three. They are not competitors; they are different instruments.
Patterns that scale
1. Grid → Function → Bus
Event Grid fans out a lightweight notification to a Function. The Function does the minimum work needed to enqueue a durable command into Service Bus. Keeps the hot path fast and the business path reliable.
2. Outbox → Event Grid
Write to your database and to an outbox table in the same transaction. A tiny worker drains the outbox to Event Grid. You get exactly-once-ish semantics without distributed transactions.
3. Saga over Service Bus
Long-running business processes as a chain of Service Bus messages with compensation steps. Durable Functions make the orchestration readable.
4. Event Hubs → Stream Analytics → Fabric
High-volume telemetry lands in Event Hubs, gets projected into Fabric or ADX for queries. Functions handle alerts off the same stream.
Things to get right early
- Idempotency keys on every handler
- Poison queues and dead letter alarms
- Schema registry for event contracts
- Tracing via OpenTelemetry across the whole chain
- Backpressure — Functions can scale, your downstream database cannot
When not to go serverless
- Long-running heavy compute (use Container Apps)
- Very latency-sensitive synchronous APIs (use Container Apps or AKS)
- When your team has zero operational experience with distributed systems
Originally published on the Horizon Tech Blog.
Top comments (0)