mercredi 6 octobre 2021

Design of shared microservices in an Multi-Tenant architecture

In our organisation, we have a software system, powered by multiple microservices namely :-

  • Aggregator MS.
  • Customer MS.
  • Document MS.

Each of the aforesaid micro-service have a master branch, which has latest codebase.

Now, there are multiple verticals which are actively developing & contributing to aforesaid microservices. Some of the verticals(independent group of developers) are for example :-

  • Vertical-A
  • Vertical-B
  • Vertical-C

There are pre-defined strategies for each vertical (into which they do their development) and some common code as well, in the above microservices.

Also, each vertical have Infrastructure level segregation, which means there are 3 independent cluster-setups for each vertical.

Post their respective deployment, each vertical merges their code to the respective master branches. Now, if another vertical has to do their development, they have to rebase their feature/local branch with master and then proceed.

Now the Problem is :-

Whenever Say Vertical-A introduces some change in any of three microservices, they need to take the signoff from remaining verticals i.e. Vertical-B & Vertical-C. In another sense, we have a huge inter-dependence of one vertical on other verticals.

I shall be thankful to the community here, if you can suggest some ways of de-coupling the code here.

Any pointers or references would be highly appreciated & welcome.

-- Thanks aditya

Aucun commentaire:

Enregistrer un commentaire