GitOps with Argo CD
Necessity is the mother of invention can be an apt proverb when we're looking for solutions to problems that didn't exist a few years ago. Opening a project up to a larger community, not only makes logical sense because more people can address problems faster, but it also fosters the creativity and innovation we find in diverse communities. When we scratch our own itch, we may pave the way for additional innovation and even breakthroughs in the technology involved. So maybe a more appropriate phrase would be necessity is the mother of innovation.
00:33 — INTRO ANIMATION
Kubernetes is one of the most popular open source projects in the world, and it helped change the way that software is managed, but it also introduced new complexity for developers. The necessity to declaratively manage Kubernetes clusters and application delivery gave way to the concept of GitOps. GitOps is a set of practices to manage infrastructure and application configurations using Git as a single source of truth. The core principles of GitOps maintain that a system must have its desired state expressed declaratively and that desired state is versioned and immutable, pulled automatically, and is continuously reconciled. So there's the concept of GitOps, but there is no one size fits all tool set. And what happens when you have to build your own solution? To find out, let's talk to Ed Lee from Intuit about the origins of the Argo CD project. Hey Ed, how you doing?
Hey, Chris. Good. How are you doing?
I'm awesome. And I'm really interested in learning more about Argo CD and Intuit's sort of whole process of bringing it to life. But first, why don't you set a little context for us, where was Intuit as you started to see the need for a tool like Argo CD and kind of the broader GitOps world that we know and love today?
I think Intuit's journey in this space started like many other companies with our journey to the cloud. You know, we were running all of our applications from data centers and Intuit saw that by moving to the public cloud, we kind of focused more resources and focus more on improving development velocity. And as we move things to the cloud, we found out it did simplify provisioning hardware, but it didn't actually speed up development velocity. So that's when Intuit decided well, we need to do more than just move to the cloud. We need to change the way we do development operation and so they started thinking about embracing DevOps. But they saw that with the adoption of containers and Kubernetes, particularly that Kubernetes provided this declarative control plane that you can use to declaratively deploy manager application. It was an opportunity to create a declarative GitOps space tool to further accelerate development. One of the reasons why we saw the need for creating something like Argo CD, a tool to help developers manage the complexity, make it really simple for them to take their applications and go to production all in a very controlled auditable way.
I think it's really fascinating that Intuit isn't a software vendor. How did you think about producing a tool that you knew was gonna be useful for your own developers, but somehow there's a leap of faith in there it's gonna be useful for others. I mean, what was behind that thinking process of bringing this to a community and creating open-source project around this technology?
Like you're saying, Chris, Intuit is not a vendor and we already have an open source project like Argo Workflows and Events, which a lot of teams using Kubernetes were using to script and to automate their workflows essentially. So when we said, "Okay, you know there seems to be a need for a declarative GitOps space deployment tool on Kubernetes. Why don't we make that available to the community as well?" It'll ensure that we create something new, something different, something that addresses a pain that didn't exist before. And as we kind of flushed out the core functionality of Argo CD, we were fortunate enough to have partners going, the project. So particularly, in recent time, Red Hat has joined the project and Red Hat is a big contributor to the project as a complete development team working on the project. But not only, you know, are they contributing resources, but you know, Red Hat has a much broader set of customers. So we found that developing in the kind of an open with the community has enabled the project to grow broader and more complete because there are other members of the community that are interested and are willing to, you know, spend time and resources to flesh out those use cases for themselves.
It's really one of my favorite things about open source. The collaborative model can bring really diverse inputs into the system, which to me helps improve the underlying software, which kind of leads me to, well, where is it going? You've got Argo CD, you've got the community, you've established a baseline of core functionality. What do you see is next for Argo CD, the project?
Deploying to Kubernetes cluster is not like you deploy and you're done. So those are some of the areas that the project is working on now. Particularly with Argo Rollouts, we want to make it easy for the community to implement more advanced progressive delivery patterns like Blue-Green, and Canary, which is already supported today, but in the future, in a more gradual, progressive way. And to automate that whole decision making process, the life-cycle management of your application on the Kubernetes cluster. So that based on metrics and data, you can automatically add analysis on it, and then automatically decide whether to roll forward or roll back. I think people use the term AIOps in many cases, basically using data analytics, ML modeling in certain cases, to kind of fully automate that application lifecycle.
That's an awesome story. And I wanna thank you for sharing that. And I just see such a great connection between the tools we've been developing at the lower levels of the stack, adding some accessibility to those tools by another layer of tooling, the Argo CD project, to really get that end-to-end infrastructure and application automation to help bring value out into into the world as quickly as possible. I mean, I think this is fantastic and I love the journey that you've been on, Ed, at Intuit, bringing this to life as an open source project. So thank you so much for joining us today.
Oh yeah, absolutely. And thank you so much, Chris. It's been a pleasure sharing our story.
As GitOps evolves, we're seeing a community that is built around tools that are solving common needs. This is a terrific example of the power of open source. You may think you're the only one with a problem or an itch to scratch, until you speak up and discover that you're not alone. When we bring people together around a common need, we have the potential to create something more meaningful. We have the opportunity to refine our outlook and create tools that better reflect the needs of others. And by working together, we can evolve the underlying principles that solve the next set of problems.
07:58 — OUTRO ANIMATION
- Open source
Meet the guest
Distinguished Engineer Intuit
What is GitOps?
GitOps takes the philosophies and approaches promised to those investing in a DevOps culture and provides a framework to start realizing the results.Read the article
ArgoCD and GitOps: What’s next?
Some organizations have implemented machine learning technology but have not seen the expected return on their investment. So what are some things you can do to help ensure success with your AI/ML investment?Read the blog post
More like this
Get into GitOps
Is there more to GitOps than meets the eye? We ponder the future of continuous delivery and automation beyond Kubernetes.
Scaling For Complexity With Container Adoption
Spinning up a Kubernetes cluster is just the beginning. How do companies get value from containers?
Can Kubernetes Help People Find Love?
Kubernetes can help online data apps meet the demands of people looking for love in an always-online world.
Check out our podcasts
Want to hear more tales from the tech world? Red Hat’s award-winning podcasts feature remarkable stories from makers, coders, and leaders across the industry.
Presented by Red Hat
For 25 years, Red Hat has been bringing open source technologies to the enterprise. From the operating system to containers, we believe in building better technology together–and celebrating the unsung heroes who are remaking our world from the command line up.