GitOps is a way of implementing Continuous Deployment for cloud-native applications. It focuses on a developer-centric experience when operating infrastructure, by using tools developers are already familiar with, including Git and Continuous Deployment tools.
GitOps is an operating model for cloud-native applications built on the principle that the source of truth for an entire application — from its deployment configuration to the software code itself — should be fully managed in a source control system.
GitOps relies on the declarative model for configuration popularized by Kubernetes. The main idea is that the Git repository always contains declarative descriptions of the infrastructure currently desired in the production environment and an automated process to make the production environment match the described state in the repository. With GitOps, changes are not made directly to a running system. Instead, changes are made to a source control system, and a separate system such as continuous integration system is responsible for synchronizing the state in source control with production.
Benefit of GitOps
- Faster and more frequent deployment
- Easy error recovery and rollback
- Better and easier credential management
- Auto-documenting Deployments
- Knowledge distribution and sharing in teams