DEV Community

Cover image for What is GitOps?
Sarah Lean 🏴󠁧󠁒
Sarah Lean 🏴󠁧󠁒

Posted on • Originally published at techielass.com

What is GitOps?

There is a lot of terminology these days, between DevOps, SecOps, DevSecOps, and GitOps. It can be hard to keep track of everything and the benefits of each approach. Let's explore GitOps.

What is GitOps?

GitOps is a set of best practices designed to help manage infrastructure and application configuration using Git. Git is an open source version control system.

GitOps is built around the Developer experience. But it can help the Operations teams manage infrastructure. Using the same processes and tools that Developers use for software development. When using GitOps, Git is the central tool but all other tools can be chosen as needed.

GitOps uses a central Git repository that contains the entire state of the system. It uses Git pull requests to automatically manage and deploy infrastructure or software.

The Git repository gives you a trail of changes that can be auditable.

Why do you need GitOps?

The main benefit of GitOps is about accountability and automation. Using version control for your infrastructure and software makes it traceable.

Want to find out why changes to the network were made? Or when a version of software was rolled out to a certain environment or customer? You have that trace log within your Git repository.

Automation is the second key benefit, once you have your changes approved, you kick off the deployment of those changes right away. In a repeatable consistent manner.

GitOps vs DevOps?

There is a lot of overlap between GitOps and DevOps but there are a lot of differences as well.DevOps is a culture that focuses on Continuous Integration (CI)/Continuous Delivery (CD) but isn't attached to any tool. Where as GitOps is an approach that focuses on deployment of infrastructure and software using Git as the main tool.

GitOps focusses mainly on doing DevOps correctly where as DevOps's main focus on automation and frequent deployments.

GitOps also focusses on correctness, and is quite a strict approach, where as DevOps is less strict and is open to more flexibility.

How GitOps integrates with DevOps

Because there are a lot of shared principles between GitOps and DevOps, it can be quite easy to adopt a GitOps workflow into your DevOps practices.

Git is one of the most popular, if not the most popular, version control tool. So as more companies adopt the use of that tool the easier it is to adopt the overall workflow of GitOps.

Storing all your configuration and system states within Git and as Infrastructure as Code can significantly increase productivity. Being able to roll out changes quickly or roll back from changes quickly.

Is GitOps just for Kubernetes?

No it's isn't just for Kubernetes. GitOps is often associated with Kubernetes because it's configuration can be entirely declarative in the form of YAML manifests. And lends itself very well to being stored inside version control.

If you are looking to learn more about Git, or learn some tips and tricks that can help enhance your knowledge, check out my Git for everyone series of blogs.

Top comments (3)

Collapse
 
star_trooper profile image
Atharva Shirdhankar

Thanks SarahπŸ‘, this gave me a wider picture about GitOps.
If I want to learn about GitOps from scratch what should I learn first ?
I m familiar with Git and GitHub , Docker , Kubernetes.
If you have anything to share how can I learn more about GitOps please do shareπŸ˜ƒ

Collapse
 
cricketsamya profile image
Sameer

Is it affordable from an employer perspective, to have specialised GitOps? Or a DevOps with such a experience is better?

Collapse
 
techielass profile image
Sarah Lean 🏴󠁧󠁒

I haven't seen anyone doing only GitOps in their day to day job. I think most people list it as a skill they have alongside DevOps. πŸ‘