Introduction

The emergence of cloud computing can be traced to a decade back and you are probably familiar with its model of on-demand availability of data storage and computer system resources over the internet. A key feature of cloud computing is multi-tenancy and it is a key component of Software-as-a-service (SaaS), a service model of cloud computing. 

In this article let us look at:

  1. What is Multi Tenancy?
  2. Evolution of Multi Tenancy
  3. Types of Tenancy in Cloud Computing
  4. Degrees of Multi Tenancy
  5. Benefits of Multi Tenancy
  6. Drawbacks of Multi Tenancy
  7. Examples of Multi Tenancy

1. What is Multi Tenancy?

Multi-tenancy refers to a software architecture whereby a single instance of a software application is served to multiple users. Each user is called a tenant. In a multi-tenancy architecture, each tenant is integrated physically but separated logically. This renders a single instance of software the ability to run on one server while serving multiple tenants. This type of system design in a multi-tenancy architecture is often termed as shared in contrast to dedicated or isolated systems. 

2. Evolution of Multi Tenancy

The importance of multi-tenancy in cloud computing is indisputable. Although it rose to the fore with the advent of cloud computing, the concept of multi-tenancy has been afloat before cloud computing. Multi-tenancy has evolved from a combination of three types of services- timesharing, hosted applications, and web applications. Since the 1960s, companies have been utilizing time-sharing, which is the sharing of computing power among multiple users to reduce computing expenses. Fast forward to the 1990s, where application service providers hosted software applications on behalf of their customers. A similar idea was developed for consumer-oriented web applications which were developed to serve multiple customers with a single instance of the software. A multi-tenant environment represents a direct evolution from web applications. 

3. Types of Tenancy in Cloud Computing

You might have got a fair idea of what tenant in the cloud means. It means a distinct user and in some cases, tenants have the privileges to make certain custom changes to the software application, such as user interface modifications or business rules but however they are prohibited to customize or change the code of the application. In contrast to multi-tenancy in the cloud, there is a single tenancy or a single tenant and the adoption of single-tenancy architecture is also common. A single tenant architecture is one in which a single instance of a software application and infrastructure is offered to only one user. 

4. Degrees of Multi Tenancy

The degree or measure of multi-tenancy is based on how much of the core application layer is designed to be shared among the tenants.  The lowest degree of multi-tenancy is limited to the Infrastructure-as-a-service (IaaS) and Platform-as-a-service (PaaS) layers while in the case of the highest degree of multi-tenancy, IaaS, PaaS and SaaS are fully multi-tenant.

Single-tenant vs Multi-tenant

The key difference between a single tenancy and multi tenancy in the cloud is that in single tenancy every user or tenant has an independent database and instance of software while multi-tenancy meaning the tenants are free to share their software application and database. 

The multi-tenancy architecture simplified

A Multi-tenancy architecture is based on a central administration and involves a common code application. It operates single, common instance(s) of application for multiple tenants. In a multi-tenant architecture, the application is designed to segregate the configuration and data to ensure every tenant works with a customized virtual application instance. 

To visualize the architecture, a simple analogy would be that of a residential complex comprised of several apartments each having centralized security, electricity, and water supply. Although the nuances may be vastly different basically the execution and mode of operation are virtually the same on a surface level. 

5. Benefits of Multi Tenancy

  • Cost Minimization: When it comes to building a saas application one always thinks twice about the development costs involved. But a multi-tenancy architecture alleviates this constraint as multiple clients or customers can share their databases, resources, and applications. 
  • Ease of adding a new customer: Adding new customers has been a major pain point for most software vendors. On-boarding services reflect the performance of the vendor and are heavily impressed on the incoming prospects. Needless to say, it is a very crucial factor for business running software applications. Multi-tenant application architecture resolves this issue as it offers the benefit of automated signup processes to its clients. 
  • Convenience in maintaining the application: The multi-tenant application architecture is designed to take the edge off the task of maintaining the software application. The modules can be configured without much effort and one does not need to change the codes or the data structure. This also significantly reduces the maintenance cost bear by the tenants during the time of the software update.
  • Sharing of database schema: in a multi-tenancy architecture, a single copy of the database schema is available to all the tenants. Since the schema needs to be changed once for all the tenants it results in a faster roll-out of any changes or updates. Thus centralizing resources in this manner reduces the overhead an application provider would typically encounter when maintaining multiple versions of an application across deployments. 

6. Drawbacks of Multi Tenancy

Although highly popular, there are several multi-tenancy issues in cloud computing. A few of them are listed below:

  • A multi-tenant application has less flexibility than a single-tenant application when it comes to configuring low-level customizations or modifications.  Generally, it is not that worrying but if an application requires significant customizations for each new tenant then a multi-tenancy architecture may not be the best solution. 
  • A multi-tenant application is more complex than an equivalent single-tenant application. In a single tenancy architecture, one doesn’t require any code to detect which tenant a web request is intended for or to prevent the leakage of data between tenants. Issues such as these are usually difficult to handle in the multi-tenant application architecture. 
  • Owing to regulatory requirements in certain regions, some companies may be unable to store data in a multi-tenancy architecture based infrastructure. Although it is rare, there may be corrupted data or data spilling from one tenant to the other within the same shared environment. 
  • If one tenant is utilizing an excessive amount of computing power then this could slow down the performance for the other tenants within a shared environment. 

7. Examples of Multi Tenancy

Software-as-a-service can be cited as the most known multi-tenancy example. Multi-tenant saas applications include customer relationship management (CRM), management information systems (MIS), enterprise resource planning (ERP), content management (CM), geographic information systems (GIS) to name a few. Other examples include:

  • An SAP system is composed of a database backend system and web application servers that execute in a scalable manner as in web services. In such a multi-tier system a new customer can be added without changing the currently running software version. This system design also helps to achieve data isolation as multiple customers can be added with compartmentalization. 
  • Some common multi-tenant architecture examples are software applications such as Salesforce, Hubspot, Zendesk. 

Conclusion

So there you have it; all you need to know about multi tenancy architecture. We hope this gives you a clear insight into the types of multi tenancy and its benefits and drawbacks as well.

If you are looking for an extensive course in Cloud Computing, then the 5.5-month online Postgraduate Certificate Program In Cloud Computing offered by Jigsaw Academy can be of help. This program helps interested learners become complete Cloud professionals.

SHARE
share

Are you ready to build your own career?