In a recent Spotlight Series with James Green of ActualTech media (@actualtechmedia) Cornelia Davis, Weaveworks CTO discusses the concepts behind GitOps. Originally coined at Weaveworks, GitOps is a way to bring reliability to cloud native environments that are fundamentally unreliable, highly distributed and are constantly in flux.
Cornelia describes GitOps as “cloud native operations.” Notice that Git is not at the centre of the definition. We think of GitOps as an operational model that manages cloud native environments. You may be wondering what cloud native environments are and what’s so unique about them? Why do we even need to have operations around cloud native?
Cloud native and highly distributed applications
Cloud native is fundamentally a way of running software in an environment that is highly distributed and that is also constantly changing. Servers come up and down, users are logging in and out, and on top of that you need to deploy new versions of software that are going to require updates, and security patches, etc. GitOps is really about helping you manage your operational cycles in this constantly changing, highly distributed environment. Git does help with this, but fundamentally, GitOps is about modernizing your operational practices.
“When i think about cloud native applications and infrastructure, they are inherently unreliable. We assume that when we're building cloud native applications, we can't count on the underlying components to be available,” says Cornelia.
View the video to see the whole interview.