Why You Should Choose Argo CD for GitOps

Why You Should Choose Argo CD for GitOps

4 min read

Many organizations that have already implemented a DevOps culture are looking to further accelerate their development process by adopting GitOps practices in their environments. There is a lot to take into consideration when planning out your GitOps strategy, and you can read more about it at this Codefresh learning center about adopting GitOps.

Selecting the right tool for your organization is an important step in this planning. One of the most popular GitOps tools you’ll find in your searches is Argo CD, and it’s no surprise! The 2021 CNCF annual survey reported on the 115% year-on-year increase in Argo CD’s in-production use. The increase in popularity of Argo CD means that it comes up a lot when organizations are discussing the adoption of GitOps.

In this blog I’m going to go over a few reasons why you should choose Argo CD for GitOps.

Built with GitOps and Kubernetes in Mind

Argo CD (and other Argo Project tools…more on this later) was developed internally at Intuit during their Kubernetes adoption journey. Part of the reason for that development was to make it easier for developers to deploy their applications to Kubernetes clusters. The official motto for the Argo Project is “Get stuff done with Kubernetes!”, and building a set of developer friendly tools helped Intuit’s adoption of Kubernetes.

Not only was Argo CD built for managing and making Kubernetes accessible, but also was built with GitOps in mind. This makes it a natural fit for organizations looking to simplify their deployment process using GitOps methodologies, since Argo CD was founded and built on GitOps workflows from the get go.

Furthermore, Argo CD makes the deployment process simple by providing toolsets not available natively in Kubernetes. Argo CD comes with a rich, user-friendly, UI that provides developers all the access they need without having to learn Kubernetes primitives. Argo CD also provides things like synchooks and syncwaves to provide additional flexibility in deployments; this is especially useful for stateful workloads that need an orchestrated deployment.

Battle Tested in Production

With Argo CD’s flexible and mature deployment paradigm, it’s widely used for production workloads. Intuit runs thousands of Applications spread across hundreds of nodes across dozens of environments. Argo CD is built and trusted at Intuit for their production workloads. Argo CD is a fantastic choice for your GitOps implementation because it has been battle tested in production extensively, and you can rest assured that it can scale for all your production needs.

Trusted by Enterprise Companies

Argo CD isn’t just used by Intuit; it is also trusted by various enterprises across all verticals. Companies like Adobe, Blackrock, Capital One, Google, IBM, Red Hat, and many others have used and contributed to Argo CD and the Argo Project.

Rich ecosystem for DevOps

There is definitely a buzz around GitOps, and there are many organizations looking to adopt GitOps by plugging in their existing systems into Argo CD. There are also many organizations that are just starting their journey into a more Kubernetes-native way of doing CI/CD and DevOps in general. This is another advantage of using Argo CD, as it’s part of a rich ecosystem of DevOps tools. Within the Argo Project you can find:

Argo CD

It’s what this blog has been talking about! However it’s worth noting it again, Argo CD is your Kubernetes native GitOps tool used for Continuous Delivery/Deployment. Argo CD takes the opinion that Application definitions, configurations, and environments should all be declarative and inside a version controlled system. Deployments should be automated, auditable, and easy to understand.

Argo Workflows

Argo Workflows is a Container/Kubernetes native Job workflow engine. It allows you to orchestrate and manage these workflows in a DAG system that lets you define dependencies and retries. Although originally built for AI/ML workloads, a lot of organizations are successfully using it as a CI system. This plugs in perfectly with Argo CD, as you can let Argo Workflows be the CI and let Argo CD deploy the finished workflow.

Argo Rollouts

Argo Rollouts is a progressive delivery controller that uses Argo CD for the actual deployment. You can use Argo Rollouts, for example, for your canary and blue/green deployments. Argo Rollouts plugins to your existing Ingress/Gateway controller like Isto and NGINX to offer a more controlled rollout of your application. Together with Argo CD and Argo Workflows, Argo Rollouts completes the CI/CD picture.

Argo Events

Argo Events is a general, production-grade, event bus. It allows you to decouple events from one another and provide a good dependency framework around it. This is powerful because you can now trigger different events based on inputs and have a dependency tree around it. Most folks use Argo Events to trigger different pipelines. For example trigger a testing pipeline once the application build pipeline has finished.

As you can see, there is a complete ecosystem of tools that exist within the Argo Project. Each tool can be used standalone or together with one another. Choosing Argo CD opens you up to other possibilities. So you can adopt Argo CD, knowing that if you’re missing a component, there is a tool that you can adopt that works in tandem with Argo CD.

Conclusion

In this blog, we went over various reasons why you would pick Argo CD for your GitOps tools. We went over how it was engineered for GitOps from the ground up; we also talked about how it has been used in production at Intuit and how various enterprises have adopted it for their GitOps workflows. We also went over the rich ecosystem of the Argo Project and how it can be used with Argo CD.

Learn more about Argo CD and how it can be used in your enterprise by getting GitOps Certified with Argo CD.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Comment

Ready to Get Started?
  • safer deployments
  • More frequent deployments
  • resilient deployments