Multi-tenancy is a software architecture that allows a single instance of software to serve more than one group of users by giving them each a dedicated share of the software. Multi-tenant applications can be customized to some extent to support the different groups of users that use them. For example, organizations can put their own corporate brand (called a “skin”) on the application, design their own workflow that will be used by their employees, extend the data model if necessary, and control access rights for their users. However, they are not permitted to change any of the underlying application code.
Multi-tenancy is an important feature of cloud computing. Software as a Service (SaaS) providers can run one instance of an application on a single database and give web access to their different customers/tenants, with a look and feel that is customized for them. They safeguard each tenant’s security by keeping each tenant’s data isolated and invisible to the other tenants.
Multi-tenancy is growing in popularity because it makes economic sense for the cloud providers as well as the customers. Vendors can amortize the cost of memory, processing, hardware, and licensing across all of their customers, and can maintain and update the software easily. Customers can get the benefits of the software without having to install, patch, update and manage it, and can rely on the vendor to do all of the development and security testing. Vendors who offer multi-tenant applications are responsible for the performance and robustness of the software, and security isolation between all of their tenants.