SaaS Multitenant Development
SaaS Multitenant Overview
Software as a Service (SaaS) is a cloud based application service with Multi-tenant architecture, where a single application serves multiple tenants, or customers.
- All tenants share the same product codebase
- Database is either
- shared where data is isolated and remains invisible to other tenants, or
- can be separate if strict isolation and tenant-to-tenant data leakage security is desired.
Enterprise Microservices For Building SaaS Multitenant
Enterprise Microservices are a cloud-native approach to building SaaS Multitenant applications.
Main Product Microservices
Tenant Specific Customization Using Microservices
For Customizations, build Tenant-specific Microservices using one of the communication methodology.
Microservices Communications Approaches
Synchronous, Blocking
- Using REST WebClient and Tenant-specific Microservices
Event-based, Asynchronous, non-intrusive
- Using Kafka Events and Tenant-specific Microservices
Event-Based Customization Using Microservices is preferred approach.
Event-Based Customization Using Microservices
Enterprise softwares are made available in the multi-tenant SaaS (Software as a Service) model. They need to enable customer-specific business advantage for every different tenant who will use the same main software product. This can be achieved with a customization solution for cloud-native multi-tenant SaaS using event-based customization in a non-intrusive manner.
Approach
- e.g. Using an event bus and integrating with tenant-specific microservices for customization.
Customization approach should make sure of
- tenant-isolation, i.e. their data is isolated and remains invisible to other tenants.
- It should also reduce the number of API calls to the main software product
Boost Development with EasyManage
EasyManage provides jumpstart and productivity boost to "Multitenant SaaS" Event-Based Customization Using Microservices.
You can use the recommended architecture and accomplish your project development with EasyManage generated code and configurations.