Analogies are risky things, there’s always a chance that if you stretch one too far, it breaks and disproves the point you’re trying to make. What’s even worse is when an analogy needs to be explained, and therefore the analogy is pointless. And here with orchestration and choreography we have a case in point, not only does the analogy need explanation but it completely misses the point.

By training, I’m a musician who studied orchestration as part of my undergraduate degree. Orchestration is all about how you choose different instruments for a large musical work, and how you write that down – notation. I was watching BBC’s Strictly Come Dancing last night and it occurred to me that choreography is exactly the same. Choreography is about selecting dancers, deciding their movements and writing that down – dance notation. Just to prove the point, dance notation and musical notation are often written down on the same sheet.

So, enough of the rant, orchestration and choreography are essentially the same thing applied to different art forms and so give us no insight as the the problem we are trying to understand.
Let’s try another which I think is more appropriate to the essence of the issue behind the orchestration/choreography debate; fully composed music and improvisation. (I could have used dance here, but I’m more familiar with music, so I’ll stick with music.)
So, what’s the difference? Composed music has every note and nuance written down before you start – the individual musician has a tiny degree of latitude, but essentially most performances will be the same. For larger groups of musicians (e.g. an orchestra or a big band) co-ordination becomes an issue and a co-ordinating role is needed – and the addition of a conductor is necessary. The conductor is essential to start and stop, to make tempo changes and especially to ensure that everyone has a single reference point to which they can synchronise. Conductors will obviously claim they do a lot more, but in most ensembles, time-keeping is the predominant role.

Improvisation, on the other hand is a much freer form. Individual musicians are free to choose the notes and rhythms they play and every performance will be different – to different degrees depending on the musical genre. The best and most widely accepted improvisation form is Jazz, and if we look at Jazz in more detail, then we can glean some important insight from the analogy.
The first thing to note is that even the most improvisational Jazz will have a strong sense of a single beat. The interpretation of that beat may include complex syncopation or may focus accents on different beats (this is one of the key differentiators of Jazz styles – see this great video from Nahre Sol on Bebop) but there will always be a single beat that all the players follow – almost always set by the drummer. Those beats will fit into a larger musical structure which is always pretty strictly adhered to – this is the musical form.
The second aspect is that although individual notes may be selected by the individual musician, the tonality of the music together with the chord patterns are well defined before you start and coordinated with the musical form. Of course as this is improvised, the individual musicians will embellish and extend the harmonies, but will stick to the same overall pattern. There’s a great video on seven levels of embellishment of harmony by Adam Neely.
So, we see here that that even in (most) improvisational music there is a firm pre-agreed beat, form, harmony and harmonic language. It’s definitely not a free-for all.

A second point to note is that improvised Jazz is almost always performed by small groups – typically 1-7 players. If the group is any larger the contradictions in the interpretations accumulate to become a cacophony rather than music. It’s interesting to note that when you move up a step to aleatoric music (music defined by randomness) and groups increase in size, then there is an increasing need for co-ordination. If you want your definition of music to be challenged, try this performance of John Cage’s Radio Music – including a co-ordinating conductor.
This leads us to a second observation – the larger the number of participants, the greater the need for an agreed musical form and a co-ordinating role. Indeed, at large scale, music essentially breaks down into chaos without these strictures.
Extending the Analogy to Microservices
So, let’s recap. Each musician can be seen as the equivalent of an instance of a micro-service. Each micro-service has a specific job to do, and within that specification, they are free to make individual choices – I guess musical notation is sort of analogous to an API specification.
But what takes the place of the musical form – the pre-agreed beat, musical form and harmonic language. To be this is the over-arching Business Process. While the microservices are all doing their improvisation stuff, they all have to join together under the overall framework of an end-to-end business process.
And this is where microservices today typically face challenge. When I work with business users, the language is all about end-to-end process – whether that’s a customer journey, or a business process, business users want the same thing – a firmly defined end-to-end process that can also be flexible.
The requirement is almost always not optional – in many industries, regulation requires auditability and full traceability – for example in financial services and supply chain where provenance in mandatory (think counterfeit parts in your aero engine).
Unfortunately, today, most microservice architectures fail to deliver this essential business requirement as they, in their rush to innovation and accelerated delivery, failed to address these fundamentally important requirements. In many cases microservices seem to assume that business processes are “emergent” – I.e. they arise from the indeterminate interactions of microservices – this is clearly not going to be sufficient.
Just like in our musical analogy, microservice architectures need a framework to support the needs end-to-end business process to ensure that processes start, progress correctly (despite what Thomas Beecham might say) and conclude effectively.
But again, this doesn’t mean that we need a central orchestration component. Conductors don’t play every instrument, and players do not ask permission of the conductor for every note they play – they tend to check at critical moments. Players spend most of their time looking at each other – eye contact is essential, with smiles and nods being used to co-ordinate between the players so there is a great deal of direct inter-process communication and rather less with the central conductor.
But equally, the communication is not all one-way. The conductor listens to the individual players and listens to how they interact. The conductor may tell one group of players to play quieter so that other can be heard (are you listening, trombones?) and there is constant interaction between the players and the conductor
So, let’s bring this together into some conclusions.
- Even in microservice architectures, we need well-defined and broadly understood business processes to provide the large scale process framework
- Each micro-service will have it’s own part to play in the broad framework – as defined by its specification
- Micro-services can improvise with their design specification, but they still have to adhere to a set of shared guidelines and a common language
- We need microservices to be able to directly communicate with each other, but they must also make sure they are always aligned with the co-ordinator
- The co-ordinator role does not do the work nor is it the conduit for all communication – it is more the co-ordination point, but with full visibility of everything that is happening.
I hope you’ve enjoyed my musical analogy – I firmly believe that music has a lot to offer in how we think about IT problems, and there are many more analogies that can help us find innovative solutions to complex challenges.