I am conducting a comparative study on Temporal and Camunda 8. While a direct one-to-one comparison may not be feasible due to the differences in these tools, I would like to understand what makes Temporal better than Camunda 8. I have reviewed some older threads, but both tools have matured with numerous added features. Can someone please help me with a comparative study between the two?
Temporal.io and Camunda 8 are both popular workflow automation platforms, but there are several key differences between them:
Workflow Models: Camunda 8 uses the Business Process Model and Notation (BPMN) standard to define workflows. It provides a visual designer with drag-and-drop capabilities to create complex workflow models. Temporal.io, on the other hand, uses its own programming model to define workflows using code. It offers a software development kit (SDK) with support for multiple programming languages.
Workflow Execution Model: Camunda 8 follows a traditional client-server model where workflow models are executed on a centralized server. Clients interact with the server using REST APIs or other integration methods. Temporal.io, in contrast, uses a decentralized and distributed workflow execution model. It operates by running worker processes that can be distributed across multiple machines or even geographically dispersed locations.
Event-driven Architecture: Temporal.io focuses on an event-driven programming model, where workflows can be triggered by external events. It provides event listeners and timers as native features, allowing developers to build reactive workflows. Camunda 8 also supports event-driven workflows but places less emphasis on it compared to Temporal.io.
Scalability: Temporal.io is designed to handle large-scale workflows requiring high scalability and fault-tolerance. It achieves this through its decentralized architecture, allowing it to scale horizontally by adding more workers. Camunda 8, on the other hand, is primarily used in a centralized setting, although it can also scale horizontally by deploying multiple instances.
Community and Ecosystem: Camunda has been around significantly longer and has a larger and more mature community and ecosystem. It has a wide range of integrations with other systems and tools, including support for Enterprise Service Bus (ESB) and Business Process Execution Language (BPEL). Temporal.io is a relatively newer platform and its ecosystem is still growing.
Commercial Support: Both Temporal.io and Camunda 8 offer commercial versions and provide professional support and consulting services. However, Camunda has been in the market for a longer time and has a more established reputation in terms of enterprise-grade support.
I did a couple of projects with Camunda 8 and wanted to correct the AI’s answer a little.
Here are some general considerations which I shared in this thread:
First of all the notation BPMN is standardised. Hence you have access to a variety of workflow engines which support the notation. It’s using XML, but you will rarely get exposed to it.
To me, Camunda focusses on the Business & IT alignment. So it is great if you have a real business process coming from subject matter experts. The notation is easily understandable for non-IT people as well. This can make requirements engineering a little easier. Camunda also provides some out of the box connectors (e.g. to Kafka or REST) as well as a decision engine which is capable of executing the DMN standard.
Temporal, on the other side is more focussed on a technical audience. Solving the same problem of orchestration but without involving subject matter experts which are not in IT.
Last but not least Camunda features some components which are closed source. Only the workflow-engine itself “Zeebe” is source available. Temporal has an MIT license.
Now to the AI response:
2. Camunda 8 is usually used as a remote workflow engine. The engine itself “Zeebe” is decentralised and horizontally scalable. It can also be deployed geo-redundant.
3. Timers, inbound events also exist in Camunda. They have also out of the box connectors for inbound events in place.
4. Camunda is also quite well suited for high load scenarios.
5. BPEL is long dead. Camunda does not support this anymore.
Hopefully that helped!
I disagree with the community comment the AI made. The Camunda forum stats show that its community is much less active than the Temporal one.
Even silly metrics like GitHub stars are below Temporal ones.
When will Temporal get a visual flowchart type capability? Without that the alignment between tech and business is hard. As is observabilitu or what exactly went wrong where unless also layered with something like dyna or datadog.
The majority of workflow complexity is not in the sequencing of activities but in the data, expressions, and input/output types. Flowchart completely hides all this complexity. My experience is that engineers hate UI-based languages for anything nontrivial.
So we are not planning to create a general purpose configuration language for Temporal. At the same time it is very common to implement use case specific DSLs on top of Temporal.