Multi–tenancy is one of the components in the software architecture that works with many clients. Systems that work with such elements are called shared.
Another term is also used – multitenancy. Its name comes from the English word tenant – tenant.
The principle of operation
Multitenancy divides tenant processes into independent ones, both at the company level and at the level of individual users. A separate environment is allocated for each customer’s business service.
Next, the service is assigned a unique identifier that distributes information between users.
The microservice architecture of the application allocates to each business process the resources necessary for its stable operation.
In any multi-tenant software, you can control its functions at the user level. In other words, additional properties can be enabled/disabled for each user (or group).
Cloud computing
Classification
Multi-tenancy of applications is divided into 3 types:
- Unified resources, information storage and installation. The division into tenants takes place at the software level. The application independently determines users’ access to resources in accordance with their rights. This approach ensures a balanced use of the company’s resources and minimal time for administration. Suitable for customers who are planning to create multi-tenancy software.
- A single data warehouse and installation, but sharing of resources. The division takes place at the infrastructure level, each tenant is provided with its own fixed-capacity pool of resources. This option is ideal for organizations that have their own data center.
- Complete separation. Each tenant has its own resources and information storage. The software installation is also separate for each tenant. This option is suitable for tenants who did not plan to use multi-tenancy, but they need to share resources.
To avoid difficulties or problems with multi-tenancy, it is necessary to develop an architecture at the initial stage of software creation, taking into account the further use of resource sharing.