Reputation: 1108
Imagine a case, that we have a project, which uses microservices architecture and common infrastructure layers like API gateway and services underneath. So, any client request comes to API gateway and then forwards directly to one or another microservice.
It also has a common development flow like:
So, at some point, we want to release new features for different microservices. A developer finished his part and passed it to QA, however, testers want to test it from the user perspective and send requests to API gateway in order to cover business scenarios, neither from the feature side and check that specific microservice works. Meaning, that we want to deploy an original system snapshot + feature version of particular microservice.
The question is, how do you manage and keep up to date different versions or microservices in a system?
Please share some ideas, tools if you use and approaches. I would really appreciate it!
Upvotes: 1
Views: 448
Reputation: 1094
I use the following tools:
My simplified scheme is as follows:
Thus in gitlab docker registers there are different versions of docker containers of microservices that you can optionally deploy separately on different environments.
It is also easy to convert this schema to GitOps using tools such as ArgoCD, Werf, etc.
Upvotes: 1