In a Multi-Tenant environment, all clients and their users consume the service from the same technological platform, from the data model, servers and database layers.
The transformation that the cloud has brought with it since its inception has forever changed the way we consume software, going from having to install an application on our computer to simply accessing a website to view all our information, but the question here is, how is it that an application that lives in the cloud, can host multiple clients and at the same time maintain so much information? The answer: Multi-Tenancy.
Multi-Tenancy is a software architecture principle that is based on the fact that an application can host multiple clients, in this way, they all work on the same instance of software that runs on the same server, with the only difference being that the data that each client can see is different, achieving an effect in which the application can be viewed as if it were built exclusively for each one of them. A clear example of this is gmail.
Thousands of people (like you, probably) have an email account in this application, however, when we access our emails we can only see our information despite the fact that there are millions of emails on the entire platform. In the same way, we can customize the way in which the page is displayed, since we have the possibility of changing how we organize the emails, folders, colors, etc. Multi-Tenancy makes it possible for many of the applications that we know today as SaaS (Software as a Service) to exist, in which we pay (or not) a monthly rent to use, such as Gmail itself, Trello, Netflix, YouTube, Salesforce, Twitter, Facebook, etc.
Simply put, with a Multi-Tenancy architecture, a software application is designed to partition its data and configuration so that each client works with an instance of the custom virtual application.
Advantages of Multi-Tenancy Architecture
The Multi-Tenancy architecture has many advantages, among which we highlight the following:
- Economy in development and maintenance, since the costs are distributed among all the clients.
- Easy upgrade as only one instance needs to be upgraded.
- Security of the information of each client, since it has a separate schema for each one.
- Optimizes the use of server resources.
Four pillars of Multi-Tenancy architecture
- Availability. Being a shared architecture, built-in redundancy must be provided so that the necessary computing, network and storage resources continue to be available at all times; since a possible failure could affect many clients to whom these services are offered.
- Safe separation. As it is a shared architecture, the isolation of users and the security of information storage must be taken into account.
- Service guarantee. In the same way, the performance of the equipment, the network and the storage must be isolated and guaranteed at any time, be it during normal operation, when failures occur or when certain services generate problems.
- Management. The ability to quickly administer, manage and monitor all resources in an integral way, giving clients immediate and transparent access to the management of their services.
With the increase in SaaS applications in recent years, the need arises to understand how these types of services work and the difference between the different software architectures that exist for these developments. To learn more about everything related to the software development industry, subscribe to our blog.
If you liked this article, subscribe to our blog.
Remember that you can find us on Instagram, Facebook and Twitter as @esauriook
On LinkedIn as e•Saurio