Dagu vs Argo Workflows

Argo Workflows живет в Kubernetes. Dagu работает на обычной машине.

Оба описывают DAG и выполняют шаги по порядку. Argo Workflows встроен в Kubernetes и планирует каждый шаг как pod. Dagu — один бинарник, который вызывает уже имеющиеся у вас команды, и кластер для него не нужен.

Workflow, который запускается на одном хосте
name: nightly-ops
schedule: "0 2 * * *"

steps:
  - id: extract
    run: python scripts/extract.py

  - id: transform
    run: ./bin/transform
    retry_policy:
      limit: 3
    depends: [extract]

  - id: notify
    run: ./scripts/slack-success.sh
    depends: [transform]

Один самодостаточный бинарник, без кластера Kubernetes

Декларативный YAML, запускающий существующие команды

Без внешней database или message broker

Executors для shell, Docker, HTTP, SSH, SQL, sub-workflow и AI-агентов

Orchestration без кластера снизу

Argo Workflows предполагает работающий кластер Kubernetes и controller, который превращает каждый шаг в pod. У Dagu такого требования нет. Вы кладете один бинарник на сервер, ноутбук или VM, и он работает.

  • Работает на обычной машине без Kubernetes, controller и etcd.
  • Хранит состояние в локальных файлах, а не в отдельной database или broker.
  • Начните локально, затем перейдите к queue-based или distributed mode при росте нагрузки.

Шаги — это команды, а не только контейнеры

В Argo Workflows каждый шаг — это контейнер, который запускается в pod. Dagu тоже умеет запускать контейнер, но также напрямую вызывает shell-скрипт, HTTP-эндпоинт, SSH-команду, SQL-запрос, sub-workflow или шаг AI-агента.

  • Используйте уже имеющиеся скрипты и бинарники без упаковки каждого в image.
  • Смешивайте Docker-шаги с shell, HTTP и SSH в одном workflow.
  • Смотрите запуски, логи и историю во встроенном Web UI.

Когда лучше выбрать Argo Workflows

Argo Workflows подходит лучше, когда Kubernetes уже является вашей платформой. Он Kubernetes-native, планирует каждый шаг как отдельный pod и рассчитан на тяжелый container fan-out. Dagu этого не делает.

  • Вы работаете на Kubernetes и хотите описывать workflow как CRD рядом с другими манифестами.
  • Вам нужны pod scheduling, node selectors и cluster autoscaling для каждой задачи.
  • Ваши pipeline разворачиваются в тысячи контейнеров на множестве узлов одновременно.

Argo Workflows vs. Dagu кратко

Dimension
Dagu
Typical alternative
Runtime
Один бинарник на обычной машине, опирающийся на локальные файлы.
Кластер Kubernetes с workflow controller.
Что такое шаг
Команда: shell, Docker, HTTP, SSH, SQL, sub-workflow или AI-агент.
Контейнер, который работает как pod в кластере.
Лучший сценарий
Ops-задачи, скрипты и смешанные pipeline на ваших же хостах.
Kubernetes-native и тяжелые контейнерные или ML pipeline в масштабе.

FAQ

Practical questions before adopting Dagu

Заменяет ли Dagu Argo Workflows?

Не для каждой команды. Если вы стандартизированы на Kubernetes и хотите, чтобы каждый шаг работал как pod, Argo Workflows — правильный инструмент. Dagu подходит лучше, когда нужно оркестрировать команды на обычной машине без кластера.

Может ли Dagu работать без Kubernetes?

Да. Dagu — это один самодостаточный бинарник, работающий на сервере, VM или ноутбуке. Ему не нужны кластер Kubernetes, внешняя database или message broker.

Может ли Dagu все же запускать контейнеры?

Да. У Dagu есть Docker executor для шагов, которым нужен контейнер. Разница в том, что контейнер — лишь один из вариантов наряду с shell, HTTP, SSH, SQL и sub-workflow, а не единственная единица выполнения.

Start with one workflow.

Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.

Install Dagu