Dynamic manage multi-tenant Process engine in combination with Spring Boot?

@StephenOTT related topic i created here. Multi-tenancy configuration / ProcessEngine & Datasource per tenant

Our current setup is like above @jangalinski mentioned, and multi-tenancy was handled with discriminator column. Default process engine was used to manage all tenant requests.

We won’t use any xml files to configure process engines.

  • Our current deployment is based on standalone process engines(REST api communication), running two spring boot camunda apps(Amazon EC2 instance) against the same database. It works fine.

  • Now the use case is, we got many tenants, lets say 50 tenants (tenant per DB/tenant per process engine). In this scenario we can’t run single process engine per spring boot runtime. It will results in 50 EC2 instances which is more expensive.

  • So we decided to create multiple process engines per tenant in one spring boot runtime. Using this approach, we can scale spring boot app will result in less number of EC2 instances.

  • If we have process engine per tenant in per spring boot app, thinking of scaling perspective will result in ending up with lots of resource usage.