Integration

Orchestration vs choreography for microservice workflows

5 December 2021

Orchestration and choreography can complement each other. There doesn’t have to be an exclusive choice between two opposing styles.

When is an event not an event?

8 February 2020

Message design in an event-driven architecture can be quite nuanced, especially if you want to achieve any of the benefits of loose coupling that they can be associated with.

When should you write your own message endpoint library?

14 December 2019

Enterprise messaging patterns are complex beasts that often warrant a common implementation across your endpoints. Should you ever be tempted to roll your own?

Using Azure Data Factory with the Application Insights REST API

28 October 2019

Persisting aggregates of AppInsights data in a warehouse can be a useful means of distributing summary information or retaining monitoring data over the long term. You can automate the harvesting of these aggregates using Azure Data Factory.

Azure Data Factory and the myth of the code-free data warehouse

4 July 2019

Azure Data Factory has been much improved with the addition of data flows, but it suffers from some familiar integration platform shortcomings. The claim of enabling a “code free” warehouse may be pushing things a bit.

Messaging anti-patterns in event-driven architecture

12 October 2018

Event-driven integration can improve the scalability, resilience and scalability of distributed applications… but this does depend on the design of your event messages…

Entity services: when microservices are worse than monoliths

13 December 2017

Finely-grained, entity-based services seem to be advocated by some pretty authoritative sources. This is unfortunate as they are something of an anti-pattern that can undermine many of the benefits of decomposing an monolith into micoservices.

API management and the return of the enterprise service bus

16 May 2017

No self-respecting integration platform is complete without an API management story these days. Is this just a RESTful return of the enterprise service bus?

Handling Protocol Buffers backwards compatibility between versions 2 and 3 using C#

13 November 2016

You will inevitably be pushed towards upgrading your protocol buffer messages to Proto3, particularly if you want a client that supports .Net Standard that .Net Core. This can be done, but there are a couple of speed bumps along the way.

PolyBase import and export between Azure SQL Data Warehouse and Blob Storage

13 August 2016

SQL Server Polybase makes it easy to load data into Azure SQL Data Warehouse by letting you define groups of files held in Azure blob storage as relational data tables.

API gateways and the dangers of creeping middleware scope

23 March 2016

An API gateway can solve many generic problems in an API infrastructure, but you do need to define a clear remit and protect against creeping scope.

Data design for event-driven architecture: autonomy, encapsulation and ordering

1 February 2016

When you’re implementing an event-driven architecture, the design of your events is absolutely critical to realize the benefits of loose coupling.

Informatica Cloud development best practices

18 January 2016

Informatica Cloud is a powerful environment but a pretty unforgiving one. Here are some best practices that I have picked up from implementing the platform.

Pragmatic REST: APIs without hypermedia and HATEOAS

12 December 2015

If you’re not using HATEAOS then you’re not using REST. That’s true enough, but in many cases adopting HATEOAS doesn’t deliver much value beyond architectural purity.

Comparing nServiceBus and MassTransit: Do we still need .Net integration frameworks?

26 November 2015

Both nServiceBus and Mass Transit plugged an important gap in Microsoft’s integration landscape, but do they have a role in a future that is likely to be dominated by diverse technologies and autonomous agile teams?