Camunda Community vs Enterprise - which version to choose?
Anyone who intends to get serious about automating processes using Camunda will one day face a dilemma: which version to choose – the Community or the Enterprise one?The former does not seem to generate costs, but it does not provide the full set of functionalities either. Enterprise, on the other hand, although constantly being developed and improved, depending on the number of processes, decisions made and end users, may be a more costly project. In an ideal world where budget issues do not matter, the answer is clear – choose Enterprise.But what to base your decision on in other cases?
In this article:
- What do both versions of Camunda offer?
- Cockpit functionalities crucial for production applications
- REST API capabilities
- Additional Enterprise functionalities
- The advantages developers see in the Enterprise version/a>
- Data analysis and process optimization in the Enterprise Edition
- Alerts to help you monitor the process
- Expanded collaboration possibilities on diagrams
- Stability and security with the Enterprise version
- How much does the Camunda Enterprise cost?
- So which version should I choose?
What do both versions of Camunda offer?
It is worth knowing that the Camunda engine itself works the same in both versions and offers the same possibilities. The differences – about which we’ll talk later – lie mainly in the list of operations that are made available to users of Camunda's web applications.
In both Community and Enterprise, you can:
- create process diagrams and DMN tables in Camunda Modeler and Cawemo,
- collaborate on diagrams and add comments and specifications to them in Cawemo,
- export and import processes and DMNs in Cawemo,
- deploy processes from Camunda Modeler,
- view and delete deployments in Cockpit,
- see the status of currently running processes via Cockpit,
- search for instances within one process definition based on basic criteria (business key, process variables, activity id, etc.) in Cockpit,
- edit and delete process variables in Cockpit,
- run processes from the Tasklist,
- create filters for tasks in the Tasklist,
- claim tasks in the Tasklist and perform them,
- manage users and resource permissions in the Admin application.
Cockpit functionalities crucial for production applications
Cockpit also offers special functions in both versions which are particularly useful for maintaining production applications:
- the suspension of running processes – from the level of process definition or an individual instance, as well as their activation,
- retrying a job that ended with an error.
REST API capabilities
In addition to the above-mentioned functionalities of web applications, many actions are available via REST API (including those that are not available in the Community version of the Camunda UI), including:
- asynchronous operations in batches (suspending and activating processes, retrying executions of jobs),
- migration of processes between versions,
- instance modification,
- restarting processes,
- retrieving information about the history of completed instances,
- creating deployments.
Additional Enterprise functionalities
The main differences between the versions are visible in the functionalities provided by the Cockpit and in the possibilities of processes monitoring, reporting and optimization. The usefulness of each option depends on the project role, so it is difficult to say which one is most valuable.
The advantages developers see in the Enterprise version
For developers and production teams, the most important Cockpit features of Camunda Enterprise are:
- availability of the history of completed processes with heatmaps, which allows you to quickly check what happened in the process and identify the most frequently used paths,
- searching for processes by advanced criteria and saving the results as filters, especially important in maintaining a large number of processes and with repetitive queries,
- searching for tasks, important in the case of a large number of simultaneously active tasks,
- modifying process instances, thanks to which you can, among other things, move tokens or cancel individual activities (useful when you need to renew the execution of the activity or change the process path),
- process migration visualization – in a version for a single process or as a batch, which is particularly useful in the case of significant technical or business changes in processes,
- batch job retries needed especially if incidents occur in a large number of processes,
- restarting the processes, necessary in the case of unique business identifiers (when you cannot simply start a new instance),
- editing DMN decision tables, useful especially if business rules change frequently.
The Cockpit also has the following convenient options:
- creating process and DMN deployments,
- access to the metrics of processes, jobs and decisions,
- displaying documentation of elements.
If you need to communicate with legacy systems without API, Camunda RPA Bridge is also useful for communication with bots (UiPath and Automation Anywhere are currently supported).
Data analysis and process optimization in the Enterprise Edition
The opportunities offered by Optimize will be invaluable especially to a business client. Thanks to them, without involving the development team, the client has access to aggregated historical data and information about running processes (in near real-time). The client can generate reports and dashboards by himself and analyze the data, in terms of e.g.:
- number of processes performed per time unit,
- the average time needed to complete the process,
- average time spent on performing specific activities/tasks,
- achieving business goals (e.g. time to complete a task below the set value),
- identification of anomalies in the task execution time.
Alerts to help you monitor the process
Additionally, the Enterprise version allows the user to configure alerts when the defined reports do not meet certain conditions, e.g. the time of execution of a specific task does not fall within a given time interval. This allows the user to monitor key business areas and react quickly in the event of delays.
Expanded collaboration possibilities on diagrams
In the business analysis phase (but also later), developers and business departments will surely appreciate the capabilities of Cawemo. In the Community version, basic possibilities of cooperation over processes and decision tables are available. The Enterprise edition also offers the possibility of:
- creating templates for tasks (external service tasks) and RPA,
- synchronizing with the modeler and Camunda engine,
- visually comparing successive versions of the diagram.
Stability and security with the Enterprise version
An additional advantage of Camunda Enterprise is the greater stability of the platform. The license grants access to additional versions of the application containing current patches. This is especially important in the case of production systems, as it increases their security. The license also guarantees support – depending on the contract, technical support is available at least 8x5, as well as a specified number of hours for consultations with Camunda representatives in case of more difficult problems.
How much does the Camunda Enterprise cost?
Camunda's licensing model is based on three values:
- number of main process instances (root process instances),
- number of decisions (decision instances),
- the number of unique users performing tasks (human task users)
Number of process instances
The number of process instances is understood as the number of processes started during the year. Only the main process instances count – if other processes are called within one model (as call activity), they are not included in the number of instances.How does it look in practice? Suppose the main process is responsible for creating an order in some system. As part of this process, additional services are ordered (insurance, notification of posting, additional delivery attempts, etc.), which was modeled as a call activity. If an average of 500 orders are created per year, the number of process instances to be paid for will also be 500, regardless of the number of additional services ordered.
Number of decisions
The number of decisions is the number of executions of the decision table. They can be called from processes or independently of them - e.g. when used to make a decision about assigning a task to a user based on specific business rules.For example, if there is a decision table in the process definition that is executed each time the process is started, then for 100 processes the table will also be called 100 times and you have to pay for this number of decisions.
Number of users
The number of users performing tasks in practice equals the number of unique strings in the table storing data responsible for assigning a user to a given task.So, if there are 10 tasks in a process, but they always go to the same user, the number of unique users for the license cost should be counted as 1, regardless of the number of started processes.In some applications, despite the use of user tasks in the process, the cost of the license will not increase. If the mechanism for assigning users to tasks (assign, claim or delegate actions) is not used, and user tasks are closed by an external frontend application communicating with Camunda via REST API (excluding the built-in Tasklist), the number of unique users is assumed to be zero.It is also worth mentioning that the Camunda license is granted for a defined range of applications, the so-called solution scope. It should be understood as a general description of the business area in which the licensed Camunda instance will be used. Additional licenses may be needed when the instance use expands.
So which version should I choose?
Of course, there is no clear-cut answer to this question – to choose the Camunda version best suited to your project, you need to assess which functionalities are most important to you, and answer a number of additional questions:
- What is the status of the project? Proof of Concept (PoC)? In the planning phase? Development? In production?
- Does the Camunda-based project cover a key business area?
- In a given Camunda application, is generating reports and monitoring processes in real time (execution time, KPI, SLA etc.) a high priority?
- How many will the estimated number of processes per year be? How many decisions will be made and how many users will be using Tasklist?
- What is the project budget?
- How many people does the application team consist of and what is their experience with Camunda? Are there separate production teams?
For production applications belonging to a key business area, I would definitely choose Camunda Enterprise. Replicating its functionality even partially is extremely time-consuming and labour-intensive, such that the cost should include the subsequent maintenance of such tailor-made solutions. The functionality of batch modification of processes in production practice is used very often, and reporting and monitoring important areas is necessary to ensure efficient processes automation.In the case of lower budgets, I would suggest creating a PoC at the lowest licensing level to demonstrate the capabilities of the Enterprise to the client. I would also consider splitting the project – if possible – into several engine instances, with the most important processes on the Enterprise version and the less important ones on the Community.If the project is still in the planning or development phase and does not concern a significant business area, Camunda in the Community version will probably be a sufficient solution. The main obstacle will probably be the lack of an easily accessible process history, but if the team consists of experienced programmers, it will not pose a significant obstacle. The composition of the team should also be considered in terms of subsequent maintenance and development of the application.In the case of small, inexperienced teams, Camunda Enterprise works better – monitoring processes and fixing errors in them on the Community version is definitely more difficult and less efficient.