Zeebe is currently in a state that we call a “developer preview”. This means that:
- Zeebe is under heavy development, and core components might still be refactored
- Zeebe APIs are not considered to be stable
- The initial scope of the system has not been completely developed yet
- Zeebe is not currently intended to be used in production
In this roadmap, we provide some insight into what we’re currently working on. We’ll update this page at the beginning of each quarter.
It’s important to say that this roadmap is not binding, and it’s possible that features listed here will be delayed or put on hold indefinitely–though we’ll make a note when this happens. We’ll also indicate when a feature has been added to an official Zeebe release.
In the future, we’ll include a longer-term roadmap here.
- Make it possible for a Zeebe cluster to run forever: To enable a long-running cluster, Zeebe will need to delete data no longer required for execution of active workflow instances.
- Only keep a certain number of snapshots during runtime; delete older snapshots
- Delete log blocks older than the lowest snapshot / exporter position
- Ensure that a Zeebe cluster is fault tolerant: To prepare Zeebe for production-readiness, we need to harden and extensively test its fault tolerance characteristics.
- A Zeebe cluster can be restarted completely
- A node can be restarted during runtime (for example, to support rolling upgrades)
- A cluster can heal from a network partition
- A node can rejoin after full data loss
- Provide user guidelines for Zeebe production usage: To ensure users can confidently run Zeebe in production, we’ll improve the documentation and add new entries.
- Create a deployment guide (e.g. with Helm chart) for deploying Zeebe on Kubernetes
- Create a Zeebe “production readiness checklist” so that users can prepare to manage a Zeebe cluster in production
- BPMN support:
- Payload concept to support scopes and concurrency: Use a scope-based variable store, which makes it possible to propagate payload changes in scope hierarchy. (Completed in Zeebe 0.16)
- Improve error messaging from user perspective: Improve visibility and details of user errors, which allow better understanding and handling of error cases. (Completed in Zeebe 0.15)
- Inital infrastructure changes to improve stability: Initiate required changes to improve the cluster stability in the upcoming releases, particularly around cluster membership, failure detection and replication. (Incomplete - To Be Continued in Q2-2019)
- BPMN support:
- Intermediate timer event (Completed in Zeebe 0.13)
- Event-based gateway (Completed in Zeebe 0.14)
- Message/Timer interrupting boundary event (Completed in Zeebe 0.14)
- Message/Timer non-interrupting boundary event (Incomplete - To Be Continued in Q1-2019)
- Message/Timer start event (Incomplete - To Be Continued in Q1-2019)
- Payload concept to support scopes and concurrency: Use a scope-based variable store, which makes it possible to propagate payload changes in scope hierarchy. (Incomplete - To Be Continued in Q1-2019)
- Decouple incident resolution from state changes: Decouple incident resolution through state updates from continuation of workflow instance execution. (Completed in Zeebe 0.14)
- Improved error handling and reporting: Provide better error propagation for client and operations tools by introducing error types and supporting custom job worker error messages. (Job error message completed in Zeebe 0.14)
- BPMN support:
- Scalable state management based on RocksDB: State of active workflow instances is stored in RocksDB, a widely-used, embeddable, and fast key-value store that can spill to disk when necessary. (Completed in Zeebe 0.12)
- Message correlation with TTL support: Zeebe will correlate a message with one or more workflow instances based on a shared correlation key. The user can define a message time-to-live (TTL), and Zeebe will “buffer” a message and correlate during this TTL. (Completed in Zeebe 0.12)
- Exporter API to stream data out of Zeebe: Zeebe will manage data for the state of active workflow instances, and users can choose to stream historic workflow data into a storage system of their choice. Exporters make it possible to create an audit log of all workflow events for future analysis. (Completed in Zeebe 0.12)
- Switch to gRPC client protocol and gateway: This change makes it easier to both create and maintain Zeebe clients in any gRPC-supported programming language. The gateway will make it easier to deploy and secure a Zeebe cluster. (Completed in Zeebe 0.12)
What’s not on this page right now is a summary of the features we have planned for Zeebe beyond the current quarter. And the quarterly roadmaps don’t explicitly answer questions such as:
- When will Zeebe be considered “production-ready”, and what does “production-ready” mean in terms of features and functionality?
- What are some of the addressable use cases we have in mind for Zeebe over the next six months or the next year?
Stay tuned: we’ll be ready to share more with you soon.
Last updated: April 1, 2019