
mmuthigani
Published on 05/30/2024
Multi-Tenant Application
The multi-tenancy concept is that numerous users share computational, networking, and storage resources without seeing each other’s data. A multi-tenant application is customized for every group of users (so-called tenants) while the entire architecture and core functionality remain the same. Multi-tenancy is a typical approach for Software-as-a-Service (SaaS) vendors
Resource utilization increases, and, as a result, project ownership is typically more reasonable. But it cannot be employed for every app. Let me explain how multitenancy works, how it differs from the single tenancy, and when to apply it.
Use Cases
Multi-tenant architecture best suits the following types of applications:
⦁ SaaS (software as a service) or AaaS (applications as a service)
⦁ PaaS (Platform as a Service)
⦁ IaaS (Infrastructure as a Service)
⦁ For all other applications where multiple clients use the same stack of algorithms. The main functionality is either the same or modular, and it can be tailored to any of the client’s needs.
Multi-Tenant vs. Single-Tenant
To choose exemplary architecture, we must comprehend how both work.
1. Single-Tenant
Each user receives dedicated computing, network, and storage resources. Every environment is developed and managed separately. In essence, this option does not allow for any sharing.
2. Multi-Tenant
This model supports hosting multiple customers inside one environment and reusing core application functionality. Each of the tenants is isolated and invisible to others. Residents are separated logically, not physically; thus, fewer hardware investments are needed. Other benefits include simplified security support and more affordable licensing. Less time/effort disbursed on many diverse solutions means more time/effort dedicated to the core solution. Overall quality wins in this case.
Multi-Tenant and Single-Tenant applications — image by the author. © All rights reserved
Sample Solution Architecture
Let’s continue with a simple but real-world multi-tenant solution.
Here the data layer is made of a single shared Cloud SQL (MySQL) instance and object storage. Clients (tenants) use a stack of shared Cloud Functions that comprise the serverless business layer.
mmuthigani
Published on 05/30/2024
mmuthigani
Published on 02/10/2024
mmuthigani
Published on 01/12/2024