What is Multi-Tenant? Multi-Tenancy Explained » Sisense
Skip to Main Content

Multi-tenancy

What is multi-tenancy?

Multi-tenancy is an architectural approach that software-as-a-service (SaaS) providers use in which a single instance of their software serves multiple customers. Each customer, or “tenant,” accesses the software independently, keeping their application data separate and secure.

Unlike single-tenancy, in which each customer instance typically operates in its own virtual machine, multi-tenancy employs one code base and database for all clients. This enables the SaaS provider to optimize resource usage, streamline operational management, and achieve scalability.

MULTI TENANT graphic 640x646 297x300SINGLE TENANT graphic 640x646 297x300

How do I use a multi-tenant architecture?

To leverage a multi-tenant architecture, developers transition from building single-tenant software, designed to serve one customer per instance, to architecting software designed to support multiple customers. Product teams define the requirements and features of a multi-tenant system based on market research and customer feedback, and ensure the development aligns with business goals.

Designing multi-tenant software requires considerations for logical tenant isolation, as well as a database and application architecture that supports many customers. Often, it requires evaluating technologies like cloud computing, horizontal scaling, and load balancing to ensure optimal performance as tenant usage and the number of customers grows.

Ensure customization latitude

A critical design point is that the multi-tenant application allows each tenant enough customization latitude within their account. Why? Because, unlike single-tenancy applications, there is typically no room for one-off database or code-base customizations on a per-customer basis, because everyone is running the same codebase and database schema.

Design multi-level reporting and monitoring

Developers must also consider providing reporting and monitoring at both the tenant level that the customer can see, and also at the overall deployment level that the SaaS provider can monitor, for effective management of service level agreements.

Manage customer onboarding and upgrades

Finally, developers must consider how to deliver customer onboarding and roll out upgrades across the customer base, as the approach differs from traditional software, from provisioning resources, and account configuration, to testing, and customer communication.

In modern SaaS applications, multi-tenancy is indispensable. Leading SaaS providers like Salesforce, Microsoft Office 365, Slack, and Zendesk rely on this architecture to scale their delivery to hundreds of thousands of customers, while ensuring efficient resource utilization, cost-effectiveness, and scalability, all of which is essential for profitable delivery.

What value does multi-tenancy provide?

Multi-tenancy provides significant value for SaaS providers, particularly in the context of cloud infrastructure adoption. As more data migrates off-premise to the cloud, multi-tenancy enables companies to efficiently harness different data sources. Key benefits of multi-tenancy include:

  • More efficient resource utilization: Multi-tenancy enables providers to minimize expenses by allowing multiple applications to share memory and processing resources, eliminating the need to separately provision and resource individual application instances.
  • Better customer experience: Customers are relieved of hosting-related tasks, such as infrastructure maintenance, updates, and patches. Those tasks are managed by cloud providers, which means clients can focus on their business rather than maintenance.
  • Easier to scale: A multi-tenant architecture makes it easier for a provider to monitor the deployment of resources and services across customers, thus ensuring strong performance for all tenants. And because resources are shared by tenants, it enables the provider to more effectively scale as customer volume increases.
  • Faster customer onboarding: Because multi-tenant applications do not require provisioning when new tenants are onboarded, it’s much easier to add customers or provide trials. It may be as easy as creating a new account in a few clicks.
  • Streamlined releases: Unlike the traditional model where data and code are distributed to individual client desktops and servers, multi-tenancy simplifies deployment by requiring installation on a single server, expediting release processes.

Key risks of multi-tenancy

Multi-tenancy, although widely adopted in architecture decisions for SaaS delivery, has inherent risks that warrant consideration. Key risks associated with multi-tenancy include:

  • Security considerations: With customers sharing a single database or database, software developers must carefully architect their multi-tenant application to ensure customer data is securely separate—both at the application and database level.
  • Downtime concerns: The reliance on shared resources introduces the potential for widespread outages, which can disrupt operations and adversely impact businesses and customers. This scenario underscores the importance of robust contingency plans and failover mechanisms.
  • Performance degradation: Resource contention among multiple tenants can lead to performance degradation, especially during peak usage periods, necessitating careful resource allocation and monitoring to maintain optimal performance levels.

Back to Glossary

To learn more about analytics solutions that will keep you competitive, schedule a demo.

Want the latest in analytics?