
20 - The Anti-corruption layer, Gateway Aggregation and Gateway Routing patterns
In this episode of the Architecting for the Cloud, One Pattern at a Time series, Peter Piper returns to walk through three powerful cloud design patterns that build on the Façade concept explored in earlier episodes.
What’s covered
- Context reset: The Strangler pattern — a brief recap to set the scene for migration from legacy to modern systems
- Anti-Corruption Layer (ACL) — how to prevent a legacy system’s data model from “corrupting” a new microservices domain; translating between old SOAP/REST contracts and modern REST APIs; how this enables high cohesion and low coupling through domain-driven design
- Gateway Aggregation — reducing client chattiness by aggregating multiple backend service calls into a single response at the gateway layer; chatty I/O anti-patterns and their performance impact
- Gateway Routing — layer-7 routing by IP, port, header, or URL path; decoupling consumers from versioned backend services; Azure load balancing options (Application Gateway, Azure Front Door, Traffic Manager, Azure Load Balancer) and when to use each
- Azure service mapping — how Azure API Management, Application Gateway, and Front Door map to these patterns in practice
- Cross-cutting concerns — resilience (single points of failure, HA/DR), observability (monitoring and logging), Infrastructure as Code for gateway configuration, and integration/regression/performance testing for each pattern
- When not to use these patterns — anti-patterns for scenarios where a WAF/DDoS layer is a better fit than a full gateway
All three patterns share a common thread: a facade layer that decouples front-end consumers from back-end complexity, enabling independent evolution, safe versioning, and testability.
Related Content

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: Throttling (protecting services from excess load via rate limiting and HTTP 429), Retry (handling transient faults with exponential backoff), and Circuit Breaker (preventing cascade failures). Part of the "Architecting for the Cloud, One Pattern at a Time" series — essential viewing for any developer building on Azure.

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.

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.