What is GitOps? Why should use GitOps?
an Introduction to GitOps and I’ll explain an approach GitOps
Introduction
GitOps is a way of implementing Continuous Deployment for cloud native applications. It focuses on a developer-centric experience when operating infrastructure, by using tools developers are already familiar with, including Git and Continuous Deployment tools.
- gitops.tech
If you highlight the definition of GitOps from gitops.tech, it mentions that the concept of GitOps is focused on developer-centric experience, one of them is using Git as Source Code management. The GitOps approach can be interesting, because combining between “Git” and ‘Kubernetes”, using developer-centric experience to manage deployment applications.
GitOps identic with term “Git is the only source of truth” because of GitOps concept is operate and manage infrastructure based on state configuration stored in git repository. GitOps tools will automatically run synchronization between environment deployment and Git repository, therefore when we want to add a new deployment we just add a new configuration in git repository.
Why should use GitOps?
Easy management, less failure & Automate Rollback
With implementation of GitOps, it means management deployment applications are no longer about an activity to remote environment, such as ssh or kubectl. For adding new deployment, we just update state configuration deployment for a new application. And GitOps tools will be deployed automatically based on Git Repository.
Another advantage of less touch is less failure because of human error. All actions or configurations are coded and stored in Git Repository. We can easily track when the deployment process has failed from Git Repository. And we can automate to run rollback to the previous state with perform git rollback.
Centralized configuration & Auditable
With GitOps we can store our configuration in a single git repository. And our team can collaborate with it. Using the same repository we can easily share our configuration with our team. Our configuration for deployment applications in the environment can be automatically documented in a git repository. And with git repository, we can easily audit of deployment applications from git.
How GitOps work with DevOps in CICD?
For common flow implementation of GitOps like this architecture.
Outline of implementation GitOps in CICD, GitOps has a role to manage deployment in environment targets such as Kubernetes after build (CI Proses). With this architecture, we can split the CICD process into each tool according to the task. In this case, we can say that the CI process has a “Scripting stage” to deploy an application.
Next Up
For the implementing GitOps in ArgoCD we’ll discuss in the next part, see you