Are multi-tenant apps = SaaS?
Should all SaaS apps employ multi-tenancy architectures? Can multi-tenancy architectures be applied to consumer apps?
Multi-tenant apps’ broader definition
In the last chapter, we discussed multi-tenancy in a general sense. To summarize, when we refer to a multi-tenant app, it doesn't necessarily mean the app adheres to one architectural model; it might utilize various tenancy strategies, indicating that at least some of its components are shared.
In this chapter, we'll explore multi-tenant apps from a business and product standpoint.
Types of multi-tenant apps in business
SaaS
Multi-tenant apps often find their place in business-to-business (B2B) solutions like productivity tools, enterprise resource planning (ERP) systems, and other software-as-a-service (SaaS) products. In this context, each "tenant" typically represents a business customer, which could have multiple users (its employees). Additionally, a business customer might have multiple tenants to represent distinct organizations or business divisions.
Generic B2B use cases
B2B applications go beyond SaaS products and often involve the use of multi-tenant apps. In B2B contexts, these apps serve as a common platform for various teams, business clients, and partner companies to access your applications.
For instance, consider a ride-sharing company that provides both B2C and B2B apps. The B2B apps serve multiple business clients, and employing a multi-tenant architecture can help the management of their employees and resources. To illustrate, if the company wishes to maintain a unified user identity system, it can design an architecture like the following example:
Let's use Sarah as an example. Sarah has both a personal and a business identity. She uses the ride-sharing service as a passenger and also works as a driver in her spare time. In her professional role, she is associated with Company A, but she also manages her own personal business.
The importance of multi-tenancy in SaaS
If you've been following the information above, you now have the answers you need. SaaS, or software as a service, is a concept defined from a business model viewpoint. Multi-tenancy, on the other hand, is a software architecture applicable in various situations, whether in SaaS or other B2B contexts.
The mix-up between SaaS and multi-tenancy often arises due to a widely recognized industry belief: when you're aiming for enterprise clients, adopting a multi-tenant approach is a must-have approach.
This emphasis on multi-tenancy is rooted in its substantial role in addressing the complexities that come with serving enterprises, offering valuable solutions from various angles.
Scaling with multi-tenancy
For enterprise businesses, multi-tenancy is the key to effectively fulfilling their requirements for availability, resource management, cost management, and data security. On a technical level, adopting a multi-tenant approach streamlines your development processes, minimizes technical challenges, and promotes seamless expansion.
Creating a unified experience
When examining the roots of SaaS products, it's akin to a building housing various apartments. All tenants share common utilities like water, electricity, and gas, yet they maintain independent control over managing their own space and resources. This approach simplifies property management.
Think of your SaaS product as this building. Instead of having separate agents for each unit, some components or units can offer a unified experience shared by all tenants. This is more efficient than individually crafting and managing each room. The multi-tenancy architecture offers advantages for both your business operation and your customers.
Ensuring security through tenant isolation
When discussing multi-tenant applications, it's important to delve into the concept of tenant isolation. In a multi-tenancy architecture, the term "tenant" is introduced to create boundaries that separate and secure the resources and data of different tenants within a shared instance. This ensures that each tenant's data and operations remain distinct and secure, even if they are utilizing the same underlying resources.
In the context of SaaS, multi-tenant architecture employs mechanisms that tightly control access to resources and prevent any unauthorized attempts to access another tenant's resources.
The concept of tenant isolation might seem abstract and unclear. In the next chapter, we'll use examples and key points to provide a more detailed understanding of the principles and mindsets behind tenant isolation.