What is our primary use case?
We have an event-based architecture and Camunda works as an orchestrator for our microservices.
Over the last three years or so, we have been using Kafka a lot. We wanted to bring in an orchestration engine to integrate seamlessly with our nesting system. We had a lot of existing applications that are not that old, and we did not want to rewrite software components that we own to get the benefits of orchestration. That was where there was a need. One of the factors that will decide if we will use it for more use cases at our company or not, is the ease of integration.
How has it helped my organization?
As an organization, we don't want to reinvent the wheel, so it's important to us that the connectors are available out-of-the-box and reusable. We don't want our developers to write boilerplate code. Having the connectors ensures that we have standardization in the way that we are integrating with other parts of our ecosystem. It also allows us to put some best practices into those standards. For example, we can implement three tries for a connector. That helps us be declarative. It provides a good tradeoff between low code and no code.
It has a ubiquitous language across stakeholders. When we are talking to stakeholders about how a process evolves over time, or about the complexity of a process, it's a lot easier to explain without having to go through Confluence pages or through a lot of sessions with product people explaining to them how a particular system works. They have a good amount of understanding by looking at the process diagram. That really helps me, personally, in communicating with them.
We have also been able to build out dashboards for our asynchronous processes. Those dashboards have been really helpful. Otherwise, we would have to rely on the data analytics team to provide us with any analytics data around the events that are flowing in our system. Now, for some of our purposes, we can build dashboards ourselves using Camunda.
In addition, we have built dashboards that show important statistics about our business process and key changes that happen in our process definition. Those changes communicate a business value to our business stakeholders. For example, in the last seven days, how much traffic have we ingested into our system, and where has most of it gone? That kind of information is now more of a self-service for everyone. The dashboards we have built are giving us a good amount of information about what's happening in our systems. We are also using the BPMN designs for our design discussions with the product team.
We have been more agile because we don't now have to keep the Confluence documentation up to date. When you put something in Confluence, it's hard to keep it updated and make sure that it's up to date with the latest implementation. Now, the business process flows are code. They are modeled as BPMN files, so we don't have to make extra effort to maintain the business process. And while we are discussing our product, we can communicate how the small things that are part of a process could build up and what role they are playing in the overall process. It also helps us find out, if some part of our process were to fail, what impact it would have on the overall process execution. That's something that teams have recently started discussing more.
Since day one, our goal was to build reusable components that can be used in other projects. We recently did a discovery for one of our projects and we found that we could reuse 80 percent of what we had developed on the Camunda platform. The microservices and the connectors were reusable and that really reduced the development effort drastically for that use case.
We are now spending more time looking at the bigger picture, and not just looking at a particular microservice. The developers can now see where their microservice fits into the flow and how their microservice responds, whether in a successful manner or in failure.
What is most valuable?
The integration with almost any language, product, and even human tasks, is valuable. It's very seamless to integrate into existing systems. It doesn't require you to rewrite a lot of your existing system. That's where it really stands out.
We have used a couple of connectors, including the Kafka connector a lot because we have mostly a Kafka-based architecture. The connectors are really seamless. They just fit in. They don't require you to make a lot of changes to your existing infrastructure. That's what connectors are primarily meant for, to enable enterprise-level integrations. We also build out custom connectors for our use cases.
In addition to Kafka, we can easily integrate it using any microservice or legacy microservice. All you need to do is include their library and put in a couple of annotations on your existing methods, and they can act as Camunda workers. You can transform your existing code into Zeebe components and that requires very minimal coding. We are also working on building more connectors, and that will smooth out further adoption of this technology within our ecosystem. We can orchestrate almost any remote system if it's accessible over the network and it implements any protocol. If it's reachable, we should be able to orchestrate it via the Camunda platform.
In terms of its ease of use for engineers, it's pretty easy. We have an engineer who joined us two weeks back and he has been onboarded. He's able to make changes in the BPMN. That's very important for modifying business processes.
For how long have I used the solution?
We have been using Camunda Platform for a little less than one year.
Buyer's Guide
Camunda
November 2024
Learn what your peers think about Camunda. Get advice and tips from experienced pros sharing their opinions. Updated: November 2024.
814,763 professionals have used our research since 2012.
What do I think about the stability of the solution?
We anticipated the load for one year, at least, and we have done load tests. The system is pretty reliable. We have not had even a single issue in production using their product. It's very reliable.
What do I think about the scalability of the solution?
It is very scalable. It's built on a similar architecture to Kafka, which we know is a very scalable platform. The scalability has been one of the most important features that they have designed their product with. They had scalability in mind from the start.
We have tested it for thousands of process instances per second. There are some blogs from Camunda that show it even goes to millions of process instances per second.
While it's very scalable, it would be great if auto-scaling capabilities were added to it. We haven't seen any issues in production related to scalability, but one area that really could help out would be to have dynamic resizing of the cluster. Right now, you have to do capacity planning. You plan for the capacity that you need in the next couple of years and then size your cluster accordingly.
Having said that, I haven't seen problems with the product so far.
How are customer service and support?
I would rate their technical support a nine out of 10. The one thing that I feel there could be more of is their exposure to AWS. I'm not saying that they don't know about AWS, but I think a lot of their customers are using Google Cloud. I think they, themselves, deployed it on Google Cloud. But AWS is the market leader and there are a lot of customers on AWS.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
How was the initial setup?
They provided help charts, so it was pretty straightforward. But when you want to tune it or run it on an enterprise level, you will want to try out a few of the parameters they have provided, and play around with them, to ensure that the software components that your cloud provider has can be used smoothly for deploying Camunda. Initially, you might have to make some effort to set things up on your own cluster, but they have good documentation and help charts for deployment on your Kubernetes.
We have different environments, including development, testing, staging, and production. We could even implement a CI process for our workflow instances and BPMN files, as they can be deployed using a CI/CD pipeline. Microservices can be deployed at their own pace in a CI/CD pipeline. That was the strategy for deployment.
What about the implementation team?
We did it in-house, but we did use some consulting from Camunda during some of our initial days. One of their solution architects was really good in terms of technical knowledge. He knows the product really well and he guided us through some of the parameters and tuning of our clusters while we were deploying.
In addition to me, we had one more person doing the deployment. One of our senior people took care of the deployment on our side. I was overseeing things but he did most of the work.
What was our ROI?
So far, we have been very pleased with what we have achieved with Camunda. We are still within our initial one-year contract but we have seen value from it.
In the use case where we were able to reduce 80 percent of the development effort with reusable code, that equated to man-hours that are directly related to cost. If you reuse code for more use cases, the cost can be justified.
What's my experience with pricing, setup cost, and licensing?
We have an on-premises, self-managed installation because of some internal decisions. There is a bit of scope for improvement in how the licensing and pricing are done. They are based on the number of processing instances you execute on the cluster. They have two modes of deployment, one is their cloud version and the other one is the self-hosted mode. For the cloud version, it definitely makes sense to have it based on the number of processing instances you run, but on the self-hosted mode, the pricing model should be customized. If it were customized a bit more, it would be better for us.
We purchased their workflow engine, Zeebe, and consulting. We also operate the tool with which you can monitor your process instances. There are a couple of more tools available in their product suite, but these three aspects were most compelling for us. If we are running mission-critical workloads, we definitely need support if things go wrong on a given day. We need their expertise, so the consulting is very important for us. The workflow engine itself is also very important, as that is why we evaluated Camunda in the first place.
If data privacy is not an issue, then definitely go for the cloud version of Camunda because then you don't have to worry about managing the cluster and capacity on your own. It's more seamless than having to manage your own cluster. But if you're considering upgrading from the free version, the consulting is definitely important. They also do BPMN consulting as part of the contract. You can ask for BPMN reviews and you can ask for sessions with their solution architects. They also have a 24/7 hotline that you can call in case there are any issues.
They have an excellent open-source community. I have not seen many other forums that have developers who are as active as Camunda's developers are on their forums. The technical advice that we get from Camunda is really helpful. They know best about the product they have built over the last few years. You definitely need to have expertise on a product that you're thinking of using. The people who have built it provide a great additional value.
Which other solutions did I evaluate?
We did take a look at some of the options available in the market, solutions that allow you to do process automation, including Cadence/Temporal.
We selected Camunda due to a few important reasons. It's a product that solves a problem that many organizations don't even realize exists in their architecture: visibility. It gives us visibility into the complex processes that are often implemented in software or if some of the tasks are done by humans. Camunda, with its integrations and great tools for reporting, like Optimize, allows us to see where the bottlenecks are in our processes.
It also has companion tools, like Operate, that allow you to visualize the flow of a particular business process. And you can find some really cool statistics about how much of a process is actually done or where it is blocked. Those are some of the really important features that any workflow orchestration or engine should have, and Camunda supports them pretty well.
What other advice do I have?
Take a look at their co-founder and CTO, Bernd Ruecker's, blog. He has a lot of good write-ups about the platform where he explains the technical architecture. He talks about how to do performance benchmarking.
Another good piece of advice is to leverage the Camunda community and forum. Their team is very active on the public forum and they respond to your questions within a day, most of the time. They give very to-the-point answers. That is a really helpful resource. They also have a good set of tutorials on BPMN in what they call the Camunda Academy. It's worth taking a look at that when you are adopting the Zeebe workflow engine, which is their primary workflow engine.
One of the important things that we want to deliver is enabling business, developers, and operations. It's important that our non-technical stakeholders don't have to get into the nitty-gritty details of technical implementations. They can have a bird's-eye view of what's happening in a process, and they can suggest or even extend a process by themselves and then hand it over to us as a requirements document. That's the direction we really want to take. So far, the product team has been very enthusiastic about it. They like it. Camunda uses a language for modeling called BPMN and it doesn't require you to be a coder or an engineer. It's a simple drag-and-drop tool. It's really cool and it helps our stakeholders to be involved in working with workflows.
There is a bit of a learning curve with BPMN. It's an industry standard, not something proprietary to Camunda, but Camunda hosts an online academy where they have tutorials about it. They have videos and free courses on how to use BPMN. That helps out in the onboarding of users.
We have been using it for a little less than a year, so our entire organization is not using it. We are really into building our experience with Camunda by applying it to a few use cases. As we see more use cases in other parts of the organization, what we have built over this past year as templates—as reusable software—can be leveraged so that they don't have to set up everything from scratch on their own.
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.