Descrição
Argo Workflows é um motor de workflow nativo de contêineres de código aberto, especificamente projetado para orquestrar trabalhos paralelos no Kubernetes. Como uma Definição de Recurso Personalizado (CRD) do Kubernetes, permite que os usuários definam workflows onde cada etapa é um contêiner, modelando workflows de múltiplas etapas como uma sequência de tarefas ou capturando dependências usando um grafo acíclico direcionado (DAG). Isso o torna particularmente útil para trabalhos que exigem alto poder computacional, como aprendizado de máquina e processamento de dados, permitindo que sejam executados em uma fração do tempo.
Argo Workflows é um projeto graduado da Cloud Native Computing Foundation (CNCF) e é reconhecido como o motor de execução de workflows mais popular para Kubernetes. É leve, escalável e fácil de usar, com suporte para usuários Python através do Hera Python SDK. A plataforma é agnóstica em relação à nuvem, capaz de rodar em qualquer cluster Kubernetes, e elimina a sobrecarga e as limitações de ambientes legados baseados em VM e servidores.
O motor suporta uma ampla gama de recursos, incluindo uma interface de usuário para visualizar e gerenciar workflows, suporte a artefatos, modelagem de workflows e arquivamento. Também oferece workflows agendados usando cron, uma interface de servidor com REST API e vários métodos de declaração de workflows. Capacidades adicionais incluem entradas e saídas em nível de etapa, loops, parametrização, condicionais, timeouts, tentativas e orquestração de recursos.
Argo Workflows é utilizado por mais de 200 organizações e se integra a vários projetos, como Argo Events, Hera, Katib e Kubeflow Pipelines. Ele fornece bibliotecas de cliente em Java, Golang, Python e Typescript, e suporta múltiplos executores, orçamentos de interrupção de pods e acionamento de webhooks. A plataforma é ideal para indústrias envolvidas em aprendizado de máquina, processamento de dados e CI/CD, oferecendo uma solução robusta para gerenciar workflows complexos no Kubernetes.
Recursos principais de Argo Workflows
Motor de workflow de código aberto
Implementação de CRD do Kubernetes
Suporta workflows baseados em DAG e etapas
Suporte a artefatos com várias opções de armazenamento
Modelagem e arquivamento de workflows
Workflows agendados usando cron
Interface de servidor REST API
Suporta várias linguagens de programação
Como usar Argo Workflows?
Definir: Crie workflows usando contêineres
Modelar: Use DAGs ou etapas para dependências de tarefas
Executar: Execute workflows em clusters Kubernetes
Monitorar: Use a interface para visualizar e gerenciar workflows
Casos de uso de Argo Workflows
- Pipelines de Aprendizado de Máquina
- Processamento de Dados
- CI/CD
- Automação de Infraestrutura
- Processamento em Lote

