Multi tenant for camunda 8

Hi … I am looking for multi tenant deployment approach for version 8. The document seems still for version 7.

Can someone point me to the right direction?

Thanks

At the moment we don’t have multi-tenancy implemented internally in Zeebe, your best bet for a multi-tenancy situation right now is to create a Camunda 8 cluster per tenant.

Yes I am trying to find documentation on the same topic but unsuccesful still. The key details I am trying to understand is whether zeebe is multi-tenant ? i.e.

  1. how to define tenants when deploying a zeebe cluster?
  2. how does the process execution happens across brokers?
  3. Can we configure brokers to execute processes only for specific tenants?

I also came across a forum post that stated camunda 8 is not multi-tenant yet which worries me.

More details on this would be highly appreciated.

Thanks.

Hey @JGeek

there is not much to add to what @Niall mentioned here Multi tenant for camunda 8 - #3 by Niall

So to answer your questions:

  1. This is not possible right now.
  2. What do you mean exactly? Please be a bit more specific otherwise the answer might be a bit long and maybe not what you expect (because I will explain the complete Zeebe process instance execution).
  3. No. But you could add some Gateway Interceptors which contains such logic. Meaning that you could add logic to verify whether a tenant is allowed to create an instance or complete a job, based on the grpc requests which are sent to the gateway. This is how some other customers implement it. BUT this implementation is up to you, since Zeebe currently doesn’t support this.

Other than that I think currently the best would be to create a Zeebe cluster per tenant.

Greets
Chris

2 Likes

Thanks @Zelldon for the detailed answer.

  1. Is this multitenacy feature planned soon or is it being actively worked upon?
  2. With gateway interceptors too I won’t be able to restrict execution of a task (ZeebeWorker method code) to a specific broker right?

By the second point in my earlier query I wanted to understand how is the task execution handled in the zeebe cluster. I assume thats done by the gateway based on its load balancing algorithm.

Thanks.

Hey @JGeek regarding your questions

  1. Not that I’m aware. We currently focus on adding process instance modification, start process instances anywhere, performance and some other stuff. But I guess I’m not the right person to ask. Maybe @BerndRuecker or @felix-mueller can say something about this here.
  2. I guess you could restrict that certain workers are not allowed to work on certain job type or something like this.

I guess this was answered in slack now right ?


Josh Wulf
6 hours ago
The Zeebe broker executes the BPMN orchestration. The implementation of any of the service tasks (all tasks are service tasks in Zeebe) is done in workers.In Camunda 8 SaaS you have connectors like the HTTP worker and also the DMN worker running in the cluster. But these are hosted workers.All implementations run in “your own JVM”, not the broker’s.

1 Like

Ok, I have my queries related to multi-tenancy answered right now.

I guess you could restrict that certain workers are not allowed to work on certain job type or something like this.

I would like to know to understand how this could be done but probably this could be started as a separate thread.

It would be great to keep the slack discussion active to understand the data flow and code execution.

Thanks.

1 Like