GitOps: DevOps 2.0
Misclicked and stumbled on this blog? I can relate, every time using the UI of a cloud provider I’m always nervous I make errors in configuring my resources. In answer to this DevOps is embracing GitOps, DevOps taking development best practices and applying them to infrastructure automation.
What is GitOps
GitOps is an operational framework that takes DevOps best practices used for software development, such as version control, automation, collaboration, and CI/CD, and applies them to infrastructure automation.
GitOps = (git repository) + (Infrastructure as Code) + (CI/CD Pipeline)
Infrastructure as Code
Infrastructure as Code is where GitOps begins, describe your infrastructure needs in code to make your infrastructure changes more consistent and transparent. With reusing the code it is possible for different environments or across teams to reuse the code. Examples of Infrastructure as Code are Helm-charts, Cloudformation, and Terraform.
Git
Adding this to a Git repository you get a centralized hub for all infrastructure. This proven version control enables developers to collaborate through merge requests for changes on the infrastructure, once merged the git history will also be an audit trail.
CI/CD pipeline
When utilizing a CI/CD pipeline for the Infrastructure as Code you will be able to test and deploy your infrastructure without a manual intervention. Using an automated workflow will prevent any configuration drift which will result in fewer errors. Also in combination with reusing Infrastructure as Code sources, you can deploy across services and environments with ease.
Why should you use GitOps
Using GitOps will bring several benefits, such as collaboration, security, and efficiency and it will improve the developer experience.