Tech Topic

GitOps

While DevOps provides an agile team structure, GitOps is a framework to start executing on that vision.

What is GitOps?

GitOps uses Git repositories as a single source of truth to deliver infrastructure as code. Submitted code triggers the CI/CD pipeline to check and apply requirements for things like security, infrastructure as code, or any other boundaries set for the application framework. All changes to code are tracked, making updates easy while also providing version control should a rollback be needed.

GitOps delivers

  • Standard workflow for application development
  • Increased security by setting application requirements up front 
  • Improved reliability with visibility and version control through Git
  • Consistency across any cluster, any cloud, and any on-prem environment

 

Many other tools can be used together to build a GitOps framework. For example, git repositories, Kubernetes, CI/CD tools, and configuration management tools.

GitOps approach to Continuous Delivery on Kubernetes

GitOps approach to Continuous Delivery on Kubernetes

 

Why GitOps?

GitOps takes the philosophies and approaches promised to those investing in a DevOps culture and provides a framework to start realizing the results. Organizations who practice DevOps realize significant improvements to the rate of innovation in applications and code as well as stability according to the annual State of DevOps Report

By using the same Git-based workflows that developers are familiar with, GitOps expands upon existing processes from application development to deployment, app lifecycle management, and infrastructure configuration. Every change throughout the application lifecycle is traced in the Git repository and is auditable. Making changes via Git means developers can finally do what they want: code at their own pace without waiting on resources to be assigned or approved by ops teams.

For operations teams, visibility to change means the ability to trace and reproduce issues quickly improving overall security. With an up-to-date audit trail, organizations can reduce the risk of unwanted changes (drift) and correct them before they go into production. 

These changes in code from development to production make organizations more agile in responding to changes in the business and competitive landscape:

  • 208 times more frequent code deployments
  • 106 times faster lead time from commit to deploy
  • 2,604 times faster time to recover from incidents
  • 7 times lower change failure rate (changes are 1/7 as likely to fail)

 

How does Red Hat OpenShift enable GitOps?

Red Hat® OpenShift® is a declarative Kubernetes platform that administrators can configure and manage using GitOps principles. Working within Kubernetes-based infrastructure and applications, consistency can be applied across clusters and development lifecycles. Red Hat OpenShift consolidates the administration and management of applications spread across on-prem and public cloud resources to:


  • check that clusters have similar state (configs, monitoring, storage) making application constraints known early in the development cycle
  • rollback a change in code across multiple clusters by recovering clusters from a known state
  • rollout a change submitted to Git across multiple Red Hat OpenShift clusters
  • associate templated configurations across the hybrid cloud

git-openshift

Red Hat collaborates with open source projects like ArgoCD and Tekton Pipelines to implement a framework for GitOps. Install the Red Hat OpenShift Pipelines operator and learn how Red Hat is developing new tools with Argo to manage GitOps within existing Red Hat OpenShift deployments.

 

Red Hat capabilities for GitOps

OpenShift Pipelines

Using Tekton, OpenShift Pipelines delivers a CI/CD experience to Red Hat OpenShift. Run each step of the CI/CD pipeline in its own container, allowing them to scale independently to meet pipeline demands.

Red Hat and Argo CD

As a key contributor to Argo CD, Red Hat makes it easier to manage configurations, definitions and environments for both Kubernetes itself and the applications it hosts using Git as the source of truth.

Red Hat Advanced Cluster Management for Kubernetes

Deploy and manage your GitOps practices with consistency across the hybrid cloud with Red Hat Advanced Cluster Management for Kubernetes.