What is Multi-tenancy (Multi-tenant Architecture)? How to implement it ?
In this article, we’ll move from higher level of what multi-tenant architecture is, to the core logic of its implementation. We’ll mainly introduce the different types of this architecture, its pros and cons, use cases, and finally the core logic of implementing a multi-tenant app, so let’s jump in! ⚡️ ✨😉 😊
What is multi-tenancy
Multi-tenancy started to be more known with the emergence of cloud and SaaS (Software as a Service). The concept means that a software product has several customers (tenants) subscribed to it and share the same physical resources (CPU, RAM, disk, etc) while keeping data of the different tenants isolated. The multi-tenant app can be deployed to a virtual machine, to the cloud, or to a server. In simpler terms, multi-tenancy is used when some organisations/companies purchase a certain software, and they have their own data and users, data is important to them, so it is isolated from other organizations’ data.
The other case, what we call, single-tenancy, in which each tenant has their own physical resources, separated from other tenants, which implies maintenance for each tenant’s infrastructure, and which can also lead to versions issues, i.e a different app versions for different tenants. Multi-tenancy allows to reduce maintenance…