In multi-tenant software architecture—also called software multitenancy—a single instance of a software application (and its underlying database and hardware) serves multiple tenants (or user accounts).
A tenant can be an individual user, but more frequently, it’s a group of users—such as a customer organization—that shares common access to and privileges within the application instance. Each tenant’s data is isolated from, and invisible to, the other tenants sharing the application instance, ensuring data security and privacy for all tenants.
Software multitenancy is the architecture on which Software-as-a-Service (SaaS) is delivered. If your organization uses salesforce.com, HubSpot or another cloud-based SaaS offering, you’re a tenant in a multi-tenant offering.
Somewhat confusingly, multi-tenant can also refer to cloud hosting offerings. In multi-tenant hosting—also called shared hosting—a single physical computer or virtual machine (VM) is shared among multiple users or client organizations. Multi-tenant hosting solutions are offered by cloud service providers typically as a lower-cost alternative to single-tenant or dedicated hosting solutions.
The remainder of this article will focus on software multitenancy. Learn more about types of multi-tenant and single-tenant hosting here.
Compared to single-tenant architecture—in which each tenant gets its own instance of the application, database and supporting hardware infrastructure—multi-tenant architecture offers significant benefits to software providers and tenant customers, including the following:
Multi-tenant cloud was often (but now less frequently) used as a synonym for shared hosting or for any architecture in which customers share computing resources in a public or private cloud. Today, it’s understood that most leading cloud service providers deliver most of their offerings—everything other than dedicated hosting service—based on the multi-tenant model, which allows providers to maximize utilization of their data center hardware and infrastructure and, therefore, offer cloud services to customers for the lowest possible costs.
When choosing a database for multi-tenant applications, developers must strike a balance between customers’ need or desire for data isolation and a solution that scales quickly and affordably in response to growth or spikes in application traffic.
To ensure complete isolation, the developer can allocate a separate database instance for each tenant; at the other extreme, to ensure maximum scalability, the developer can have all tenants share the same database instance. But, most developers opt to use a data store such as PostgreSQL, which enables each tenant to have its own schema within the same database instance (sometimes called ‘‘soft isolation’’) and provides the best of both worlds.
Explore the essentials of iOS app development, from selecting the right programming language to deploying your app on the App Store. Learn about APIs, testing strategies and how to use cloud solutions for scalable and innovative iOS applications.
Discover the key aspects of Android app development, from selecting the right tools and programming languages to optimizing your app for various devices.
Discover how IBM watsonx Code Assistant for Z is transforming app modernization with AI. Learn how to enhance productivity, reduce costs and modernize legacy systems for future success.
Boost annual revenue by 14% and cut maintenance costs by up to 50% with targeted app modernization strategies.
A fully managed, single-tenant service for developing and delivering Java applications.
Use DevOps software and tools to build, deploy, and manage cloud-native apps across multiple devices and environments.
Cloud application development means building once, iterating rapidly, and deploying anywhere.