Multi-tenancy is an architecture in which a single instance of a software application serves multiple customers. Each customer is called a tenant. Tenants may be given the ability to customize some parts of the application, such as the color of the user interface (UI) or business rules, but they cannot customize the application’s code.

In a multi-tenant architecture, multiple instances of an application operate in a shared environment. This architecture is able to work because each tenant is integrated physically, but logically separated; meaning that a single instance of the software will run on one server and then serve multiple tenants. In this way, a software application in a multi-tenant architecture can share a dedicated instance of configurations, data, user management and other properties.

Multi-tenancy applications can share the same users, displays, rules — although users can customize these to an extent — and database schemas, which tenants can also customize.

Importance of multi-tenancy

Multi-tenancy has seen a lot of could adoption and is used most with cloud computing. Multi-tenant architectures are found in both public cloud and private cloud environments, allowing each tenant’s data to be separated from each other. For example, in a multi-tenant public cloud, the same servers will be used in a hosted environment to host multiple users. Each user is given a separate and ideally secure space within those servers to store data.

Multi-tenancy is also important for the scalability of public and private clouds, and has helped make multi-tenancy a standard. The multi-tenant architecture can also aid in providing a better ROI for organizations, as well as quickening the pace of maintenance and updates for tenants.

Advantages and disadvantages of multi-tenancy

There are a number of advantages and disadvantages that come with becoming a host provider and a tenant with multi-tenancy. Some advantages include:

  • It is less expensive when compared to other tenant hosting architectures.
  • An offering of pay-for-what-you-need pricing models.
  • Tenants don’t have to worry about updates, since they are pushed out by the host provider.
  • Tenants don’t have to worry about the hardware their data is being hosted on.
  • Providers only have to monitor and administrate a single system.
  • The architecture is easily scalable.

Some disadvantages, however, that come with multi-tenancy include:

  • Multi-tenant apps tend to be less flexible than apps in other tenant architectures, such as single-tenancy.
  • Multi-tenancy is, in general, more complex than single-tenancy.
  • Multi-tenant apps need stricter authentication and access controls for security.
  • Tenants have to worry about noisy neighbors, meaning someone else on the same CPU that consumes a lot of cycles, which may slow response time.
  • Downtime may also be an issue depending on the provider.