How to Version Microservice Configurations

Versioning Microservice Configurations – Change Happens

Versioning microservice configurations is a core function of DeployHub and critical for tracking microservice changes overtime.  As we often say, change happens.  With source code changes, we used tools like Git.  But source code does not have associated meta data like a microservice.  By tracking versions of the microservices, their deployment attributes, and their dependent application versions, DeployHub provides you the guard rails needed for managing change in a service based architecture.  DeployHub creates a Software Bill of Matieral (SBOM) for each microservice, and in turn each application that consumes them.   Like code, DeployHub versions all deployment and configuration meta data allowing you to see what microservices are running in your cluster, their versions, how they got there and which applications are using them. While microservices move us away from a traditional build and release approach, we still need a method of tracking the SBOM.  DeployHub does this for you through its versioning engine. Tracking your application versions and understanding which versions of the microservices the application consumes is a critical piece of the migration to microservices.

Meta Data that DeployHub Tracks for Microservice Configuration Management

Following is some of the meta data that DeployHub tracks for a single version of a microservice, or component (web components, database updates for example):

  • GitHub, Jira Change Request
  • Git repo
  • CI/CD Build Number
  • Container SHA
  • Docker Registry
  • Environment Variables
  • Deployment Script (Helm Chart, Ansible Playbook, etc)
  • Any Attributes (DB Name for example)

This information is initially collected when you define your microservice to the DeployHub catalog. You can collect this data via the DeployHub interface, or using a DeployHub CI/CD plugin such as Jenkins, JenkinsX, Tekton, CircleCI, Google CloudBuild or Puppet Nebula.

microservice metadata

Base microservice definition

 

Once defined, DeployHub uses the CI/CD plug-in auto update this information any time a new version of your microservice is created.

Conclusion

You can expect to be managing thousands of microservices in your Kubernetes cluster.  DeployHub provides you a method for versioning microservice configurations and inventory along with all deployment configuration details.  It integrates with your CI/CD process to continually update new versions of your microservices that in turn creates new versions of your applications.  With our central hub of microservice inventory,  you always know what version of a microservice your application version is dependent upon.  You have the insights on the meta data to resolve issues, and expose the level of impact a new microservice version may create.

 

Get Started

To begin tracking your microservice death star, sign up with DeployHub Team.  This option is based on the open source Ortelius Project. It is provided for free and hosted for high performing development teams who want to manage Services in the new modern architecture.

Key Features