Argo Workflows runs container-based workflows on Kubernetes through declarative YAML, without tying workflow definitions to a programming language.
2
Kemal Tugrul Yesilbek chose Argo for scheduled batch computation because it focuses on workflow execution and requires less maintenance than broader platforms such as Kubeflow.
3
DAGs, retries, schedules, parameters, and artifacts let teams build parallel workflows, recover from temporary failures, and inspect data from individual steps.
Summary
Kemal Tugrul Yesilbek presents Argo Workflows as a Kubernetes-native system for running containerized workflows. Workflow definitions use YAML and specify metadata, templates, commands, images, and an entry point. Templates can accept parameters, while DAGs allow tasks to run in parallel and depend on earlier tasks. He demonstrates one-off workflows, scheduled CronWorkflows, retry policies, and artifacts passed between steps or stored for debugging. His team first used Kubeflow, then moved closer to Argo because their main need was scheduled batch computation and they did not want to maintain functionality they did not use. Argo also fit their existing Kubernetes setup. Kemal explains that users need only basic Kubernetes knowledge for most Argo work, although deeper failures may require inspecting pods. The examples are simple, but they show how Argo can support machine learning, data engineering, data migration, continuous training, backfills, and parameterized runs.
Argo runs containerized workflows on Kubernetes through YAML
Kemal defines Argo Workflows as a way to run workflows on Kubernetes. It is built on Kubernetes, supports declarative YAML, and does not require users to write workflow logic in a particular programming language. Each step runs a command in a container, so existing Dockerized applications can be used directly. A workflow can stay small, with roughly ten lines for a simple case, or grow into a more complex execution graph. Argo manages execution while the application remains inside the container.
A narrow workflow tool reduced the maintenance burden for Kemal's team
Kemal says his team chose Argo because it does one job, workflow execution, and does it well. A smaller feature surface means fewer unused functions to maintain and fewer places for errors to occur. Kubernetes was already used across the organization, so a Kubernetes-native workflow system fit their environment. He also describes Argo as scalable up to the capacity of the Kubernetes cluster and says simple workflows are easy to learn before teams add more advanced behavior.
Kemal connects Argo to machine learning through scheduled batch computation, which he describes as a common industry pattern. Argo can store artifacts and emit metrics and logs, giving users material to inspect when a workflow fails. It does not dictate how a machine learning solution must be structured. Teams package their solution in a container, and Argo manages when and where the steps execute.
A workflow consists of steps, and each step specifies an image and the command to run in that container. Kemal explains that templates are reusable units of execution and that each template represents a node. The workflow specification includes templates and an entry point, which tells Argo where execution begins. Metadata can include names, labels, descriptions, and an owner, so runs can be organized and responsibility can be clear when something fails.
Parameters let one template run with different inputs
Kemal makes the whale-say example reusable by adding an input parameter called say text. The template still uses the same image and command, but the argument is taken from the supplied parameter. Two tasks then call the same template with different values, "hello world" and "hello there." This avoids copying the template for each variation and allows the same workflow structure to execute different inputs.
Directed acyclic graphs arrange workflow tasks according to dependencies. Kemal uses depends to state which task must finish before another can run. Tasks without a dependency can start immediately and run in parallel. Each Argo step runs in its own pod, so parallel tasks can reduce workflow duration. The same mechanism can express simple graphs or more involved patterns with forking, merging, and multiple dependent tasks.
CronWorkflows turn one-off runs into scheduled jobs
A regular workflow is submitted, runs, and stops. A CronWorkflow adds a cron expression and a time zone, allowing Argo to start the workflow on a schedule. Kemal demonstrates a workflow configured to run every minute in UTC. The workflow body remains largely the same, with metadata, an entry point, templates, parameters, and tasks. Argo's UI shows the scheduled object and the individual workflow instances it creates.
Retry policies help with temporary failures, not broken commands
Kemal demonstrates a task with a misspelled command and a retry strategy that runs the failed task two more times. The UI shows the initial failure and the subsequent failed retry before marking the workflow as failed. He distinguishes this from transient problems such as network or cluster issues, where waiting and trying again can help. Argo can retry particular steps or an entire workflow, and concurrency settings can prevent multiple instances from running at once.
Artifacts pass files between steps and preserve debugging evidence
Artifacts can carry files or data between workflow steps and can be stored for later inspection. In Kemal's example, Argo downloads a README file from a public URL, places it at a path in the container, and makes it available as an input to the step. The UI shows the artifact and the file used by the command. Artifacts can use external storage such as S3, or Kubernetes mechanisms such as ConfigMaps and persistent volumes. Kemal recommends saving artifacts after steps so a failed data workflow can be recreated from the relevant inputs.
"Instead of actually finding a tool that we like and trying to come up with the problems to solve with it, what we do is to see, okay, what's the problem, what are our requirements, and what is the tool that can solve it."Kemal Tugrul Yesilbek22:55
Who should watch
You run scheduled batch jobs on Kubernetes and want a workflow system that stays close to container execution.
Your team is deciding between a broad machine learning platform and a smaller workflow-focused tool.
You need practical patterns for DAGs, retries, scheduled runs, or passing files between workflow steps.