What is multi tenancy? | Definition & guide

Published by Alex Olivier on December 12, 2023
image

Multi-tenancy is a type of software architecture design that enables one instance of an application to serve multiple tenants (a tenant being a customer or organization with access to the software application). With multi-tenancy, each tenant operates separate from the others although they are using the same software and hardware resources. Cerbos provides a simple and effective way to implement access control policies for multi-tenancy systems.

Key characteristics of multi-tenancy

Isolation: With multi-tenancy the data, customizations and configurations of each tenant are isolated from those of other tenants. No tenant can access or view another tenant’s settings or data.

Scalability: Multi-tenancy systems are easy to scale because tenants can be added without having to increase the complexity of the underlying infrastructure to any significant degree. This scalability extends both vertically, in the sense of adding resources to a given server, and horizontally, in the sense of adding more servers to the system.

Customization: Most multi-tenancy systems offer a fair amount of customization for each tenant. This allows them to tailor the software to suit their needs without affecting the user experience of other tenants.

Efficiency: Multi-tenancy systems are highly efficient due to their ability to allow multiple tenants to share the same infrastructure. The end result is lower cost when compared to maintaining separate instances for each tenant.

Ease of management: With multi-tenancy management and maintenance are greatly simplified as system patches, updates and new features can be applied system wide, simultaneously benefitting all tenants. 

Security: The isolated nature of each tenant means security measures are easy to implement, data leakage is virtually non-existent and unauthorized access is a non-issue.

The different levels of multi-tenancy

There are 3 levels of multi-tenancy. They are:

1) Separate application, separate database

Wherein each tenant has their own dedicated instance of the app and the database. This option provides the highest level of customization and security.

2) Shared application, separate database

Wherein tenants share the app but each tenant has their own dedicated database. This option offers a moderate level of customization and isolation.

3) Shared everything

Wherein tenants share both the app and database resources. This option is highly efficient but limits the amount of customization available.

Read more

GUIDE

Book a free Policy Workshop to discuss your requirements and get your first policy written by the Cerbos team