GitHub Actions vs Argo Workflows: CI vs Engine K8s
Estes resolvem problemas diferentes: o Argo Workflows é um engine de DAG Kubernetes-native, enquanto o GitHub Actions é CI dirigido por eventos de git.
O Argo Workflows roda DAGs baseados em containers no Kubernetes, muitas vezes para pipelines de dados/ML; o GitHub Actions é CI/CD disparado por eventos de repositório. Times às vezes os comparam, então aqui vai onde cada um se encaixa.
| GitHub Actions | Argo Workflows | |
|---|---|---|
| Uso principal | CI/CD em eventos de git | DAGs de container / batch no K8s |
| Configuração | .github/workflows/*.yml | CRDs de Workflow (YAML) |
| Modelo de hospedagem | Hospedado pelo GitHub ou self-hosted | Roda no seu cluster Kubernetes |
| Modelo de trigger | Push, PR, schedule, dispatch | API, eventos, schedule, sensores |
| Ecossistema | Actions Marketplace | Ecossistema Argo (Events, CD) |
| Manutenção | Baixa (managed runners) | Você o opera no K8s |
Trabalhos diferentes
Use o Argo Workflows para DAGs de container pesados e paralelos (treinamento de ML, ETL) que pertencem ao Kubernetes. Use o GitHub Actions para build/test/deploy disparados por mudanças de código. Muitos times rodam os dois.
Configuração e ops
O Argo é Kubernetes-native e poderoso para trabalho batch de fan-out/fan-in, mas você opera o cluster e os controllers. O Actions é gerenciado e centrado em git, com um grande marketplace.
Onde os managed runners se encaixam
Se o seu CI é GitHub Actions e apenas os seus jobs batch precisam de Argo, mantenha o CI no Actions e reduza o custo dele com managed runners (por exemplo, Latchkey): cerca de 70% abaixo dos runners hospedados pelo GitHub, warm pools e retries de autocorreção.
O veredito
Escolha o Argo Workflows para processamento batch/DAG Kubernetes-native e o GitHub Actions para CI/CD disparado por código. Eles se complementam mais do que competem; managed runners mantêm o lado do Actions barato.