With single-tenant architectures, the hosting provider helps manage the dedicated infrastructure and software instance, but the tenant retains near full control over the software and infrastructure customization. Most single-tenant delivery models provide a high degree of user control and engagement, security, reliability, and backup capabilities. Each tenant is in an isolated environment, so tenants have more flexibility than a shared infrastructure model.
A multi-tenant architecture provides multiple customers (tenants) access to the same instance of the provider’s software. The provider might allow tenants to customize some aspects of their applications (i.e., the UI color, business rules, etc.) but not the application or infrastructure code.With multi-tenant architectures, multiple application users share the same environment. These architectures work by physically integrating the tenants while logically separating them. Thus, a single instance runs on a single server and serves multiple tenants, with everyone sharing the same codebase, database schemas, and UI.
Software applications in multi-tenant architectures still have their own individual configurations, user management, and data. Each user can customize the database schemas and application rules, but to a lesser extent than in a single-tenant architecture.
In this article:
Advantages of a single-tenant architecture include:
Disadvantages of a single-tenant architecture include:
Advantages of multi-tenant environments include:
Disadvantages of multi-tenant environments include:
Related content: Read More About Multi-Tenant Architecture
While implementing single tenant architecture, the customer must deal with higher maintenance costs. It demands maximum resource usage during setup, maintenance, or customization. For example, when SaaS companies maintain new single tenant instances for each new user, these costs are usually transferred to the customer, resulting in a higher subscription price.
Multi-tenant architecture can be a more economical option, because management costs associated with maintenance are shared with other tenants. SaaS vendors typically take responsibility for most maintenance operations. From the customer’s perspective, it requires less effort for setup, upgrades, and maintenance, which are typically done by the vendor.
With single tenant architecture, the main factors impacting performance are the demands placed on the software application, infrastructure, and the hardware supporting the environment.
Multi-tenant architecture must share resources between multiple tenants, can impact performance of the overall system and individual tenants. However, modern multi-tenant systems use advanced mapping and resource distribution mechanisms to make efficient use of resources and improve performance. Some vendors offer improved performance with strict service level agreements (SLAs) to their customers at an additional cost.
Single tenant architecture gives customers more control over backups and recovery. Since a backup includes both the underlying code and data structure of a single instance, this process is straightforward and allows for easy restoration to previous versions.
Multi-tenant architecture typically handles backup and recovery at the system level and not for individual tenants. If tenants have a way to individually backup their data, this could involve complex procedures. This means some vendors cannot satisfy the data and security policies of enterprise customers.
With single tenant architecture, each customer’s environment is their own. Without any shared elements, there is a lower chance of one customer accessing data belonging to another customer. Cyber attacks and accidental damage affecting one tenant is much less likely to affect other tenants.
Multi-tenant architecture has limited isolation between customers (there is a higher degree of isolation if each customer has its own database). With more access points, attackers can more easily identify and exploit vulnerabilities in one tenant’s environment, or in the overall SaaS system, and use them to attack other tenants.
Single tenant architecture offers transparent, predictable scalability for customers. All clients have their own application instances and can scale up by changing sizing or launching additional instances.
In a multi-tenant architecture, since resources are shared, they can be utilized more effectively by the vendor. A multi-tenant system can shift computing resources where needed, and when combined with storage and hardware virtualization, can help reduce vendor costs. From the customer’s perspective, the environment is scalable, but in a way that the user cannot always understand or control.
With single tenant architecture, customers have more control over their environment and configuration. From underlying operating systems to updates and maintenance schedules, customers get more flexibility in managing their environment.
Multi-tenant architecture offers less control over the environment, and typically cannot decide which software updates to apply. Most features are universal for all tenants, while only a few are open to customization by the customer.
Single tenant architecture is suitable for organizations that have unique requirements in terms of configuration, performance, or security. These customers are usually willing to pay more and put in additional effort to set up and configure their environment.
Multi-tenant architecture is suitable for organizations that need to get up and running quickly, and are interested in reducing costs and maintenance overhead. They should be aware of the limitations of the software in terms of customizability, performance and security.
Frontegg realizes that every tenant has its own unique configurations, user sets and security settings. That’s why we are multi-tenant by design. By developing the platform to the essential requirements of B2B SaaS businesses, Frontegg allows each environment to hold segregated sets of tenants, assign users, and hold a separate configuration in a way that doesn’t affect others.
In the complex B2B space, each customer requires more granular control on each configuration. This requires professional SaaS solution vendors to develop a multi-tenant capable infrastructure from day 1 to keep pace with these requirements. Frontegg, with its self-served, end-to-end, multi-tenant, and scalable user management platform is taking user management to the next level
Do check out our detailed guide about SaaS Multi-Tenant Architecture.