Technical programming journals, websites, and blogs all over the internet are littered with people’s views and assertions about making the decision between single tenancy or multi-tenancy.
Quite often, we talk to people who know a little bit about what this means, enough to have a semi-informed conversation. However, when it comes to their business and how this type of architecture fits in, they’re a little in the dark.
So, let me explain this in layman’s terms.
Consider a villa (an independent house), means a single building accommodates a family/occupant and no need for sharing their amenities with anyone.
Now, let me relate it to the technical terms :
A single instance of the software/application and the entire supporting infrastructure serves a single customer. With single tenancy, each customer has their own independent database and instance of the software. With this option, there’s essentially no sharing going on. Everyone has their own, separate from everyone else.
Consider an apartment; means a single building accommodates many families/occupants and shares the parking area/garden /lobby with others.
Now, let me relate the same to the technical terms :
Multi-tenancy means that a single instance of the software/application and the entire supporting infrastructure serves multiple customers. Each customer shares the software application and also shares a single database. The data is tagged in the database as belonging to one customer or another, and the software/application is smart enough to know who the data belongs to.