Process deployment

Hi Camundians,
We are building organization-wide Workflow services and going to use Camunda for it.
In our organization, there are a lot of departments and they have a lot of processes. So instead of all integrating with Camunda (or other tools) for process orchestration, we decided to build workflow service which will provide orchestration capability via rest APIs.

Implementation:
We are going to create springboot microservice, exposing rest APIs. And internally, we are going to use Camunda Java APIs. For data customer segregation, we are goint to use multi-tenancy capability provided by Camunda. It means each department will be onboarded as a tenant. Onc tenant may have more than one process. Each process may have multiple versions running in paralel.

For deploying process defination to the engine, we are going to use REST API, so that process defination can be deployed without restarting an engine instance.

Questions:
When I log in to the cockpit, I am able to see the deployment tab. Where all the deployments are visible.

  • What does the deployment entity mean?
  • Should I create a new deployment for each process definition upload?
  • Can I deploy multiple modes under one deployment?
  • If I create too many deployments under one engine (one deployment per model), how it will impact the performance?

References:

If you are going to create spring microservices, why are going to use a single engine? Why not have multiple engines, e.g. one per department (or even multiple per department)? (The engines might share a DB or could work with different DBs.) You’d thus eliminate the need to cope with tenants and gain more flexibility in deployments etc. You wouldn’t even need a deployment to an existng engine because you could create prepackaged and ready to use applications.

I’d think more about the overall approach before solving the technical questions you asked.