-Zeebe is workflow engine for microservices orchestration developed by Camunda and made publicly available in late 2019.
-Wait… what ?
-Let’s define first what a workflow engine is, and what the concept of microservices orchestration is all about.
Workflow engine
Software application that manages business processes. It manages what activities should take place after the completion of other activities i.e. sequential flow of activities. This applies not only to activities but to conditions and messages that may occur inside or outside the process being managed, in a sentence, it controls the flow of information, activities and events. A workflow is then a sequence of tasks that accomplish one goal.
Microservices orchestration
This concept has to do with how microservices interact with each other. It is a design pattern where you have one microservice through which every other microservice communicates. Like a conductor in the opera. Every microservice just looks at and communicates with this “conductor” microservice. E.g. If microservice “A” needs something from “B”, it asks the “conductor” service: Get me some info from “B”. Orchestration uses a centralized approach to execute the decisions and it is more crystal clear and has better control.
Where do the two concepts meet?
Orchestration of microservices is useful if you have the following two goals in mind:
- All activities have to be done in sequential fashion
- Having the ability to see the process end-to-end flow in both, design and run time
These two goals are totally in sync with what a workflow does.
Zeebe in detail
Zeebe is free and open source. It provides:
- Visibility. See end-to-end
- Orchestration. By pushing commands as events that can be consumed by 1 or n microservices.
- Monitoring capabilities. Like timing, retries, escalation, etc.
Zeebe was designed with the following characteristics in mind:
- Horizontal scalability
- Fault tolerance
- Message driven architecture
- Publish-subscribe interaction model
- Visual workflows modeled in BPMN 2.0 (there are limited capabilities)
Similar products on the market
In order to imagine and visualize the dimension of an applications of this kind, let’s say that, microservice orchestration through a workflow is done already by big players in different industries, examples are:
Netflix https://netflix.github.io/conductor/
Before you go on, you need to know that most existing products have more features than Zeebe. The logic here is for Zeebe to be lightweight, simple, and focused on scalability.
Try it out
If you want to know more about Zeebe, the following resources are available:
Download and install: https://docs.zeebe.io/introduction/install.html
Getting started tutorial, step by step: https://docs.zeebe.io/getting-started/
If you have problems or want to deepen even know more, go to:
Website: https://zeebe.io/
Community: https://zeebe.io/community/
Forum: https://forum.zeebe.io/
Blog: https://zeebe.io/blog/
Docs: https://docs.zeebe.io/