Single-tenant vs multi-tenant hosting
Summary: Multi-tenant and single-tenant hosting are two ways SaaS companies provide their services. Multi-tenant hosting is when many clients exist on the same software instance, sharing infrastructure, database, and/or an application server. It’s less expensive but comes with risk. Single-tenant is when a tenant doesn’t share anything. It’s more expensive and requires much more administration because it requires having a full software stack running for every client.
Software-as-a-Service (SaaS) products can have various levels of multi-tenancy. At the application server level, there can be a pool of application servers with load balances that services multiple clients. At the database level, there can be a database per tenant or a shared database across all tenants.
In this article, we highlight some of the key characteristics of single- and multi-tenancy deployment so you can choose the solution that’s best for you.
Multi-tenant hosting (also called shared hosting) is when a single instance of a database, application server, or infrastructure is shared across multiple clients. Each client pulls from shared resources, and each client’s data is essentially tagged and partitioned to keep it separate. One way to think about this is like an apartment building. A multi-tenant client has their own apartment with a key that only works on their door but shares the overall building.
Advantages of multi-tenant hosting
Multi-tenant hosting is less expensive
Because there are many clients on the same servers using the same underlying software, there are significant cost savings.
In a single-tenant-only world, every client would need a full infrastructure of servers, routers, firewalls, etc. This drives up the cost.
On a multi-tenant instance, these costs, along with things like system monitoring and servicing the deployment become shared, which makes it less expensive for everyone.
Multi-tenancy simplifies hosting
Multi-tenant solutions simplify hosting in two big ways.
- Protecting systems is generally easier because there are fewer interaction servers and infrastructure systems which reduce systems’ vulnerability exposures. For example, there are generally less servers to patch upgrades for vulnerabilities and monitoring within multi-tenant hosting.
- Upgrading software is a much easier task, because every client is running the same level of software it is easy to upgrade the deployment in one outage/maintenance period.
Disadvantages of multi-tenant hosting
Greater security risk
Strict authentication and access controls need to be in place to prevent clients from reading, writing, and updating each other’s data. What’s more, there is a risk that data corruption can propagate through all the clients on an instance – a risk multi-tenant hosts work hard to mitigate.
Serviceability and Maintainability
Because everyone relies on the same codebase, updates to the both hardware and software can affect all clients, and maintenance period for any downtime will affect all clients at the same time.
Possibility of competing for system resources
Multi-tenant hosting shares system resources and as the client base grows dynamically, provisions must be made to add more resources as needed. While there can theoretically be conflict over these resources, there are protocols in place to make sure that resources are balanced across all clients: protocols like load balancers and “elastic” computing. These innovations ensure the checks and balances are in place to service all clients in response to dynamically changing resource demands.
Single-tenant hosting (also called dedicated hosting) is when a single instance of software and infrastructure are dedicated to a single client. Single-tenant hosting is like a single-family home where no other families live. The single family owns and utilize all things pertaining to the home.
Advantages of single-tenant hosting
Single-tenant hosting gives clients more control
Single-tenant hosting solutions can customize their software more than the multi-tenant solutions since they only services one client. An analogy is if you live in a house you can knock out a wall and no one else cares — you can do what you want and it won’t impact anyone living in the house next door.
Single-tenant hosting offers isolated security risks
Just like multi-tenant agreements share a database and server, single-tenant clients have these all to themselves. This makes security exposures to vulnerabilities and penetration attacks isolated to the single client and recovery may be expedited easily from a backup/restore or a disaster recovery system.
Single-tenant hosting can be choosier about software changes
Because they’re the only tenant, they can usually choose to accept or decline a software update. Most SaaS organizations do have limits on the end of life of old software before they either stop supporting it or force an update, but single-tenant can choose when and if they want to update providing it is before the software version expires.
They can also choose what features or add-ons they want, as well as request custom solutions built specifically for them. This is rare, since most vendors would still want to maintain a single code base with configurable options per client, but it is possible.
Dedicated systems services
There is better control of system capacity planning and monitoring since the client knows the traffic workload characteristics. When sharing system resources, it can be challenging to deterministically tell what resources are needed, since there is dependency on other clients.
Disadvantages of single-tenant hosting
The primary disadvantage of single-tenancy is cost.
- There is no cost sharing for things like serviceability, system monitoring, and deployment.
- Clients need to worry about their own data backup/restore and disaster recovery system as well as manage their own patching and updating (which means high IT costs).
It’s not just cost though. Single-tenant systems can be less efficient as well, first because they’re running on entire servers that might not be at capacity, and second because the underlying software is only serving one client and not benefiting from all the services provided by multi-tenant solutions.
Multi-tenant and single-tenant hosting: conclusion
Cloud solutions aren’t just for techy consumer-facing customers. They’re also a viable solution for enterprise organizations. Cloud hosting organizations and the SaaS businesses who work with them have put in a tremendous amount of effort to build solutions that work for security-conscious enterprises.
One solution that we frequently see in the enterprise is a hybrid model, where clients participate with a multi-tenancy SaaS solution in the cloud while maintaining a local on premise solution where they store sensitive intellectual property and ensure data sovereignty.
Like most tech, it’s less about choosing the best solution out of multi-tenant and single-tenant hosting, and more about choosing the product that’s right for you.
Terry is CTO of Upchain. Upchain is an intuitive cloud PLM solution that help companies launch products faster.