18 November 2017
Technical debt may be a useful metaphor for describing how bad code design undermines productivity to non-technical audiences, but it does not help in understanding the longer term problems that affect code bases.
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.
12 October 2017
The Scaled Agile Framework talks about an “architectural runway” as the main deliverable for agile architecture, yet it’s vague on the detail of what this looks like.
3 October 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…
20 September 2017
Agile teams spend time modelling software whether they are prepared to admit it or not. Adopting a technique like Domain Driven Design can help to make this more efficient, particularly at scale.
3 September 2017
Although .Net Core does not directly support creating Windows Services there are several different ways of creating applications that can be registered and run as services.
14 August 2017
Open API and Swagger enable the same kind of automated discovery and integration that WSDL and SOAP were invented to support. In doing so they undermine the design of REST APIs and don’t even provide adequate documentation.
22 July 2017
Azure Table Storage can be tuned for high throughput workloads, but you’ll probably be faced with some difficult trade-offs.
19 June 2017
Refactoring describes a very specific and controlled technique for improving code. The problem is that it is often used to describe wholesale changes to code bases that should be treated as a rewrite.
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.
26 May 2017
Recently released toolsets for AWS Lambda and Azure Functions are finally making serverless application development available to C# developers.
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?
12 April 2017
Using Docker with .Net Core is initially straightforward, but to get beyond basic image building you will need to handle more than the simple scenarios demonstrated in quick-start guides.
3 April 2017
Governance doesn’t have to be all about byzantine process and suffocating approval boards. It can be used to provide clear permission for teams to innovate.
10 March 2017
Although .Net Standard does provide a mechanism for sharing assemblies between .Net Core and .Net Framework applications, as ever, you’re still very much constrained by your dependencies.