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:
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.
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.
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.
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.
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.
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.
Although highly popular, there are several multi-tenancy issues in cloud computing. A few of them are listed below:
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:
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.