Glossary

GitOps

GitOps is a paradigm that combines software development and IT operations, utilizing Git as the single source of truth for system configuration and state. It automates the application delivery pipeline by leveraging Git version control for collaboration, versioning, and change management.

GitOps extends the principles of Infrastructure as Code (IaC) by using Git repositories to store all system configurations. This approach means every change is version-controlled and auditable, providing a clear history of modifications. GitOps also employs automation to sync the declared state in the Git repository with the live state of the system, often facilitated by Continuous Integration/Continuous Deployment (CI/CD) tools and GitOps operators.

With GitOps, infrastructure changes are proposed through pull requests, which are reviewed and merged into the main branch. Automated processes then apply these changes to the infrastructure, ensuring the live environment always matches the configurations stored in Git. This process not only enhances collaboration and transparency but also streamlines deployments and mitigates risks associated with manual interventions.

By codifying infrastructure and application deployment processes, GitOps enables rollbacks, quick recovery from failures, and consistent replication of environments. This model is particularly beneficial for cloud-native applications, where dynamic and scalable infrastructure is essential. It emphasizes security and compliance by enforcing code reviews, access controls, and automated testing before changes are applied to production.