Microservices

19 - The Event Sourcing, Materialized View and CQRS Patterns

19 - The Event Sourcing, Materialized View and CQRS Patterns

2020-12-23

What if you stored not just the current state of your data, but every event that produced it? The Event Sourcing pattern captures the full history of changes as an append-only log — enabling audit trails, temporal queries, and history replay. Combined with Materialized Views for efficient read-side querying and CQRS for command/query separation, these three patterns form a cornerstone of modern event-driven architecture. Chris and Steph explore all three in this episode of Architecting for the Cloud.

18 - Tales from the Real World - Defying Gravity.. The magic behind Flight Simulator 2020

18 - Tales from the Real World - Defying Gravity.. The magic behind Flight Simulator 2020

2020-12-18

What's actually powering Microsoft Flight Simulator 2020 — and what can cloud architects learn from it? Chris Reddington takes to the virtual skies over Queensland with former colleague Cam Adams, flying a Cessna 172 from Archerfield aerodrome while discussing the real Azure services behind one of the most technically ambitious games ever made. From CDN-based asset distribution and event-driven live weather to PlayFab game backends and DDoS protection — this is cloud architecture on the fly.

17 - The Throttling, Retry and Circuit Breaker Patterns

17 - The Throttling, Retry and Circuit Breaker Patterns

2020-12-04

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

16 - The Backends for Frontends and Strangler Pattern with Peter Piper

2020-11-22

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

15 - The Sharding and Index Table Patterns

2020-11-13

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

5 - The API Economy

2020-04-25

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.

I can use any Azure Compute Service to solve any problem? (Azure Mythbusters)

I can use any Azure Compute Service to solve any problem? (Azure Mythbusters)

2020-01-31 Microsoft

Choosing the wrong Azure compute service leads to mismatched scaling behaviour, cost overruns, and avoidable management overhead. This Azure Mythbusters episode compares App Service, App Service Environment, Container Instances, AKS, Service Fabric, Azure Batch, Azure Functions, Logic Apps, Virtual Machines, and VM Scale Sets — highlighting decision factors such as stateful versus stateless workloads, latency requirements, compliance needs, and auto-scale granularity.

Deploying a multi-region Serverless API Layer (Part 1)

2019-07-13 · 4 min

In my spare time, I work on a pet project called Theatreers. The aim of this is a microservice based platform focused on Theatre / Musical Theatre (bringing a few of my passion areas together). I've recently re-architected the project to align to a multi-region serverless technology stack.