Dagu vs Argo Workflows
Argo Workflows живет в Kubernetes. Dagu работает на обычной машине.
Оба описывают DAG и выполняют шаги по порядку. Argo Workflows встроен в Kubernetes и планирует каждый шаг как pod. Dagu — один бинарник, который вызывает уже имеющиеся у вас команды, и кластер для него не нужен.
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-агентов
At a glance
Argo Workflows vs. Dagu кратко
Один бинарник на обычной машине, опирающийся на локальные файлы.
Кластер Kubernetes с workflow controller.
Команда: shell, Docker, HTTP, SSH, SQL, sub-workflow или AI-агент.
Контейнер, который работает как pod в кластере.
Ops-задачи, скрипты и смешанные pipeline на ваших же хостах.
Kubernetes-native и тяжелые контейнерные или ML pipeline в масштабе.
In depth
Where each tool fits
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 разворачиваются в тысячи контейнеров на множестве узлов одновременно.
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, а не единственная единица выполнения.
Next step
Start with one workflow.
Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.