Many organizations face challenges with scaling up and operationalizing their clusters. This can be a complex process, with application and environment updates adding to the complexity. For many, the answer lies with GitOps.
In the second episode of our six-episode series on scaling Infrastructure as Code (IaC), Swapnil Bhartiya sits down with Rob Hirschfeld, CEO and Co-Founder of RackN, to discuss how GitOps helps to scale IaC. He explores the roles version control, immutability, and orchestration play in enabling safer systems and helping to build scalable infrastructure. He explains some of the mistakes people make and why GitOps provides a better solution.
On discussing the role immutability plays, Hirschfeld says, “What we want to be able to do is say, I’m going to produce a system with all the components or with the pieces that I need into it and then propagate that through my infrastructure. I’ve heard people say and I really like this, that infrastructure only moves forward and it never moves backwards.”
Key highlights from this video interview are:
- The term of GitOps is changing, having been used very narrowly in terms of running Kubernetes descriptions and working inside from Git to nowadays as a way to combine immutability into downstream action, as a clear place to define configuration and state that can then be automatically handed off into other systems. Hirschfeld discusses how GitOps can be defined and why it implies it is fundamentally about orchestration.
- IaC and GitOps are closely tied together. Hirschfeld explains how when people use a Git workflow or development workflow they assume immutability so that when they are working with an artifact they do not change it, and if they do want to update it they will go through a controlled process making changes through Git. He describes how the process works and why it is an important part to building scalable infrastructures.
- Version control plays an important role at scale, as developers need to be able to point to the configuration being used at a site or by a team and know exactly what version it is. Hirschfeld goes into detail about how their customers know exactly what they have deployed on every site and what they are migrating because of version control and why this helps you scale better.
- ‘Build from Source’ is another important concept, taking artifacts, putting them in a file report and pulling them out of a system. As Hirschfeld explains that you ideally want to be able to prove the providence back from the original source code for your system. He discusses the concept of ‘Build from Source’ and how it extends the concept of Ops.
- IaC’s core idea is building automation as a software product which can often be seen as something built into your infrastructure as a one-off process. However, Hirschfeld believes it is more beneficial if built in a product way. He explains what this entails and why this mindset has been proven to have a much higher ROI.
- Immutability is often overlooked when it comes to Git. People make the mistake of treating systems as individual units which will be challenging when trying to scale the systems. Hirschfeld discusses how immutability can be used to produce safer systems where you know exactly what the configuration states are of the system and how it got there.
- Hirschfeld takes us through how these systems and the infrastructure work when it comes to Day 2. He believes that in a cloud-native world, it is not just about getting systems set up online and maintaining them but rather about having dynamic systems. He explains how orchestration comes into play and why we need a process that is reviewing, updating and changing the system dynamically as code.
The summary of the show is written by Emily Nicholls.