What is our primary use case?
We have integrated Camunda workflow and decision engine into our solution that enables management and digital sales of products – Digital Product Center. We use mainly Camunda Modeler and Camunda Cockpit. For some implementations, we also used Camunda Tasklist.
Camunda is used to model and orchestrate processes. We have developed a module where for selected process steps, the user can build forms that will be used to present or gather data by the end-user.
Another module is responsible for defining the products, with business parameters, that an end-user will be able to buy on the platform. The link between product definition and process definition is also configured.
How has it helped my organization?
This solution did improve our product significantly. We were able to focus on the development of other modules that integrate with Camunda, and together provide a powerful tool for our clients. Using such a solution gives our clients great flexibility and a short time to market for new product implementations.
Next to our product, we are also using the Camunda workflow and decision engine in other custom implementations. Our partners can benefit from open-source, as we did with our product, and thanks to that, we get more custom development contracts.
What is most valuable?
It is very important for us to have an engine that understands the model defined in the modeler, according to BPMN 2.0. This way, we can use the model for business and development purposes without extra workload. We noticed that the project team collaboration is more effective when we use a working process model.
Last but not least I can mention robust and flexible Camunda Rest API Integration, the lightweight process engine can be easily distributed as a microservice, multiple database support, pluggable architecture, and bpmn.io.
What needs improvement?
In the future, I would definitely like to see the process administration (migration, audit, tracking) and process evaluation (optimize) features added to the community edition. Right now, thanks to the pluggable architecture, we have built features that partially substitute the enterprise edition features.
For how long have I used the solution?
We have been using Camunda Community Edition for six years.
What do I think about the stability of the solution?
We didn’t have any problems with the Camunda Community Edition on production installations. We do have experience with process instance volumes starting in hundreds a year and up to 10 million a year.
What do I think about the scalability of the solution?
The Camunda BPMN Platform is very flexible and gives several options to deploy and scale it. Process Engine can be deployed as:
- Embedded process engine – in your custom application (ex. Spring boot application)
- Shared – Camunda deployed in Application Server or Servlet Container (can be a Spring boot app)
- Standalone instance - it can be deployed as a microservice
These options give you a wide range of possibilities to scale your application. From horizontal scaling to vertical. Moreover, it can be deployed on-premises, cloud, or private cloud, including autoscaling mechanisms.
Which solution did I use previously and why did I switch?
We did not use another similar solution but we did have experience with homegrown workflow engines, embedded in business applications.
How was the initial setup?
The initial setup is straightforward, especially with Spring Boot Camunda Starter. The configuration is in application.yml files.
What about the implementation team?
We have an in-house team for deployment and maintenance.
What's my experience with pricing, setup cost, and licensing?
There is an open-source version available, that in its core features (workflow and decision engine, modeler) is exactly the same as in the enterprise version.
My advice is to think about what is most important to your business case and choose the right version. You can always migrate to Enterprise edition.
Which other solutions did I evaluate?
When we started to build Digital Product Center, we evaluated several options available at that time. We decided to use Camunda due to several reasons, but primarily due to the most valuable features mentioned above.
What other advice do I have?
We are using the community edition so it is hard to ask for extra features ;-) I fully understand that if we still want to benefit from the open-source version, there has to be a paid premium version, so that the product can be further developed.
Which deployment model are you using for this solution?
Which version of this solution are you currently using?