Multi-tenant mode
  • 24 Nov 2023
  • 1 Minute to read
  • Contributors
  • Dark
    Light
  • PDF

Multi-tenant mode

  • Dark
    Light
  • PDF

Article summary

Introduction

The multi-tenant deployment aims to allow Constellio's infrastructure to support the hosting of multiple tenants (clients) in multiple silos on the same server. Each tenant is independent of the others and master of his silo.


Architecture

The tenants are managed in the same application server (same process).

Each tenant has: 

  • Its own vault;
  • Its own Solr collections (records, notifications, events);
  • Its own configurations;
  • Its own departments, managers and factories (e.g. ModelLayerFactory);
  • Its own caches;
  • His own journals (wrapper.log, etc.);
    • There is a global log
  • Its own transactional journal.

Partitioning

Each tenant is strongly isolated logically from the other tenants in the shared application server. See the article "Partitioning options".


Deployment

Deployment is done using scripts and configurations.

Sample script for creating tenants (single-instance): See https://constellio.cloud.constellio.com/constellio/dl?id=00000611066 

Currently, deployment scripts are available for single-instance mode only. 


Piloting

In the multi-tenant environment, a main tenant is designated for the administration of all tenants, which offers options for environment updates, reboots and plugin installation tools for all tenants in the environment. 

Multi-tenant deployment leaves the plugin management screen and application update functionality read-only for all non-core tenants.

The restart and reindex functions are available for tenants, which do not affect other tenants during the process.

There is no screen or web services to add a tenant, quota system, or other management tools for this type of deployment (see Enhancements below).


Migration

Migration Scrips available: 

  • Allow an existing facility to be moved to a new tenant.
  • Allow a tenant to be moved to a new facility.

Improvements

  • Support for building tenants with distributed environments
    • Zookeeper
    • SolrCloud
    • Scripts on each application server
  • Allow you to add a tenant without any reboot
  • Web service for creating tenants
  • Tool to manage the assignment of licenses between tenants
  • Control screen to validate the use of licenses between tenants
  • Basic cloud management screen with server management, plugins available and installed for each tenant
  • Tenant space quota system (can be done manually in the meantime)
  • Monitor CPU consumption per tenant and other monitoring options...



Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.