In short, GitOps is a concept by a specific software vendor, and as its name points outs, it’s about leveraging Git on DevOps. Before we can start using it, we need to go through some of the critical aspects of it and understand its benefits.
With the upcoming of the cloud and technologies such as Docker, the barrier of deployment became less threatening, the number of services increased, and the need for orchestrators such as Kubernetes became evident.
Despite leveraging on tools like Jenkins and having a CI/CD in place, some pipelines require delicate management, and even then, changes in configuration, are hard to track. While some organizations wouldn’t be willing to empower developers to own the operations; however, it becomes valuable in terms of troubleshooting and productivity in a Continuous-everything cycle.
GitOps is a workflow for Kubernetes and cloud-based technologies centralized on a single process to manage operations and development. At its core, it aims to keep control of changes through versioning and pull requests. As a result, stability gets improved undoubtedly, allowing changes to be quickly reverted in case of failure and maintaining an audit trail.
Depending on your team, organization, infrastructure, automation, and tools, some of the benefits that you could get from a GitOps approach are:
Increased Productivity
Less time spent on context switching, manual revision, process, and other everyday tasks, rather a smooth integration from development to production is possible for a single team.
Enhanced Developer Experience
Easy to manage for developers, an already well know workflow allows easier onboarding and higher abstraction from certain operational aspects.
Improved Stability/Reliability
Audit trails and easy to revet changes add a winning factor to cluster management and stability.
Even though GitOps concept is linked directly to a software vendor, the idea around it comes with real value, and while it’s true that, one size won’t fit all, a lot of teams could benefit from a unified workflow, to manage development, and operations, taking away some of the burdens of infrastructure management.
Segregation of duties warn us about giving total control to a specific individual, and it encourages organizations to have a separation of concerns. At first, GitOps might sound like the antithesis, although the very act of pull requests involves the approval and acknowledgment of the team, allowing to know, what, when, and who performed the changes.
What’s more important, it’s being able to rethink the current processes we have in our organizations, to improve the overall experience and performance of our team members so that they can focus on delivering value to our customers and organization.