Automated, tool-driven deployments GitOps helps DevOps strategies on the jumps
23.12.2021Source: Press release
A DevOps strategy only becomes really effective through automated deployments, as they are used in the GitOps approach. IT service provider Consol shows the advantages and outlines a typical GitOps workflow.
Related companies
A GitOps workflow offers several advantages, such as the design of more stable and reliable systems.
(Photo by Consol)
By storing infrastructure code in Git repositories, the target state of a system is defined in the GitOps implementation. GitOps tools always synchronize this state between the Git repository and the target system – for example, through automated deployments after changes to the infrastructure code.
Essential steps in software development and deployment are thus automated. Recently, the GitOps Working Group, a project of the CNCF (Cloud Native Computing Foundation), specified the specific requirements for the use of GitOps. Two points are particularly important here.
- The target platform must be able to be configured and managed declaratively. Therefore, GitOps is mainly used as an operating model for Kubernetes, the currently most popular declarative platform.
- It is necessary to save the desired system or software state immutably and versioned with version history.
If these prerequisites are met, a typical GitOps workflow according to Consol can look like this:
- 1. Transfer of application changes to a special Git branch and generation of a pull request
- 2. Review and approval of the pull request by another person
- 3. Construction of the application and automated testing of changes
- 4. Transfer of the container image to the image registry (in case of successful tests)
- 5. Transferring the container image reference to the Kubernetes deployment manifest and updating the manifest in Git
- 6. Continuous retrieval of the contents of the manifest repository by the GitOps application and checking the manifests for changes
- 7. Query the updated container image from the image registry
- 8. Transfer of the updated manifests and the container image to the target system by the GitOps process.
Such a GitOps workflow has several advantages. This includes increasing the productivity and speed of developments and deployments as well as designing more stable and reliable systems. It is also useful for the operations team that all changes to the target systems are traceable and manual interventions can be prevented.
In addition, GitOps also simplifies a rollback, i.e. the resetting of an environment to an earlier state. Last but not least, when using GitOps for the continuous deployment process, a company is also free to choose a continuous integration application.
DevOps focuses on cultural change and the close cooperation between development and IT operations, explains Sebastian Tiggelkamp, DevOps Engineer at Consol. “With GitOps, companies can go one step further and use tools that decisively support the implementation of DevOps goals – especially with regard to the efficient and fast development and deployment of software products.“