WTH is GitOps?
Pavan Belagatti
GenAI Evangelist (67k+)| Developer Advocate | Tech Content Creator | 30k Newsletter Subscribers | Empowering AI/ML/Data Startups
Hi folks, welcome to the developer advocacy newsletter.
In this issue, we will see what GitOps is and everything a developer should know about it.
The term?GitOps was coined by Alexis Richardson, the CEO of Weaveworks, in 2017 and was primarily aimed at managing Kubernetes deployments.?
GitOps?is an evolution of the DevOps movement. It is an extension of the traditional Git workflow, where Git is considered as the single source of truth. GitOps relies on Continuous Delivery and Deployment to allow organizations to react more quickly to changes in their business landscape, market, or customer needs. It offers a more collaborative and adaptive way to manage software releases to reduce risk.
Continuous Integration?and Deployment have been a software development process since 2009. They are designed to help developers create, test, and deliver software continuously instead of the slower waterfall model, where teams would focus on doing all of these tasks in one long development cycle.
GitOps builds on this concept of Continuous Integration and Deployment where companies can achieve increased speed, transparency, security, reliability, and collaboration through automation while benefiting from a single source of truth for infrastructure and application configuration details. Think of GitOps as a way for organizations to implement DevOps practices for their SDLC and operations life cycle. Git plus Continuous Integration, plus Continuous Deployment, plus automation equals GitOps.?
GitOps can be used to experiment with new infrastructure configurations. If something goes wrong, you can always revert back with Git history.
GitOps workflow:
In the GitOps workflow, the system’s desired configuration is maintained in a source file stored in the git repository with the code itself. The engineer will make changes to the configuration files representing the desired state instead of making changes directly to the system via CLI.
Reviewing and approving of such changes can be done through standard processes such as — pull requests, code reviews, and merges to the master branch. When the changes are approved and later merged to the master branch, an operator software process is accountable for switching the system’s current state to the desired state based on the configuration stored in the newly updated source file.
In a typical GitOps implementation, manual changes are not allowed, and all changes to the configuration should be done to files put in Git. In a severe case, authority to change the system is given just to the operator software process.
领英推荐
What GitOps grants?
How GitOps is compared with the traditional operations?
The below image should be easy to follow,
Image courtesy of VMware.
It is also considered that GitOps empowers the shifting security left approach. A simple diagram of how DevOps pipeline compares with the GitOps one is shown below.
Image courtesy of TechTarget
Read some amazing articles on GitOps:
My prediction is - GitOps will flourish and will make a huge impact in the DevOps space.
What do you think? Let me know in the comments.
VP-SRE, DevOps, and Cloud Product Security at NetApp Ex-Google, Ex-Workday Ex-Oracle
2 年Great Article Pavan Belagatti loved your level of detail and the simplicity in which it was explained!
Driving Customer Success with Breakthrough Innovation | Head of Innovation & Technology at Fujitsu Benelux | AI, Blockchain & Sustainability Expert | Follow for Strategy & Leadership insights
2 年Talal Takhtoukh
Technical Lead ?? ?? ??
2 年Mohamed Amine Aboumerrouane