Architecture

Most software architecture diagrams are useless

11 August 2015

The best architecture diagrams act as a map - if an architect can’t express a system clearly and concisely then they probably don’t understand it properly.

Can cross-cutting concerns really exist between services?

25 July 2015

You might be able to identify cross-cutting concerns in a monolith, but in a service-orientated world they should melt away into specific implementations.

Comparing Gartner’s cloud integration leaders: Informatica, Dell Boomi and Mulesoft

2 July 2015

Gartner’s definition of enterprise integration as a service is so wide that it can be difficult to draw any meaningful comparisons between the platforms in the “leaders” space.

Refactoring monoliths to microservices: the pragmatic reality

5 May 2015

Large scale rewrites of systems are loaded with risk. You can address this by preparing the ground in advance and adopting an incremental approach, but a willingness to be pragmatic is essential.

How big is a microservice?

9 March 2015

We know that micro services are small and focused by design – just how small is this in practice?

Why REST is not a silver bullet for service integration

4 January 2015

REST is sometimes described as the next evolutionary step in service integration. The problem is that REST provides too much of a dumb pipe to support genuinely decoupled, fault-tolerant service integration.

Don’t assume message ordering in Azure Service Bus

16 December 2014

Azure Service Bus can provide first-in-first-out messaging in theory, but this is not the same as guaranteeing the order in which your messages are processed.

The problem with tiered or layered architecture

9 July 2014

An architecture based on tiers or layers is too inflexible to deal with the more flexible demands of modern systems, particularly when you working with high-volume systems that require distributed processing.

Are microservices just “SOA done properly”?

12 June 2014

There’s nothing really new about many of the ideas that underpin microservices. Are they just an agile re-branding of SOA?

Eventual consistency and the trade-offs required by distributed development

4 May 2014

Developers who have been brought up on the certainties of ACID transactions often have a problem trusting eventual consistency. Once you start exploring the requirements in more depth this really so much of a handicap.

Hackable URIs may look nice, but they don’t have much to do with REST and HATEOAS

21 April 2014

Structured and Hackable URIs are a staple part of SEO-friendly websites. Although developers generically expect to see them in HTTP-based APIs, they should be irrelevant to consumers of a fully RESTful API that leverages HATEOAS.

What role do architects have in agile development?

12 March 2014

Agile principals encourage self-organising teams to take ownership of solutions. This doesn’t leave architects out in the cold, but it does require a more engaged role based on influence rather than governance.

Lean development’s “last responsible moment” should address uncertainty, not justify procrastination

21 February 2014

Deferring decisions to the “last responsible moment” can help you to adapt to the inevitable uncertainty that comes with agile development. The risk is that it can become an excuse for uncertainty that undermines development velocity.

Can APX help in developing usable and accessible APIs?

19 October 2013

Given how important APIs have become in driving the reach of applications and services, it’s surprising how little investment is made in the usability of APIs as opposed to UIs. Perhaps the principals and techniques used by UX should be applied to developing more effective APIs…

Memory leaks in .Net applications. Yes - they happen all the time…

23 September 2013

The promise of garbage collection can lull .Net developers into a false sense of security. They are still vulnerable to memory leaks and have a responsibility to keep an eye on what’s going on under the hood.