Multi-tenancy is an architecture, wherein a single instance of a software application works for multiple customers. In this regards, each and every customer is known as a tenant. Tenants may be given the capability to modify some segments of the application, such as color of the user interface (UI) or business rules, but they cannot modify the application's code.
Multi-tenancy has been considered to be cost-effective because software development and maintenance costs are divided among the different users. It can be compared with single-tenancy, an architecture, wherein each customer own their software instance and may be given access to code. With a multi-tenancy architecture, the service provider just needs to make the required updates once in a while. While in contrary to this, in case of single-tenancy architecture, the service provider has to touch multiple instances of the software so as to make the desired updates.