Ambassador Design Pattern

The Ambassador design pattern is typically used in microservice architectures, however, the same concepts can be applied to non-microservice architectures. Legacy applications that have limited features may not have the…

Top 20 Architecture KPIs

Summary In managing software delivery projects, it's essential to capture critical metrics beyond just lead and cycle times. This includes throughput (work quantity delivered in a specific timeframe), Work in…

Application Adapter Design Pattern

Some legacy applications often communicate messages in proprietary formats, or messages the Receiver application needs to translate to make sense of. EDIFACT, X12 are common formats that often require translation/transformation.…

Event-driven Architecture using C# Observer Pattern

The Observer design pattern is a useful pattern when combined with Event-driven architectures to create reactive systems. A source system emits a state change; this change is observed by methods…

Connect to the Microsoft Dataverse via Databricks & Web API

It’s not possible to connect to the Microsoft Dataverse directly in Databricks. Some options include ingesting the Dataverse tables into Azure Data Lake and then retrieving them from inside a…

Azure Data Factory Partition Performance

There are various optimisation techniques available during the Dataflow Sink stage, in this post, I'm going to present some performance test results using various partition models. In this post, I…

Interface Definition Document

In this post, I’ve provided a sample Interface Definition Document.

Restrict Access to VM Applications by IP

For those that are unaware, a low-cost solution to hosting applications in Azure is to host them in Linux Ubuntu. I’ve been asked how to secure the apps at different…

Avro, Parquet, JSON, ORC Compression using ADF

The source file is a 126.48 MB CSV file which contains Postcodes and Local Authority data. In this post, I’ll be testing the file size of a transformation output to…

EIP Event-driven Message Types

In Enterprise Integrations there are many types of messages that a Sender will send to a Receiver. These can broadly be categorised as Command, Event and Query messages. In most…