What is GitOps? Why should use GitOps?

Fauzan R
btech-engineering
Published in
3 min readOct 14, 2022

an Introduction to GitOps and I’ll explain an approach GitOps

CNCF Branding

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.

GitOps implementation in CICD

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

--

--