Multitenancy
In software architecture, multitenancy is a pivotal design paradigm that maximizes resource efficiency and supports scalable application deployment. Unlike the single-tenancy model, where each client operates in a dedicated instance of the application along with exclusive resource allocations, multitenancy enables multiple clients, called tenants, to share a single application instance and its underlying infrastructure. Despite the shared environment, tenant-specific data is strictly segregated through advanced isolation mechanisms, which helps ensure data security and compliance.
Multitenancy explained
Multitenancy is an architecture in which a single instance of a software application serves multiple users, called tenants. The system isolates the data of each tenant and keeps it invisible to other tenants.
Various levels of multitenancy range from a shared database schema to a fully isolated environment with separate databases and resources. The level of isolation depends on the requirements of the software provider and the preferences of the tenants.
Multitenancy delivers several strategic benefits. By centralizing application maintenance, updates, and monitoring in a unified instance, you reduce operational overhead, which simplifies system management. Furthermore, shared resource use lowers infrastructure costs, while the inherent scalability of the architecture accommodates fluctuating workloads and growing user bases without proportional increases in resource consumption. These advantages position multitenancy as a cornerstone for modern cloud-native solutions, particularly in software-as-a-service (SaaS) models, where cost optimization, streamlined management, and elastic scaling are critical.
On the other hand, multitenancy can also present challenges, for example, data security and customization limitations. Privacy and security of the data of each tenant is crucial because any breach can affect multiple tenants. Additionally, tenants might have a limited ability to customize the software because changes can impact other users in the shared environment.
Pega Diagnostic Center and Pega Academy challenge instances use multitenant architecture.
Hybrid tenancy explained
Multitenancy architecture differs from hybrid tenancy, which integrates elements of single-tenancy and multitenancy models to balance resource efficiency and personalized customization for each client. A hybrid tenancy is particularly advantageous in scenarios where organizations have distinct requirements but still want to use the benefits of a shared infrastructure.
In more technical terms, hybrid tenancy is a cloud computing architecture that combines the isolation benefits of single tenancy with the cost-effectiveness and scalability of multitenancy. In a hybrid tenancy setup, each organization operates in their own private cloud environment. The organization can extensively customize and configure this private cloud to align with their specific business needs, which offers a higher degree of control over application performance, security policies, and compliance measures.
Despite this customization, multiple organizations share the underlying infrastructure. This shared infrastructure facilitates enhanced flexibility, dynamically allocating resources based on demand, thereby optimizing costs and improving scalability. The hybrid tenancy provides a solution so that organizations can achieve a tailored computing environment without sacrificing the economic advantages and scalability of a shared platform. It is particularly suited for organizations that require bespoke solutions while still benefiting from the efficiencies inherent in cloud-based services. Pega Cloud® follows a hybrid tenancy architecture.
The following diagram shows the relationship of hybrid tenancy in the following environments: Infrastructure as a service (IaaS), platform as a service (PaaS), and SaaS:
IaaS delivers computing infrastructure, storage, network, and security as on-demand services. PaaS is a cloud computing delivery model that provides a platform for developers to build and deploy applications over the internet. PaaS providers manage the infrastructure, operating systems, and middleware, while developers focus on building and deploying their applications.
SaaS is a popular model for software deployment through which users can access existing online applications from anywhere with an internet connection. A central host typically hosts this type of software, and users access it through a client, such as a web browser. Developers and organizations commonly use SaaS services for developing and deploying modern applications, because they can allow multiple users across various locations to access the same application on the internet. This access makes it easy for individuals and organizations to collaborate and work together seamlessly, regardless of their physical location.
Pega Cloud is a SaaS offering that encapsulates infrastructure services, platform services, and applications software, which users can access on a browser.
The following analogy describes the SaaS model with shelter as a service:
- An on-premises cloud offering is like purchasing a house, where the homeowner takes care of monitoring, security, maintaining the building and grounds, repairing interior appliances, paying utility bills, and purchasing furniture.
- IaaS is like purchasing a condominium and paying fee to the association; the owner is still responsible for maintaining and repairing interior appliances, paying utility bills, and purchasing furniture.
- PaaS is like renting an apartment and paying rent for it. The renter purchases furniture and is responsible for cleaning.
- SaaS is like living in a hotel and paying a hotel fee. The hotel takes care of maintenance, upgrades, and availability.
The following figure shows the SaaS analogy:
Check your knowledge with the following interaction:
This Topic is available in the following Module:
Want to help us improve this content?