Community post by Stacey Potter
What is GitOps Days?
Last month GitOps Days took place on June 8th and 9th. It was jam-packed with informative and educational sessions from speakers on varying levels of the cloud native spectrum. These speakers ranged from GitOps end-user practitioners at various stages of their GitOps journeys to integrators offering ways of extending Kubernetes and GitOps to their Enterprise Customers, many of them using CNCF projects such as Flux. The goal of the event is to evangelize GitOps as a de-facto cloud native operating model, practice and methodology, as well as help individuals and organizations get started wherever they are on their cloud native journey.
If you missed the live event, no worries – you can still get the on-demand livestream video links by signing up at gitopsdays.com, or if you just want to checkout the individual sessions you can view the GitOps Days 2022 Playlist.
The lead Keynote speaker for GitOps Days 2022 was Taylor Dolezal, Head of Ecosystem at the Cloud Native Computing Foundation (CNCF) who spoke on the CNCF Ecosystem and GitOps as a Natural Evolution of Kubernetes.
What is the CNCF?
The CNCF brings together the world’s top developers, end-users, and vendors into a neutral space to work on what the future will look like in cloud computing. The CNCF is a Linux Foundation project that was created from the donation of Kubernetes by Google. The mission statement at the CNCF is to “make cloud native ubiquitous.” Learn more about the CNCF Landscape and projects here.
GitOps, a Journey
Taylor reminds us that we didn’t always have GitOps or GitOps frameworks. Remember the days of a more simple means of deploying applications? Before CI & CD replaced drag/drop and sftp clients?
GitOps as a methodology and framework gives us the major benefit of being declarative instead of imperative – it allows us to directly set the state we want.
Taylor uses the television remote as an analogy to help explain the difference between imperative versus declarative. Explaining that the up/down arrows on a tv remote work imperatively – you press the buttons until you reach your desired channel. This method/process may be problematic or cumbersome though when you translate it to a deployment process. GitOps allows us to directly set the state we want – similarly to how the number keys on the remote work, which allow us to navigate directly to our desired channel, declaratively.
GitOps also meets us where we are and where we work by integrating with Git. With Git a lot of effort is put into gating and access for our teams, so that the right people see the right repositories and have the right access to them for their respective roles. GitOps helps give us a delivery mechanism that doesn’t complicate that existing workflow, but instead gives us new possibilities using a tool that we already have.
But what about when mistakes happen? If we want to restore a backup of our system, cluster, or platform – GitOps can help with that! GitOps can even help with migrations. If we make a mistake or need to redeploy to a cluster, having all of that state in one or a few repositories gives us the ability to quickly restore.
GitOps also enables better idempotency (running the same command over and over and not worrying about the end state – think of setting the channel example before with the tv remote). Instead of having a system consisting of wild conditionals and nesting if statements, where it’s very difficult sometimes to even make sense of, GItOps takes you away from that and allows you to focus your time setting the desired state exactly as you want.
Committing a Path to the Future
GitOps as a framework allows for a Git based truth – but do we put everything, including secrets into Git? Taylor recommends looking outside of your context to best manage and audit those secrets – to use a tool that is specifically designed for secrets management. He encourages everyone to have the conversation and start exploring this topic more within the community.
When it comes to scaling Kubernetes clusters and units of compute via some form of federation, this will yield a lot of productive conversations. When it comes to multi-cloud workflows, what’s your source of truth? Is it Git or something else? What does your control plane look like? GitOps enables that level of scale through automation, auditability, and so much more.
The CNCF Technical Action Group (TAG) for Application Delivery is the home for the GitOps Working Group – this is a great place to start if you’re interested in getting involved in the GitOps community. You can find more information at their website as well at opengitops.dev
If you’d like to watch Taylor’s talk in its entirety it’s available here:
Check out the GitOps Days 2022 Playlist and chat with other attendees and speakers on slack (get an invite at https://slack.weave.works) at the #gitopsdays channel. GitOps Days is an event hosted by Weaveworks.