Return

Pattern: Customization Through Microservices

Use a customization API to handle customizations

Customization Through Microservices

In a cloud based (SaaS) application, customization is generally an anti-pattern. However, there are certain areas, such as ERP and CRM platforms, where this is an essential feature of the system. A company with such a product, looking to migrate to a modern, SaaS, platform must be able to offer the same customization features to their customers.

In This Context

The goal of a SaaS platform is to leverage multi-tenancy, that is all users of the system share the same platform. How then can we have custom code for each customer? Adding the custom code into the main application, as is usually done with legacy applications which are run on client’s own servers, is not a viable option in a multi-tenant SaaS model.

Therefore

By creating a well defined ‘customization’ interface (API), customer specific microservices can be created to execute all custom logic. The custom microservices are only called at designated points, and routing is handled by an internal API gateway or service mesh.

Consequently

Customization can be offered to customers without negatively impacting the core services or other customers.