Multi-tenancy, as it relates to computing, is a software architectural principle most common to business computing. A service provider stores software applications on a central server or servers for use by multiple organizations. Each organization uses the application as if installed on their native computer network. While these organizations share usage, each is independent with no access to the others' data, settings, or user information. The concept of multi-tenancy works much the same as multiple users on a single personal computer, but on a much larger scale.
The concept of multi-tenancy first gained popularity in the early years of computing. Companies rented data storage space or processing power from mainframe computers to reduce the expense associated with operating an independent computer network. In the early years, computer components were large, required extensive floor space, and carried considerable expense. Renting space or processing power from a large mainframe, such as a university or government contractor, provided a feasible solution.
As the Internet gained popularity, application service providers hosted software on their servers for the benefit of specific customers. Hosted applications allowed organizations to utilize software requiring heavy duty processing power without investing in expensive servers and additional equipment. The primary difference in this form of multi-tenancy is the method of access. Users access hosted applications through a web portal, rather than a mainframe. Websites and web-based email are primary examples of hosted multi-tenant architectures.
Consumer-oriented web services, such as common free email accounts, require a single application but are not multi-tenant. If an organization rents a segment of such accounts, customizing the accounts and limiting access for a particular organizational purpose or intranet, then a multi-tenancy architecture exists. While these email providers do not offer such customization and limited access, the concept provides an easy to understand example of a hosted multi-tenant architecture.
Hosted multi-tenant applications have limits. Just as a single personal computer can only run one operating system for one user at a time, hosted applications face similar limitations. Hosted multi-tenant environments normally require separate machines for multiple installations of a single application. In some cases, applications run on a single machine as separate processes.
Modern cloud computing uses multi-tenancy principles to provide hundreds of customers and organizations with access to software applications. Rather than hosting a single installation of an application, providers provide enterprise-level applications. These applications reside on multiple servers and allow numerous individual and organizational users to access applications simultaneously.