

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Casos de uso do Argo CD e do Flux
<a name="use-cases"></a>

Esta seção se concentra em duas ferramentas, Argo CD e Flux, que fornecem funcionalidade pura GitOps. Nesse contexto, *pure GitOps* se refere a um modelo em que um repositório Git serve como a única fonte confiável para o estado desejado dos aplicativos e da infraestrutura. Todas as alterações são feitas por meio de commits do Git, e o sistema sincroniza automaticamente o ambiente ativo para corresponder ao estado definido no repositório. Nenhuma intervenção manual é necessária fora das operações do Git.

## Considerações gerais
<a name="considerations"></a>
+ Talvez você prefira usar o Argo CD em ambientes em que o gerenciamento visual e os fluxos de trabalho centrados em aplicativos são importantes.
+ Você pode escolher o Flux se precisar de soluções mais leves, multilocação forte ou integração profunda com a rede mais ampla do Cloud Native Computing Foundations (CNCF).
+ O Argo CD geralmente atrai equipes que estão migrando do tradicional para o GitOps por causa de CI/CD sua interface intuitiva.
+ O Flux geralmente é preferido em ambientes nativos da nuvem, onde os CLI-based fluxos de trabalho e as práticas de IaC já estão estabelecidos.

Em última análise, a escolha entre o Argo CD e o Flux geralmente depende de suas necessidades organizacionais específicas, das ferramentas existentes e das preferências da equipe. Ambas as ferramentas são capazes de lidar com a maioria dos GitOps cenários, por isso recomendamos que você as avalie com base em seus casos de uso e requisitos específicos.

## Casos de uso do Argo CD
<a name="argo-cd-use-cases"></a>

Gerenciamento visual:
+ Quando você precisa de uma interface de usuário fácil de usar para gerenciar implantações e visualizar estados de aplicativos.
+ Para equipes que preferem uma interface gráfica para monitoramento e solução de problemas.

Application-centric abordagem:
+ Quando você quiser gerenciar implantações no nível do aplicativo em vez de gerenciar recursos individuais.
+ Para organizações que estruturam suas implantações em torno de conceitos de aplicativos.

Multi-cluster gestão:
+ Quando gerenciar implantações em vários clusters é um requisito primário.
+ Para ambientes complexos e distribuídos com muitos clusters.

Ondas de reversão e sincronização:
+ Quando você precisa de um controle refinado sobre o processo de implantação, incluindo ondas de sincronização e intervenções manuais.
+ Para cenários que exigem estratégias complexas de reversão.

Integração com ferramentas existentes:
+ Quando você já está usando outras ferramentas no projeto Argo, como Argo Workflows e Argo Events.

Ambientes corporativos:
+ Para grandes empresas que precisam de RBAC robusto e integração de login único por padrão.

## Casos de uso do Flux
<a name="flux-use-cases"></a>

Implantações leves:
+ Quando você precisa de uma solução mais leve e que consuma menos recursos GitOps.
+ Para cenários de computação de ponta ou IoT em que os recursos podem ser restritos.

Atualizações automatizadas de imagens:
+ Quando a detecção e a implantação automáticas de novas imagens de contêiner são um requisito fundamental.
+ Para equipes que se concentram na implantação contínua com atualizações frequentes de imagens.

Multi-tenancy:
+ Quando é necessário um forte suporte multilocatário, especialmente em ambientes de cluster compartilhados.
+ Para provedores de serviços ou grandes organizações que têm separações estritas entre equipes ou projetos.

IaC:
+ Ao gerenciar aplicativos e infraestrutura por meio do mesmo GitOps fluxo de trabalho, é importante.
+ Para equipes que investem fortemente no paradigma do IaC.

Integração com o Helm:
+ Quando o uso extensivo de gráficos do Helm faz parte de sua estratégia de implantação.
+ Para ambientes com Helm-based implantações complexas.

Integração do projeto CNCF:
+ Quando a integração estreita com outros projetos CNCF é importante.
+ Para organizações que se alinham às tecnologias e princípios da CNCF.

Arquitetura modular:
+ Quando você precisa de flexibilidade para usar somente componentes específicos do GitOps kit de ferramentas.
+ Para equipes que desejam criar GitOps fluxos de trabalho personalizados usando componentes modulares.

Entrega progressiva:
+ Quando estratégias avançadas de implantação, como versões canárias ou A/B testes, são requisitos essenciais.

## Comparação de recursos
<a name="argo-flux-comparison"></a>


| Área | Argo CD | Fluxo | 
| --- | --- | --- | 
| Support aos GitOps princípios fundamentais |  ![](https://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png) Sim |  ![](https://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png) Sim | 
| Arquitetura | End-to-end aplicativo para implementar fluxos de trabalho do Kubernetes GitOps | Fornece CRDs e controladores Kubernetes para GitOps | 
| Configuração | Simples | Complexo | 
| Suporte de leme |  ![](https://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png) Sim |  ![](https://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png) Sim | 
| Personalize o suporte |  ![](https://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png) Sim |  ![](https://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png) Sim | 
| GUI integrada | CLI e interface de usuário web completa | CLI e interface web leve opcional | 
| Suporte RBAC | Controle granular | RBAC nativo do Kubernetes | 
| Multi-tenancy e suporte a vários clusters | Excelente suporte para vários clusters | Excelente suporte para multilocação | 
| Autenticação de login único |  ![](https://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png) Sim |  ![](https://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png) Sim | 
| Automação de sincronização | Capacidade de sincronizar janelas | Capacidade de definir intervalos de reconciliação | 
| Sincronização parcial |  ![](https://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png) Sim |  ![](https://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/eks-gitops-tools/images/icon-no.png) Não | 
| Processo de reconciliação | Suporta sincronizações manuais e automáticas. Várias estratégias diferentes estão disponíveis. | Suporta sincronizações manuais e automáticas. | 
| Extensibilidade | Suporta plug-ins personalizados. Opções limitadas de personalização. | Suporta controlador personalizado. Boa extensibilidade e integrações de terceiros. | 
| Suporte comunitário | Comunidade grande e ativa. | Comunidade menor, mas em crescimento. | 
| Escalabilidade | Boa escalabilidade, mas limitada pela taxa de busca de dados da interface do usuário da web. A análise da comunidade sugere suporte para dezenas de milhares de aplicativos. | Guias claros para escalabilidade horizontal e vertical, até dezenas de milhares de aplicativos. | 