Youve seen DevOps, and DevSecOps, and maybe even NoOps.

But if you havent already, youre going be hearing a whole lot more about GitOps.

As an indicator, four of the sessions at the upcoming KubeCon are about GitOps.

Already learned DevOps? Great, now it’s time for GitOps

And do we really need another software development buzzword?

Together, they create a new way of working with new powerful synergies.

It’s free, every week, in your inbox.

Article image

The term GitOps was coined by Alexis Richardson at Weaveworks, where it was focused on running Kubernetes-based infrastructures.

is the single source of truth for tool code, infrastructure and configurations.

This is a term from Information Theory but essentially it means this: Git is always right.

Its the last word.

you’re able to understand the whole system by looking at Git and without looking everywhere else.

It has all the ingredients right there.

But they also include other types of code.

Configurations, once stored in databases, are now codified in YAML files in Git repositories.

Taken together, these different sorts of code are able to describe the whole system.

CI/CD Automation

Thats where the magic kicks in.

The system is completely described and declared in Git and is created automatically to match those declarations.

Why GitOps?

One benefit of GitOps is at the philosophical level.

Its elegant, stripping away the dross and allowing developers to worry about code and code alone.

But there are also big practical benefits too.

With GitOps, you make every change to the system by changing a Git repository.

Everything is done by pull request, meaning theres an audit trail, reversibility and transparency.

Theres no weird hidden setting somewhere that someone changed by mistake and nobody knows about.

If something doesnt work, the problem is in the repo… somewhere.

And its in the commit history,

GitOps also adds consistency.

Instead of hunting through varied control panels for different parameters, a developers workflow is all in one place.

Theres no context-switching between managing program code and infrastructure.

New challenges

Every new approach brings new challenges too.

This has benefits, of course.

The earlier you catch an error, the better.

Another issue is what happens when the live system changes in some unexpected way.

In a GitOps system, merging a Pull Request starts the process that ultimately changes the live system.

If GitOps sounds like a lot, it is, both conceptually and practically.

To do pure GitOps is kind of aspirational at the moment, especially if youre not using Kubernetes.

But the chances are that youre doing some of this already.

All of these are steps on the road to GitOps.

As these tools mature, GitOps will become less of an aspiration and more of a reality.

Story byArthur Schmunk

Arthur is co-founder and CEO of datree.io.

Arthur is a tech entrepreneur and cloud evangelist, and founder of several software startups.

(show all)Arthur is co-founder and CEO ofdatree.io.

Arthur is a tech entrepreneur and cloud evangelist, and founder of several software startups.

Also tagged with