6 October 2019
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.
22 July 2019
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?
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.
15 May 2019
There is often too much focus on the research aspects of machine learning. When you’re putting models into production, the maths is only part of the system.
14 April 2019
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.
24 February 2019
Standardisation does have a place, but it should be reserved for infrastructure and collaboration rather than languages and tools.
6 January 2019
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.
27 November 2018
ArchUnit is a java library that provides a fluent API for creating self-testing architectures via unit tests. A similar library can be written for .Net Standard that acts on compiled assemblies rather than raw code.
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…
12 August 2018
Twelve factor apps provide a methodology for building apps that are optimised for modern cloud environments. It’s only been achievable in the Microsoft world since the advent of .Net Core.
29 July 2018
It’s easy to get caught up in unrealistic notions that you can re-write a legacy system or gradually decompose it. There are other, more pragmatic approaches that can help to modernise architectures and enable new development.
10 July 2018
Microsoft have added a Kafka façade to Azure Event Hubs, presumably in the hope of luring Kafka users onto its platform. This makes sense as the platforms have a lot in common, though there are some missing Kafka features that may prove critical.
18 June 2018
Fitness functions can be a useful metaphor for guiding an emerging architecture, but you do have to invest in making sure they describe the right outcome.
3 June 2018
Not only are layered applications difficult to maintain, but the common abstractions they are built on tend to give rise to inflexible implementations that have serious scalability challenges.
8 May 2018
You’re rarely given the opportunity to focus on transitioning an architecture to the exclusion of everything else. You may have to get used to the idea that decomposing a monolith is a direction of travel rather than a clear destination.