Multi–tenancy refers to a principle in software architecture where a single instance of a software application serves multiple customers, also known as tenants and is regarded as one of the essential attributes of Cloud Computing. Multi-tenancy is the key common attribute for both public and private clouds and it applies to all three layers of a cloud: IaaS, PaaS and SaaS.
Customers may have the ability to configure some parts of the application, such as the color of the user interface or business rules, but they can’t customize the application’s code. This means that although tenants are using the same building blocks in their conﬁguration, the appearance or workﬂow of the application may be diﬀerent for two tenants. Also, the Service Level Agreement (SLA) of each tenant can differ.
Before making a decision regarding a multi-tenancy architecture, let’s make it more clear what this is all about:
- High security: there are 3 key components that define the degree of isolation between multiple tenants in a data center: access policies, application deployment and data access and protection.
- Economy: software development and maintenance costs are shared between the tenants.
- Service assurance and faster updates: with multi-tenancy, the provider has to make updates once. In contrast with single-tenancy, an architecture in which each customer has their own software instance and may be given access to application code.
- Efficiency and flexibility: A SaaS provider can run one instance of its application on one instance of a database and provide web access to multiple customers. Each tenant’s data is isolated and remains invisible to other tenants.
There are several degrees of multi-tenancy. According to ComputerWorld the degree of multi-tenancy is based on how much of a core application or SaaS, layer is designed to be shares across tenants:
- Lowest degree: IaaS and PaaS are multi-tenant, while SaaS is single tenant.
- Middle degree: IaaS and PaaS are multi-tenant. Small SaaS clusters are multi-tenant.
- Highest degree: IaaS and PaaS are multi-tenant. SaaS is fully multi-tenant also.
Choosing your multi-tenancy degree is a decision that must take into account the characteristics of the workload. Higher degrees of multi-tenancy best fit for cross-industry utilitarian workloads such as sales force management. What degree of multi-tenancy best fits your business/ organization?