GitOps is a way for IT operations to manage changes across infrastructure and development teams. At GitLab Connect in Denver, Tyler Sparks, principal engineer and owner of Sparks Concept, presented a talk on why GitOps is a productive workflow and how using GitLab can increase communication and version control.
GitOps uses infrastructure as code but with processes in place on top of it, including extensive use of merge requests for everything from policy to infrastructure changes. “Success for most companies and engineering groups is based on the interactions of a large, complex, distributed system,” Tyler says. The goal of GitOps is to incorporate Git beyond development and operations teams, improving the business as a whole with the right tool. “It's a really cool way that GitLab integrates and it's a way to shift things left in your organization.”
The Git in GitOps
“Git is the single source of truth. You shouldn’t be able to make any change outside of Git,” Tyler says. This creates one clean transaction between teams. Git establishes a unified location for anything from security, infrastructure changes, deployments, process changes, and even the integration of other tools. “Git is serving as the glue to make these safe transitions so that you can move faster as a team,” Tyler says.
Creating that interaction between groups is often elaborate and difficult to manage. “Anyone building software these days is finding it more and more complex…everything is changing, the landscape is constantly changing,” Tyler says. Services are being run on stacks upon stacks and there is a lot of risk involved in maintenance. A tool, like GitLab CI, simplifies the processes and grants visibility.
GitOps best practices
In a GitOps workflow, where one simple change can impact three different teams, a strong version control is imperative for communication. Between disparate tools and poorly defined handoffs, the solution is to move into one repository for all tools and teams. With one overarching repository, “You can have a bunch of parallel workstreams running safely… you will have minimum viable change and a way to observe it,” Tyler says.
With GitLab’s version control system in place, teams can see what’s going on to work together and to know what change is going to impact where. “GitLab CI is one of the original products that made it possible to start to take an integrative view of the system,” Tyler says. “This is the penultimate way to promote collaboration and to break down silos within an organization. GitLab is a tool that helps with that.”
GitLab’s version control not only safeguards the infrastructure, but ultimately trickles throughout the entire enterprise. “As companies adopt GitLab, they’re not just more successful with their technology…it really comes down to how they’re functioning as a group,” Tyler says. “GitLab encourages some really good practices around development and how teams interact.”
“That’s why GitLab is the clear winner…They’re not just leading Gartner and Forrester because they paid somebody off. They’re actually an amazing tool.” Tyler Sparks, principal engineer and owner of Sparks Concept
Learn more about GitOps best practices and Tyler’s work with GitLab CI in his presentation below: