
17 - The Throttling, Retry and Circuit Breaker Patterns
How do you protect your infrastructure from traffic spikes, safeguard multi-tenant workloads from noisy neighbours, and handle transient failures gracefully? Chris and John Downs walk through three essential cloud resilience patterns that every developer building on Azure should understand. Part of the “Architecting for the Cloud, One Pattern at a Time” series.
The Throttling Pattern
Protect your services and downstream dependencies from high or unexpected load. Rather than a simple binary on/off gate, throttling can degrade gracefully — disabling non-critical features under load, shaping traffic, or signalling clients via HTTP 429 with a Retry-After header. Azure services like Cosmos DB and Service Bus use this approach natively.
The Retry Pattern Handle transient faults — temporary failures that resolve on their own — without crashing your application. Learn why naive immediate retries can worsen problems, and how exponential backoff with jitter (as implemented in libraries like Polly for .NET) helps spread retry load.
The Circuit Breaker Pattern Prevent cascade failures by short-circuiting calls to a failing downstream service. The three states — closed (normal), open (blocking calls), and half-open (probing for recovery) — give your dependencies time to recover while protecting your own service from compounding failures.
Telemetry is key — all three patterns generate valuable signals. Logging retry attempts, throttle events, and circuit state transitions lets you spot seasonality, capacity gaps, and systemic issues before they become outages.
Related Content

16 - The Backends for Frontends and Strangler Pattern with Peter Piper
Managing APIs across web, mobile, and multiple consumer types creates tight coupling that slows modernisation and makes versioning painful. In this episode, Chris Reddington is joined by Peter Piper to explore the Backend for Frontends (BFF) pattern — creating dedicated backends tailored to each consumer — alongside the Strangler Fig pattern for incrementally migrating legacy monoliths without disrupting existing clients. The Façade pattern also features as a key decoupling mechanism for smooth API migrations. Part of the "Architecting for the Cloud, One Pattern at a Time" series.

15 - The Sharding and Index Table Patterns
Concerned about the scalability of your data layer, or do you need data segregation for customers with regional data residency requirements? The Sharding pattern addresses exactly these challenges. If you are using a NoSQL data store without native secondary index support, the Index Table pattern provides an elegant solution for efficient querying. In this episode, Chris is joined by Steph Martin to explore both patterns in depth: shard key strategies (lookup, range, hash), cross-shard query design, the Azure SQL Database elastic client library, and how the Index Table pattern solves query efficiency challenges in stores like Cassandra and Cosmos DB.

5 - The API Economy
APIs are the connective tissue of modern cloud architectures — but poor API design compounds into technical debt that is expensive to unwind. In this episode, Chris Reddington and Peter Piper explore the full lifecycle of API design: defining versioning contracts up front, modernising legacy APIs using the Strangler and Façade patterns, and securing APIs with JWT tokens, OAuth 2.0, and OIDC. They also cover Azure API Management patterns, circuit breakers, throttling, key rotation with Azure Key Vault, and the DevSecOps practices that keep an API estate healthy at scale.