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-агентов
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 кратко
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.