13 April 2023
We all agree that engineering enablement is important, but “platform teams” can often be a fig leaf for organisational anti-patterns and overly complex Kubernetes implementations.
26 January 2020
“Serverless” containers could help you to avoid the complexity of Kubernetes, but you may struggle to leverage them for anything beyond small, predictable workloads or batch jobs.
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?
17 November 2019
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.
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.
28 October 2018
Development shops that have invested heavily in WCF have been left high and dry by the emerging .Net Core ecosystem. There are a number of good reasons why WCF for .Net Core is unlikely to make it onto any official roadmaps…
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 September 2018
Service Fabric does support container-based applications, but it still feels more like an application server than a container orchestrator.
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.
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.
20 March 2018
If you find REST APIs difficult to design, develop and scale, then your experience with GraphQL is not going to be any easier.
9 March 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.
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.
4 November 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.
4 June 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.