“BETTER BE LIGHT.”
The basic principle of Microservice architecture is: “Light and agile is good and efficient”.
It drove all efforts to streamline the choreography solutions described in Part 3 of this series. It also explains why many Microservice pioneers frowned upon using BPM engines to upgrade Microservice systems: too heavyweight. Too much initial effort. Tedious launching. Everything Microservices sould not be. That´s what they said back then. Now they have changed their tunes, and with good reason.
It quickly became clear that orchestrated systems with centralized control aren´t more complex, cumbersome and difficult than choreographed solutions – on the contrary: Orchestrators literally sort out the inherent problems of choreographed systems:
Business processes no longer disappear in abstract codes. All parameters are monitored centrally, in real time, visualized and modeled in the BPMN context. Logical errors are obvious at a glance.
Processing timeouts and similar errors happens automatically.
The visualization makes the processes transparent for all stakeholders.
The current state of the art recommends choreographed systems only for simple standard processes, with the caveat that implementing additional new, more complex processes will create exponentially growing problems for the systems and their operators. In this context, it is also worth mentioning that it can make sense to mix choreography and orchestration in the same system.
The more so because BPM engines do not necessarily have to be heavyweight monolithic central authorities. On the contrary – it can make sense to integrate a trimmed-down engine directly into an individual Microservice. For example, a payment service in the context of an order service could use an on-board BPM engine to control the payment process.
Leading Microservice pioneers like Netflix have long recognized the value of these orchestrators and have created their own streamlined BPM engines. Conductor is a famous example.
Other new lightweight BPM engines like Camunda or Zeebe are now freely available. They run as an embedded part of a Microservice and can also be used in the cloud.
The growing popularity of such solutions has led to changes in licensing models, with fees calculated by transaction rates instead of counting servers or CPUs.
We will discuss the anatomy and benefits of a typical streamlined BPM engine in the next and final part of our blog series.