Teach Your Microservices to Dance

Jonathan Schabowsky from Solace.com focuses on the choreography of stateless event-driven microservices: “Orchestration entails actively controlling all elements and interactions like a conductor directs the musicians of an orchestra, while Choreography entails establishing a pattern or routine that microservices follow as the music plays, without requiring supervision and instructions.” In the decision management world the role of a conductor is usually played by a BPM engine or some kind of ruleflow, while  choreography is implemented with as an event broker when “everything happens in an asynchronous manner, without waiting for a response or worrying about what happens next“. Link
If conducting a symphony is a good metaphor for service orchestration, then a dance team works well for choreography. In a dance team, everyone knows what they’re supposed to be doing, and is able and required to take the right step as each beat hits…

In our analogy, the dancers (microservices) listen to the music (the event broker) and make the necessary moves because they’re all following the same choreography.

Each service is observing its environment, and any other service that subscribes to that channel of messages will know what to do from there.

“The time has passed for a RESTful API-only approach – for architecture that delivers business services faster and more reliably, and that scales with ease, a better approach is to choreograph the microservices interactions. As event-driven architecture and microservices sweep across your software development landscape, a choreographed approach to communication between services will save your company time and money while improving the experience you offer your customers.”

This entry was posted in Architecture, Event-driven, Events, Microservices. Bookmark the permalink.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s