When you think of applications like HubSpot, Salesforce, Zendesk, or Netflix, each subscriber shares the application and has access to a single database.
Such environments are called multi-tenancy.
In this post, we’ll explain the capabilities and benefits of multi-tenant software architecture and why companies should adopt multi-tenant solutions.
#What is Multi-Tenancy?
Multi-tenancy is an architecture in which a single instance of a software application serves multiple customers. In this environment, each customer is called a tenant. In a multi-tenant system, multiple instances of an application operate in a shared environment.
However, each subscriber’s data is isolated and remains invisible to other subscribers. The users can personalize some components of the application, such as the theme colors or notification settings, but they have no access to the core code.
This is made possible because each tenant is integrated physically but logically separated. This means that a single instance of the software can run on one server and can serve multiple tenants.
These tenants can use the same hardware and data storage, creating a dedicated instance for each customer.
#Types of multi-tenancy use cases
- SaaS (Software-as-a-Service) or AaaS (Application-as-a-Service) – A complete software solution that organizations purchase on a pay-as-you-go basis from a cloud service provider.
An organization rents the use of an app and allows multiple tenants to connect to it using their respective accounts. All the underlying infrastructure, middleware, app software, and app data are located in the service provider’s data center.
PaaS (Platform-as-a-Service) – A multi-tenancy development environment that users can use to deliver everything from simple cloud-based apps to cloud-enabled enterprise applications. Since the development environment is not hosted locally, developers can work on the application from anywhere in the world.
IaaS (Infrastructure-as-a-Service) – A type of cloud computing service that offers essential computing, storage, and networking resources on demand, on a scalable basis. Each resource is offered as a separate service component, and teams only pay for a particular resource as long as they need it.
For any other application where multiple clients use the same stack of algorithms. The main functionality can be the same or modular and it’s tailored to any of the client’s needs.
#Single-tenancy vs. multi-tenancy
Multi-tenancy is in many ways different from single-tenancy, an architecture in which each customer (tenant) has their own software instance and may even get access to source code.
In single-tenant environments, a tenant has a dedicated instance of a SaaS application. This differs from multi-tenancy, where each tenant uses shared services.
Since each tenant occupies a separate environment, they are not bound by the same restrictions as users of shared infrastructure would be.
In other words, single-tenancy architectures are much more customizable.
Still, multi-tenancy is the more used option of the two, as most SaaS runs on multi-tenancy. When compared to single-tenancy, multi-tenancy is cheaper, uses resources more efficiently, costs less to maintain, and enables larger computing capacity.
In the updates department, with a multi-tenant architecture, the provider only has to make updates once. With a single-tenant architecture, the provider needs to address multiple instances of the software in order to make updates.
So why would someone choose single-tenancy over multi-tenancy?
In most cases, it’s because the customer wants to have more control and flexibility in their environment.
#Benefits of multi-tenancy
Multi-tenancy reduces the purchase cost of applications in two ways:
The economy of scale: Multi-tenancy brings far fewer infrastructure implications than with a single-tenancy solution, as new users get access to the same basic software.
Shared infrastructure: Multi-tenancy SaaS allows companies of all sizes to share the costs of the infrastructure and data center operations. There’s no need to add applications and more hardware to their environment. This way, companies can divert their funds into their core business.
No maintenance fees
When using multi-tenancy solutions, customers don’t need to pay high maintenance fees to keep the software up to date. As vendors roll out new features and updates, those are often included in a SaaS subscription.
Ease of configuration
Thanks to a shared infrastructure, users can configure the environment while leaving the underlying code base unchanged.
In contrast, when single-tenant-hosted solutions need customizing, it requires changes to an application code. These customizations can be costly and make upgrades time-consuming because the upgrade might not be compatible with the environment.
#Why adopt a multi-tenant architecture
Multi-tenant architecture has a lot of applications in cloud computing. Multi-tenant architectures are used both in a public cloud and a private cloud environment, making sure each tenant’s data is separated from the other.
In a multi-tenant public cloud, for example, the same servers are used in a hosted environment to host multiple users. Each user is given a separate and ideally secure space to store data.
Multi-tenancy can also help providers scale public and private clouds, which has in return, made multi-tenancy a standard. For organizations, multi-tenancy can also provide a better ROI, as well as speed up maintenance and updates.
Multi-tenancy is the ideal architecture to take advantage of cloud servers. More data is migrating from on-premise to the cloud. The 2022 State of Cloud Report reveals that 90% of large enterprises have adopted cloud infrastructure.
By migrating to the cloud, organizations can more efficiently tap into diverse data sources. More specifically, multi-tenancy environments allow businesses to:
Reduce costs – Unlike single-tenant architectures, where each instance of an application needs investment for memory and processing, multi-tenancy allows a large number of applications to share these costs.
Simplify data access – With multi-tenant architecture, the customer data is more accessible. This allows customers to access all data within a single database schema.
Simplify client responsibility – Clients are responsible for software development, such as updates and patches, but not hosting and other areas that are handled within the cloud.
Streamline updates and releases – Multi-tenancy doesn’t require vendors to release data and code to individual client desktops and servers. The packages only need to be installed on a single server.
A real-world multi-tenancy example
Here’s a case study of how an organization chose a headless CMS as a multi-tenant solution for its problem.
Over 200 external exhibitors from 31 countries took part in gamescom 2021 – the largest online gaming convention, setting multiple challenges before the gamescom team.
They had to ensure that all participants were able to match the experience online and have granular permission levels with strong governance, as required by the time-sensitive launch information that gaming companies had to add.
Looking for an ideal solution, the gamescom organizers and partners decided to build a multi-tenancy content platform that would match the performance of a leading streaming platform.
After evaluating several headless CMS, DXP, and custom solutions, the gamescom team chose Hygraph and Frontastic as the perfect tools for what they wanted to achieve.
Thanks to its granular and condition-based permissions, as well as the ability to handle extremely high peaks of traffic and provide a resilient content repository to manage content from over 200 contributors, Hygraph was singled out as a premium solution when paired with a custom frontend for Frontastic.
The teams worked closely with gamescom to set up multiple custom roles for external users with granular permissions.
This way, users were unable to view, edit, or find content from one another, because of the confidential nature of content that was added before the “launch day”.
Multi-tenancy SaaS solutions are designed so that users can configure them to their needs without changing the code structure, which would make the upgrade process difficult.
They are more affordable than single-tenant architecture apps because the processing and storage costs are shared between the tenants.
These features make them especially interesting for organizations that rely on federated content and different user-level permissions.
If you’re interested, find out more about why organizations chose Hygraph to manage high volumes of content.