Argo 101 - What is Argo?

Argo 101 abstract cover image

Hello everyone this is Daniel. I've recently started at Akuity - A company started by the creators and maintainers of the Argo project. As I started familiarizing myself with the Argo suite, I thought it would be a good chance to give an introduction to Argo for those who are new to the project.

Argo is a collection of open-source tools for Kubernetes to run workflows, manage clusters, and do GitOps right.

Since discovering Argo, I was always curious to know where the name and the mascot came from. It was finally through Akuity's seed announcement that I heard the story from one of the creators of Argo itself.

"Argo was named after the ship Argo in Greek mythology, which carried the Greek mythological hero Jason and the Argonauts on their quest for the Golden Fleece. An argonaut also happens to be a species of pelagic octopuses, and so we used an octopus as our open source project mascot. Argonauts are groups of hard-working deep-sea octopuses that traverse undersea and perform numerous tasks critical to marine biology."

Jesse Suen, Argo Project Lead, Co-founder, and CTO at Akuity

Argo CD: A declarative, GitOps Continuous Delivery tool for Kubernetes.

Argo CD dashboard mockup
Argo CD dashboard mockup

Argo CD is perhaps the most well-known tool within the Argo project. It was created at Intuit to handle deployments to Kubernetes at scale. The mission at the time was to migrate from physical data centers to Kubernetes on AWS. The creators (Alexander Matyushentsev and Jesse Suen) were unable to find a Kubernetes-native solution that fit the needs of a large enterprise, so Argo CD was born. It was decided to use a GitOps approach for deployments since as a financial company, there are many regulatory and compliance requirements that GitOps helps solve.

Main characteristics & use cases:

  • Helps you apply manifest from repo to cluster, and continuously monitors the repo (GitOps).
  • Typically used for infrastructure & application deployment.

Argo Workflows: A container-native workflow engine for orchestrating jobs on Kubernetes.

Argo Workflows dashboard mockup
Argo Workflows dashboard mockup

Argo Workflows was actually the first Argo project and was created at Applatix when Hong Wang, Jesse Suen, and Alexander Matyushentsev were at Applatix. Argo Workflows extends the Kubernetes API with a new Workflow CRD (Custom Resource Definition). A Workflow is a very extensible batch resource (similar to a Kubernete Job) that can be used for many applications, however, many companies have realized how to take advantage of Argo Workflows in ML & Data pipelines.

Main characteristics & use cases:

  • Every step in a workflow is a pod, made up of several containers.
  • Typically used for data processing & automation (Fan-out fan-in).
  • Companies like Ant Group & CERN use Argo to process data.
  • Argo Workflows is rapidly replacing tools like Apache Airflow.

Argo Rollouts: A progressive delivery controller for Kubernetes.

Argo Rollouts dashboard mockup
Argo Rollouts dashboard mockup

Argo Rollouts was another tool born out of necessity due to Kubernetes' lack of more sophisticated deployment strategies. The requirement to perform blue-green and canary deployments on Kubernetes prompted creators Alexander Matyushentsev, Danny Thomson, and Jesse Suen to develop a more sophisticated workload controller. Argo Rollouts replaces the Deployment resource with a more advanced Rollout resource. As companies continued to scale and have requirements for better customer experience and SLA's, the need for complex deployment strategies came.

Main characteristics & use cases:

  • It provides blue/green and canary update strategies.
  • Integrates with service meshes & ingress controllers to shape traffic.
  • Automates promotion and rollback based on analysis.
  • Used to safely deploy artifacts into Production.

Argo Events: An event-based dependency manager for Kubernetes.

Argo Events dashboard mockup
Argo Events dashboard mockup

Argo Events was originally created to be a lightweight, Kubernetes native mechanism to automatically trigger Argo Workflows in response to events such as time, new object detection, commits, messages, and more. This could be used for simple use cases to elegantly trigger workflows based on results, but also be used for complex ML (Machine Learning) or data-centric use cases.

Main characteristics & use cases:

  • Argo Events was a special project was that was donated to Argo from BlackRock.
  • Event-based dependency manager which is normally used to trigger Argo Workflows, but can trigger any Kubernetes resources.

As this suite of tools gains traction, Akuity.io was founded by the co-creators of Argo to help users implement and scale their software delivery process. Find out how we can help with professional support, solutions, prioritized patches, and guaranteed enterprise SLAs from our team of Argo experts.

Stay tuned for more on our blog series as we share more insight, guides, and solutions that range from beginner to expert.

Thank you, and if there is anything I can help with feel free to reach out to me via Twitter @dhpup.

Share this blog:

Latest Blog Posts

What's New in Kargo v0.5.0

What's New in Kargo v0.5.0

We're back from Kubecon EU '24 in Paris, and there was a lot of buzz around Kargo! We had many conversations with folks talking about their struggles with how…...

Argo CD CDK8S Config Management Plugin

Argo CD CDK8S Config Management Plugin

If you haven't stored raw kubernetes YAML files in your GitOps repository, you most probably used some sort of tooling that generates YAML files, for example…...

Application Dependencies with Argo CD

Application Dependencies with Argo CD

With Argo CD and GitOps gaining wide adoption, many organizations are starting to deploy more and more applications using Argo CD and GitOps in their workflows…...

Leverage the industry-leading suite

Contact our team to learn more about Akuity Cloud