Most modern applications, especially microservices-based ones, require some degree of multi-tenancy.
There are advantages of using multi-tenancy:
- Allows a secure and compliant access separation.
- Allows the application to serve multiple customers at once - while sharing the underlying infrastructure and services.
- Allows for load balancing and scaling.
An authorization layer is the most robust and fastest way to upgrade from a single-tenant application to a multi-tenant application safely. By applying a policy across all the relevant services, the authorization layer can apply the needed separation without requiring changes to the services themselves.