How do you keep track of which version of which microservice is deployed in which environment?

In Details

Say your company has dozens of Microservices and 5 different environments (Dev, QA, Prod, ... ).

Deployments of services are partially automatic and partially manually, depends on the different environments and services.

How do you keep track of:

  1. Which service version is currently running in which environment?
  2. Who deployed, which version, and when, to where?
  3. What is the history of deployments of service X?
  4. What is the history of deployments into environment Y?

How do you do all the above if you have A-B testing, where you can have several versions of the same service running simultaneously?

In this link they suggest adding build information to the manifest file, which is a good start, but is there a way to fulfill the above requests?

  • 3
    These capabilities are typically built into CD tools - I can personally vouch for OctopusDeploy as being able to keep track of those things (The team I work on uses a combination of TeamCity for build/CI and Octopus for managing deployment and environments - we have several hundred microservices with up to 8 environments in some cases), but I would expect other similar tools such as GitLab pipelines Azure Devops would also have similar/equivalent capabilities too. Commented Dec 22, 2020 at 11:12
  • I can confirm Azure DevOps does indeed have this capability.
    – Rohn Adams
    Commented Dec 31, 2020 at 23:18


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.