Skip to main content

Deciding about your stack

If you don't have special architecture requirements, we recommend using SaaS following the proposed greenfield stack.

Camunda 8

This best practice targets Camunda 8 only! If you look for Camunda 7, please refer to Deciding about your Camunda 7 stack.

The greenfield stack

We like to give one greenfield stack recommendation, which is the stack you can simply use if there is no reason against it. And while we went through long and detailed discussions to come to this recommendation, it doesn't mean that it is necessarily superior to alternative stacks. You can still feel confident if you go down another route (see below for alternative options).

The stack looks pretty similar in various programming language. Please use the programnming language your team is most familiar with. If in doubt, use Java or JavaScript.

The Java greenfield stack

greenfield stack architecture diagram

Use the following stack:

  1. Use Camunda 8 SaaS and create a cluster there

  2. Build your process solution project as a Spring Boot application, using the Spring Zeebe.

  3. Use Maven as a build tool.

  4. Use your favorite IDE, for example Visual Studio Code, IntelliJ or Eclipse.

  5. Use Open JDK 17 as Java runtime.

  6. Model the processes with the Camunda Modeler.

  7. Add your process models and all Java code to the project.

To run the process application in production:

  1. Run the process application by copying the jar file to the server and start it with java -jar YourProcessApplication.jar. This is most often done via Docker.

See our example application.

We decided on this stack for the following reasons:

  • All components are open source and easily available.
  • SaaS is the easiest way to consume capabilities like a workflow engine.
  • Spring Boot is currently the most adopted way of building Java applications.
  • Spring Boot applications are easy to customize as well as easy to roll out into test and production environments, either on-premise or in the cloud.

Take a look at the getting started guide for microservices orchestration or follow the instructions in Spring Zeebe to get started.

Polyglot stacks

You can develop process solutions as described with Java above also in any other programming language. Simply use the existing language clients / SDKs for doing this.

Customize your stack

Running Camunda 8 self-managed

You can also run Camunda 8 self-managed on your own Kubernetes cluster. Details can be found in the deployment docs.

While there exists a Docker Compose configuration to run Camunda 8 locally, this is not meant to be used for production, but rather to quickly startup components on a developer machine to be able to play around.

Modeling for executable processes

We distinguish two different roles modeling in BPM projects:

  • Process developers develop an executable process implementation. Process developers implementing solutions with Camunda must use Camunda Modeler to model executable processes, edit technical attributes, and manage and version (e.g. in Git or SVN) the resulting (XML) files as part of the development project.

  • Process analysts capture the operational know how about a process. For this part of the work, it is possible to use a different tool than Camunda Modeler.

Camunda ModelerThird-Party Modeler (BPMN Standard Compliant)Third-Party Modeler (Non-Compliant to Standard)
Roundtrip in between process analysts and developers possible (Carefully check level of BPMN compliance - the Model Interchange Working Group can serve as a first starting point
Use for process analysts
Use for process developers
Use whenYou do not have a BPMN standard compliant modeling tool already rolled out.You already rolled out a BPMN tool with a standard compliancy sufficient for roundtrip.Try to avoid
Downloade.g. Cawemo