What is our primary use case?
It is usually used to orchestrate or automate flows of interaction between our systems. It is basically for integration. For example, for a permit that needs to go through several systems, in Camunda, we have a business process that orchestrates all the steps where the permit needs to be processed. All the systems are notified of this permit, and if there are people who need to interact with a specific permit, they get notified. They can then take action. That's the kind of use case for which we use Camunda in our organization.
For myself, the use case is similar, but it is for invoicing. When we receive an invoice, we need to process it. It goes through the business process. There are a lot of business rules that are applied to it. For example, we will check whether the total amount is balanced with subtotals and tax, and if that's not the case, with Camunda, we can create what's called a user task. It allows us to make an agent to take care of this invoice and fix the data that is related to it. These are the use cases that we are trying to achieve with Camunda. The goal is to clean up the invoice and make sure that the information related to it is correct so that it can be transferred to our ERP to pay suppliers.
It is on-premise, and we've been able to put it in a Docker container. It is deployed in Kubernetes in our organization.
How has it helped my organization?
The main benefit is automation. When you don't have such a tool, you take a business process and try to interpret it in terms of code. You don't have visibility. Camunda helps an organization to see the process. If you see that something is wrong in your process, you can easily adjust it to fix the issues. There is a tool that comes with the Enterprise version of Camunda that allows you to see where most of the tasks or processes are merging in your business process. So, you can update and optimize that. If your organization uses Camunda to automate processes, you can have enormous gains from that.
It is a great tool. It was our choice to use it. It works well as a universal process orchestrator for complex business processes. It allows us to focus on the business process itself. If you want to orchestrate multiple calls to external systems and you want to be sure that all the systems are notified, it works great. My use case was more business-oriented, and it worked great for that. As a universal orchestration tool, it is good and powerful.
It allows business users to create, update, and execute complex workflows. This is important for us. We are more project-oriented, which is also the way most organizations work. We have a lot of developers during the development, but when we reach a point where the solution is built and we are in an operational state, we prefer to have a tool that can be used by the business. They should be able to configure and personalize their solution without requiring developers to do it. They should be flexible and autonomous in doing that, and we in IT don't necessarily have to have developers for that. We can focus on other projects. There are a lot of benefits to working like that.
Its ease of use is important in allowing us to automate processes. For my personal use case, it simulates a type of virtual agent. It allows us to gain greater value because people don't have to work on basic things. Camunda is doing it instead. We are adding great value by using Camunda for small things.
It has the ability to integrate with a variety of automated and digital systems, which, for us, was a prerequisite. It was important because if it could not interact with our system, it would have been hard to automate anything. It would become just like a business process to orchestrate people instead of the system. Therefore, it was important that we have connectivity with other systems. In the version we have, there are no specific connectors. There are more generic connectors, such as HTTP connectors. This might have changed in the new version, but the ability to interact with other systems was a prerequisite for us. If it didn't have this functionality, it wouldn’t have been interesting to use Camunda.
It helps bridge communication gaps between our development and business departments. Because everything is visible, the developers could see exactly what the client is trying to accomplish. To have something that we can see or even touch was interesting. It reduced the gap between two things. Only connectors were a little bit hard to understand for the business people, but developers were there to assist in configuring the connector. They had to work together, but the main focus was on the business, and it helped the developers in understanding what the business was trying to achieve.
Camunda automation has freed up our staff's time to focus on other valued tasks. When we are developing our solution, we have sprints of two weeks. We organize our work for two weeks, and regularly, we have tasks related to the business process and how we need to update it to adjust to some reality. Now, we have people from the business who are doing it, but it is still visible to the developers. It has saved the time of at least one developer for the two weeks because the business is able to work on that alone. We have five or six developers, and now, they can focus on the technical side of the solution.
Before Camunda, we had a lot of people interacting with the invoice daily. We had, for example, an agent who was doing 300 invoice checks and validations per day. With Camunda, those people are now handling only more complex checks and validations. Our processing time for an invoice is reduced from about 30 days to 10 days. There is about 70% saving of time.
What is most valuable?
We can easily define and deploy business processes. Camunda provides the tools that allow business people to design business processes. We don't have to have developers for it. It is so easy to use that our business people can go into the tool and model their business processes. We get time to do other things than just designing business processes. They are called business processes because it is the business that's driving them. So, it is better that they can design them because they're the right people to design them. The tool is great for that.
Transition-wise also, it is good. For example, if you have a defined business process with an invoice, and then for some reason, the business people decide that they want to add the business rules in their business process, they just can take the latest version of the business process, add the business rule, and easily deploy the new process to Camunda. Magically, all the new invoices will go to the new process, and the old ones will remain until all the invoices are processed. It is very easy to transition between all those business process definitions. These are the two most interesting features that Camunda provides.
What needs improvement?
We're trying to put the people from the business to do it. We are using APIs, and we have open APIs to define our APIs and the request-response that each call requires and sends. So, to base the mapping on that, there was nothing to help. I know that with some tools, such as Oracle tools, you can see the input and expected output. With drag and drop, you can take one property from the left and drag it to the right, and it does all the mapping itself, but that's not the case with Camunda. So, for me, this is something that can be improved.
If you stick to the basics, it can be pretty easy. If you need to extend, as we did with custom plugins, this is rather hard because the documentation is not that great. Everything is there. It is an open-source tool, and we had access to classes and documentation, but there was no great explanation on how to use them. There were also not many examples. It was pretty hard to go this way, but if you stick with the basic functionality, it is a great and easy tool.
Another thing that we struggled with has already been fixed. They now offer a SaaS version of Camunda. We struggled a little bit with how to deploy Camunda in our infrastructure. The way it was designed was that the database can easily become a performance bottleneck. It is something that they could improve. They can provide more examples of how to implement a scalable solution using Camunda.
Buyer's Guide
Camunda Platform
June 2023
Learn what your peers think about Camunda Platform. Get advice and tips from experienced pros sharing their opinions. Updated: June 2023.
708,461 professionals have used our research since 2012.
For how long have I used the solution?
My organization has been using it for around five years. For me, it has been around two years.
What do I think about the stability of the solution?
We had to do a lot of tweaking. It hasn't been stable from the beginning, but with some effort, it can become stable.
What do I think about the scalability of the solution?
It is limited. The way it works is that when you are starting, you have to create a full autonomous Camunda instance with its own database. It can work, but it is not out of the box. If you want to have minimal scalability of Camunda, you can do it, but it will be linked to a single database, which can become a bottleneck. So, if your database sizing is not great enough, when you scale Camunda, there will be a performance issue. Usually, it works great, but it depends on your business case and your intent in using Camunda.
How are customer service and support?
Our experience was great. Usually, they were assessing what we did. They were asking us to provide our configuration, and they were responding fast. It is different for different organizations, but I personally always prefer that they don't do the work for us. They should provide more advice and then we learn from that. They had the same approach, and I was happy with that. We used their consultant two or three times, and each time, it was a great service. I would rate them an eight out of ten.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
How was the initial setup?
We have three instances of Camunda running, and inside Camunda, there are multiple business processes for different solutions. For example, we have different types of permits. Each one has its own business process, and everything is deployed on Kubernetes. We have about 10 or 15 endpoints that are used through connectors.
Its setup was a little hard. The documentation was not that great at that time, and they had a lot of versions. What made it hard was that their recommendation was changing. For some time, they were providing a Docker image, and then they changed to what they call a green stack where we were using spring boot to achieve that. I'm not sure what it is now, but I know that it changed again. So, it was hard to follow the best practices related to Camunda at the beginning. It came down to documentation.
Overall, it took weeks. To have something running was fast and took days, but we had a lot of tweaking to do. To be advanced in our solution development, we did stress tests and had a few problems with that. We were trying to adjust the configuration, and the documentation was not always easy to read. Sometimes, the configuration was easy because we had to adjust the configuration just with the XML file. Sometimes, we had to go a little further in Java. There were different levels of tweaking. Overall, it was fast to have the initial version of Camunda running, but it took us a lot of time to have something production ready.
What about the implementation team?
We started doing it in-house because we wanted to acquire knowledge about that. After a few weeks or months, as we were getting closer to our production date, we got the Camunda Enterprise version. One of the things that came with that license was support from Camunda. So, we contacted them just to update how we did our configuration. They found that we had a lot of instance processes, and because of our level of history, it had a lot of extra data. They provided us with scripts to help clean our database from unrequired data. So, in the beginning, we didn't take any help from a consultant or Camunda, but as we were near our delivery dates, we took some help. Even when we were in production, we had some issues. We contacted Camunda for some things that were not working correctly. It was just to get advice on how we installed things. It was okay, but it required some adjustment.
In terms of the number of people involved in its deployment, because it was something that was considered complex, I did it myself just to have the basics, and after that, when there was something to adjust, the team did it with me. So, it was me, and there was a team that came after.
In terms of maintenance, the way they have made it, it is pretty low maintenance. If you want to upgrade the version of Camunda, you just have to go into the dependencies to adjust the version. Inside the version, there's always a migration script that is embedded in the version. So, it isn't self-maintenance, but you just have to change the version, and everything is done magically.
What's my experience with pricing, setup cost, and licensing?
We're using the free version. We used the Enterprise version for some time. If I compare free versus what we paid at that time, the Enterprise version costs a lot. For the additional functionality that we got with the Enterprise version, it was too costly.
The feature that appealed to us in the Enterprise version was the migration plan. If you have a business process, for example, with an invoice, and you deploy a new version with a new invoice, for certain times, you will have two business processes running, but we wanted to have only one process instance running at a time. So, we have to migrate the old process instance to the new process definition. They provide the APIs for doing that, but it can be hard. If you are at the node in the old process, you need to tell the engine that you want to migrate it to another node in the new process definition. Doing that manually can be hard. If your business process doesn't change that much, it can be okay, but in the case where it changes a lot, the Camunda Enterprise version provides a user interface to help map the migration between the nodes. We have long-running processes. For example, we could have invoices that are stuck in this process for 10 or 20 days. So, to migrate, we can't wait for the invoice to be processed because it is taking too much time. So, the tool helped us to do this migration planning, and that was one of its greatest features.
Another appealing feature was that if something happened in your process and you want to debug to see what is going on, the Enterprise version provides a user interface to easily follow the progression of your process. For each node, you can see what changed at what time. That was very helpful when we had a problem with our process. These were the two features that helped us a lot because, at some point, we had some problems using Camunda. Having the Camunda Enterprise version helped us to fix those problems and helped us migrate, but when you have something more stable, as we have right now, those features are less important. We are no longer using the Enterprise version.
In terms of TCO, because it is an open-source solution, it was limited to the time that we spent integrating it. It took us a full year to integrate it into our system. It took a lot of time, which cost us a lot. The cost is also related to the infrastructure. For example, our database is getting bigger every day, but it is not much. Overall, it didn't have a big impact on our functional budget.
Which other solutions did I evaluate?
At that time, it was one of the few open-source solutions available in the market. For us, it was easier to go with Camunda. We are a government organization, and we need to go through the request of proposal process to acquire a solution, but we didn't for Camunda because it was open source.
We quickly liked how it was working. It was a no-brainer at the time. We knew that we wanted a workflow engine, and it was only Camunda that provided the level of flexibility that we were searching for and was open source. That's why we went with Camunda. We didn't find any other interesting providers. Now, I know there are a lot more solutions. So, if we have to start over with a new solution, we will take time to see if there are any other tools that can achieve the same.
What other advice do I have?
The most important thing would be to do a proof of concept before going too far. Some tools are very stable and you can go with them right away, but with Camunda, just because there is so much to know, it is better to do a proof of concept before going all in.
The connectors provided by Camunda can be enough. It depends on your use case. By default, there is an HTTP connector, and there is also a SOAP connector. It is easy to use the connectors. They provide a base connector, and you can build it more. In our case, we had to go a little further and develop plugins in Java, which was a bit of an issue because it is not our main technology stack. We don't develop much in Java. So, there was a learning curve for developers, but overall, it went well.
I know that Camunda offers a user interface for people when they need to interact with it. We didn't use it in our case because we found the user interface too simple. It was not providing us with enough information. and the other thing was that if a user is working in system A and had to interact with Camunda, he had to leave his context to go to system B and do the task. So, in our case, we decided to integrate it into the same system to provide all the information that a user needs to accomplish a task. So, it is a bit limited in that aspect, but the fact is that when you use Camunda, what you're trying to achieve as a goal is to prevent people from interacting too much with the process. So, it may not be a problem if the user interface is not as rich and complex.
I would rate it an eight out of ten.
Which deployment model are you using for this solution?
On-premises
Disclosure: PeerSpot contacted the reviewer to collect the review and to validate authenticity. The reviewer was referred by the vendor, but the review is not subject to editing or approval by the vendor.