- 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.
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.