January 6th, 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.
October 12th, 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…
September 16th, 2018
Starting with version 2.2, ASP.Net Core will make it easier to implement monitoring endpoints that can be used by a Docker HEALTHCHECK command.
August 12th, 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.
June 3rd, 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.
May 8th, 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.
March 20th, 2018
If you find REST APIs difficult to design, develop and scale, then your experience with GraphQL is not going to be any easier.
March 9th, 2018
One of the main benefits of microservices is that they reduce the cost of change. The problem is that you need to make a significant up-front investment to realise this saving. Your first few microservices are more likely to be an expensive and potentially painful undertaking.
December 13th, 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.
December 3rd, 2017
Azure’s Container Instances provides an easy and quick way to run Docker images without having to learn the various complexities of orchestration platforms such as Kubernetes.
November 4th, 2017
An event-driven architecture can give rise to complex chains of events that are difficult to manage. These problems can be mitigated through careful design rather than resorting to shared state databases or workflow engines.
October 3rd, 2017
The serverless promise of unlimited scale-out can be a curse when your downstream processes and data stores have strict limits on throughput. With Azure Functions your options for mitigating this are limited, though the new durable functions may provide an answer…
August 14th, 2017
Swagger enables the same kind of automated discovery and integration that WSDL was invented to support. In doing so it undermines the design of REST APIs and doesn’t even provide adequate documentation.
July 5th, 2017
You can now write compiled Azure functions in C# with full unit test coverage, though there are a few obstacles along the way.
June 4th, 2017
One of the more enduring problems with service integration is managing change in service interfaces. Consumer-driven contracts can help to detect breaking changes, but this visibility comes at a price.