November 17th, 2019

There’s more to publishing external APIs than choosing an API management vendor

Publishing a public API involves many considerations, from billing and metering through to documentation and on-boarding. These are likely to be addressed through a collection of solutions rather than a single all-singing, all-dancing API management platform.

October 28th, 2019

Using Azure Data Factory with the Application Insights REST API

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.

October 6th, 2019

Splitting up shared databases

The problem of shared databases is not confined to monolithic systems. A big store of shared state is the guilty secret lurking in many a microservice architecture.

September 9th, 2019

Why trunk-based development isn’t for everybody

There’s more to adopting trunk-based development than deciding to shun long-lived branches. You need a confident development team, a loosely coupled code base and efficient build automation to make it stick.

August 12th, 2019

Agile metrics. You get what you measure. In a bad way.

Agile process tends not to generate the kind of metrics that management teams feed on. Should this be a problem?

July 22nd, 2019

Does “code quality” matter? Using SonarQube with legacy code bases

Attempts at SonarQube adoption often fail to gain traction with development teams. The concern is that it presents a view of “code quality” that is not relevant to the problems teams face on a day-to-day basis. Does it measure the wrong thing?

July 4th, 2019

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

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.

June 8th, 2019

The case against maturity models

Maturity models are a popular way of looking at development challenges. The problem is that they are an arbitrary and inflexible tool and they tend to encourage the wrong mindset.

April 21st, 2019

Optimizing Performance of the Azure Service Bus .Net Standard SDK

Microsoft have published advice for maximising performance with Azure Service Bus, but there doesn’t appear to be any explicit advice for optimising the newer .Net Standard based SDK.

April 14th, 2019

Why is loose coupling between services so important?

You can’t eliminate coupling between collaborating services, but you can ensure that it doesn’t prevent you from enjoying the benefits of service-based development.

March 23rd, 2019

Why SAFe can be agile kryptonite

The problem with SAFe is that you can implement it without writing a single unit test or automating a single build…”scaled agile” may be an oxymoron.

March 8th, 2019

Sharing microservices across large organisations

Sharing microservices across organisational boundaries is much harder than it looks. There are technical, operational, organisational and financial issues that need to be considered if you want to be successful.

February 24th, 2019

Should teams choose their own languages and tools?

Standardisation does have a place, but it should be reserved for infrastructure and collaboration rather than languages and tools.

February 9th, 2019

Now that Kubernetes is on Azure, what is Service Fabric for?

There does seem to be growing confusion over what Service Fabric is really for. Is it an orchestrator for microservices? A means of lifting and shifting legacy applications into the cloud? An application development framework?

January 6th, 2019

Finding service boundaries: more than just the bounded context

When you are identifying service boundaries, it’s not enough to consider the domain model alone. There are other, more pragmatic concerns to bear in mind.