What is Microservice Configuration Management?
Configuration management tracks versions of microservices and their dependent application versions overtime. With that in mind, 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 traditional build and release approaches, we still need a method of tracking the higher level ‘application version.’ 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.
Which Microservice Version Configuration Management Tracks All Deployment Meta Data?
Ours! DeployHub gathers the following meta data into 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.
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.
Application to Microservice Configuration Management
A microservice is deployed when it is consumed by an application. With DeployHub you build a logical view of your application by first defining your package and assigning which version of the microservices it consumes. This is what we call application packaging.
Microservice to application definition – packaging
Once your application has been defined, your CI/CD process will call DeployHub to automatically increment the application version if a microservice it consumes is updated. You can also subscribe to a ‘base’ version of a microservice which then notifies you if a new version of a microservice has been created. As microservices are consumed by applications, DeployHub tracks the dependencies. It can tell you at any point in time which version of the microservices your application is consuming, how many different versions have been deployed to your Kubernetes cluster, and who is using the same microservice. DeployHub builds a map that displays this data overtime.
You can expect to be managing thousands of microservices in your Kubernetes cluster. DeployHub provides you a method for managing your microservice inventory along with all configuration management 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 inventory system, 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.