Background Reading on GitOps
On the surface, GitOps sounds like a simple concept. If you understand Git and ops, then is it just two concepts combined together?
On the surface, GitOps sounds like a simple concept. If you understand Git and ops, then is it just two concepts combined together?
GitOps is an approach to applying operational procedures against infrastructure-as-code (IaC) which is versioned using the Git source control system. GitOps is an opinionated approach to applying IaC using DevOps techniques and spans how the infrastructure is codified, the procedures on how those changes are detected and moved into an operational system, and defines a number of (very popular) open source projects used to orchestrate these procedures. GitOps is primarily used within the Kubernetes community, but there are community efforts to bring these concepts to other environments as well.
Learning GitOps takes some study due to the numerous moving parts:
Pull-based change detection
Multiple repositories separately storing application code and infrastructure code
How changes are orchestrated through code repos, infrastructure repos, artifact repos, image repos, and production systems.
How are changes propagated against clusters where multiple systems must collectively incorporate a change.
How are changes rolled out using canary techniques.
How are observability systems leveraged to monitor orchestrated changes, canary roll outs, and post-deployment performance.
There is no one-size-fits-all approach to DevOps. As such, in many ways GitOps is a skill that can be applied by a practitioner. It’s a skill which should be acquired and maintained.
This configurability for different environments also has created opportunities for vendors to build GitOps platforms. GitOps was coined by Weave.Works, a software company that has been embedded within the Kubernetes community for many years and is delivering a cloud-optimized GitOps platform. They have published the open source Flux CD and Flagger delivery engine. Argo CD is an open source project to provide a continuous delivery system optimized for GitOps.
GitOps Resources
Here are some useful blogs on GitOps that will get you going faster. If you come across essential GitOps articles, please let me know with a comment on my LI post, and it will get added here.
Is GitOps the next big thing in DevOps? | Atlassian Git Tutorial
Many organizations now see DevOps as part of their digital transformation strategy, since it encourages a culture of…www.atlassian.com
GitOps - A Security Perspective (Part 1)
GitOps is a paradigm that puts Git at the heart of building and operating cloud native applications by using Git as the…blog.alcide.io
⁉ Why I started developing 💡 my new software project by building a 🚀 Continuous Deployment 🔃…
Somehow, in recent years, when discussing software delivery pipelines in modern companies, people would casually drop…dev.to
GitOps Made Simple with Flux - The New Stack
Incorporated into a GitOps workflow, Flux simplifies CI/CD and enables continuous delivery of container images…thenewstack.io
Fork, Clone, Run: A GitOps Model for Provisioning Multi-Machine HA Clusters with Rolling Upgrades
Preparing a Kubernetes cluster should be as easy as 1-2-3. With the GitOps operational model, fork, clone, run is a…www.weave.works
Bottlerocket with Fork, Clone, Run! - A Container Optimized OS with a GitOps model
Bottlerocket OS is a secure, fast and easy to manage, Linux-based operating system. With EKS as the cluster control…www.weave.works
Automating Kubeflow Pipelines with GitOps, GitHub Actions and Weave Flagger
Learn how to automate an entire machine learning pipeline with GitOps using GitHub Actions. The tutorial makes use of…www.weave.works
Welcome to the Flux documentation! - Flux documentation
Edit descriptiondocs.fluxcd.io
Introduction
Flagger implements a control loop that gradually shifts traffic to the canary while measuring key performance…docs.flagger.app
bricef/gitops-tutorial
This repository contains the hands-on Gitops tutorial given at Kubecon 2018 in Seattle. You can find the slides by…github.com
A practical guide to operating Kubernetes the GitOps way
Delivering quality at speed is the goal of every software development team. GitOps is a proven operating model to…www.weave.works
GitOps Tool Sets on Kubernetes with CircleCI and Argo CD | DigitalOcean
GitOps, as proposed by Weaverworks in a 2017 blog post, uses Git as a 'single source of truth' for CI/CD processes…www.digitalocean.com
argoproj/argo-cd
Declarative continuous deployment for Kubernetes. Contribute to argoproj/argo-cd development by creating an account on…github.com
GitOps brings the power of Git into Ops
By now you've probably heard of GitOps and, if so, you may still be wondering what it means. It probably won't help if…www.infoworld.com
Ops by Pull Request: An Ansible GitOps Story
In a previous blog post I introduced Automation Webhooks and their uses with Infrastructure-as-Code (IaC) workflows and…www.ansible.com
How we do GitOps @ Mettle
A look at our GitOps journey at Mettle and how we are leveraging tools such as Flux and Kustomize to make this…itnext.io
FluxCD, ArgoCD or Jenkins X: Which Is the Right GitOps Tool for You?
GitOps-the idea to fully manage applications and infrastructure using a Git-based workflow-is gaining a lot of traction…blog.container-solutions.com