1 Why GitOps?


This chapter covers:

  • What is GitOps?
  • Why GitOps is important
  • Comparison of GitOps with other approaches
  • Benefits of GitOps

Kubernetes is a massively popular open-source platform that orchestrates and automates operations. While it improves the management and scaling of infrastructure and applications, Kubernetes still has challenges managing the complexity of releasing applications frequently. Git is the most widely used version control system in the software industry today.

GitOps is a set of procedures that use the power of Git to provide both revision and change control within the Kubernetes platform. A GitOps strategy can play a big part in how quickly and easily teams manage their services’ environment creation, promotion, and operation.

Using GitOps with Kubernetes is a natural fit, with the deployment of declarative Kubernetes manifest files being controlled by common Git operations. GitOps brings the core benefits of infrastructure-as-code and immutable infrastructure to the deployment, monitoring, and lifecycle management of Kubernetes applications in an intuitive and accessible way.

1.1       Evolution to GitOps

1.1.1   Traditional Ops

1.1.2   DevOps

1.1.3   GitOps

1.2       Developer Benefits of GitOps

1.2.1   Infrastructure as Code

1.2.2   Self-Service

1.2.3   Code Reviews

1.2.4   Git Pull Requests

1.3       Operational Benefits of GitOps

1.3.1   Declarative

1.3.2   Observability

1.3.3   Auditability & Compliance

1.3.4   Disaster Recovery

1.4       Summary