EIP – Detour

Now, what is this “Detour” pattern all about? It’s essentially a rerouting exercise, not unlike the way you’d avoid a construction zone on your daily commute. In Azure terms, it’s…

Practical Guide to API Design – RFC v1.3

Here is a collection of API design guidelines that I've curated over the last two years working on a data-intensive Payment Gateway with the folks over at Stripe.

Architecture Roadmap for Dataverse DW Modelling

Summary When building an organisation around Microsoft Power Platform you need to be ruthless. You need to implement strong governance and controls before it becomes a chaotic mess. I've implemented…

EIP – Durable Subscriber

Right, let’s dive into the world of Durable Subscribers and how they help us avoid losing messages like forgotten emails in an overloaded inbox. Picture this scenario: you’ve got a…

Event Sourcing Architecture

Let’s kick things off with a quick overview in code. Event Sourcing isn’t as complex as it sounds. Imagine capturing every change to your system as a distinct event. You…

Building a Dapr-based Microservices Architecture in C#

This tutorial walks you through creating a microservices-based architecture using Dapr and C#. We'll build 5 microservices that work together to process a customer form submission. Dapr will handle service…

Building out an Event-Driven Leader Election Architecture

Leadership is messy, whether it’s among humans or machines. The only difference is that machines, particularly in distributed systems, don’t bring ego into it. They just want a fair, reliable…

EIP – Circuit Breaker with Polly, Hystrix & Istio,

Alright, let’s get into the Circuit Breaker pattern—an absolute must-have when you’re dealing with distributed systems or any scenario where the flow of messages between systems can, at times, become…

Service Mesh API Design

A Service Mesh is an infrastructure layer built into an application that facilitates service-to-service communication in a microservices architecture. It provides features like load balancing, service discovery, encryption, authentication, authorization,…

Optimising Kubernetes MapReduce Function

Here is a very quick method to create distributed workloads in Kubernetes using MapReduce. The code below is written in Python, however I have Node.js and C, C# variants…