

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Casi d'uso di Argo CD e Flux
<a name="use-cases"></a>

Questa sezione si concentra su due strumenti, Argo CD e Flux, che forniscono funzionalità allo stato puro. GitOps In questo contesto, *pure GitOps* si riferisce a un modello in cui un repository Git funge da unica fonte di verità per lo stato desiderato delle applicazioni e dell'infrastruttura. Tutte le modifiche vengono apportate tramite commit Git e il sistema sincronizza automaticamente l'ambiente live in modo che corrisponda allo stato definito nel repository. Non è richiesto alcun intervento manuale al di fuori delle operazioni Git.

## Considerazioni generali
<a name="considerations"></a>
+ Potresti preferire utilizzare Argo CD in ambienti in cui la gestione visiva e i flussi di lavoro incentrati sulle applicazioni sono importanti.
+ Puoi scegliere Flux se hai bisogno di soluzioni più leggere, una solida multi-tenancy o una profonda integrazione con la più ampia rete Cloud Native Computing Foundations (CNCF).
+ Argo CD piace spesso ai team che stanno passando dal CI/CD tradizionale a grazie alla sua interfaccia utente intuitiva. GitOps 
+ Flux è spesso preferito negli ambienti nativi del cloud in cui i flussi di lavoro basati su CLI e le pratiche IaC sono già consolidati.

In definitiva, la scelta tra Argo CD e Flux dipende spesso dalle esigenze organizzative specifiche, dagli strumenti esistenti e dalle preferenze del team. Entrambi gli strumenti sono in grado di gestire la maggior parte GitOps degli scenari, quindi consigliamo di valutarli in base ai casi d'uso e ai requisiti specifici.

## Casi d'uso di Argo CD
<a name="argo-cd-use-cases"></a>

Gestione visiva:
+ Quando è necessaria un'interfaccia utente intuitiva per gestire le distribuzioni e visualizzare gli stati delle applicazioni.
+ Per i team che preferiscono un'interfaccia grafica per il monitoraggio e la risoluzione dei problemi.

Approccio incentrato sulle applicazioni:
+ Quando si desidera gestire le implementazioni a livello di applicazione anziché gestire le singole risorse.
+ Per le organizzazioni che strutturano le proprie implementazioni in base a concetti applicativi.

Gestione multicluster:
+ Quando la gestione delle distribuzioni su più cluster è un requisito primario.
+ Per ambienti complessi e distribuiti con molti cluster.

Onde di rollback e sincronizzazione:
+ Quando è necessario un controllo dettagliato sul processo di implementazione, comprese le ondate di sincronizzazione e gli interventi manuali.
+ Per scenari che richiedono strategie di rollback complesse.

Integrazione con gli strumenti esistenti:
+ Quando utilizzi già altri strumenti del progetto Argo come Argo Workflows e Argo Events.

Ambienti aziendali:
+ Per le grandi aziende che necessitano di una solida integrazione RBAC e Single Sign-On come impostazione predefinita.

## Casi d'uso di Flux
<a name="flux-use-cases"></a>

Implementazioni leggere:
+ Quando hai bisogno di una soluzione più leggera e meno dispendiosa in termini di risorse GitOps.
+ Per scenari di edge computing o IoT in cui le risorse potrebbero essere limitate.

Aggiornamenti automatici delle immagini:
+ Quando il rilevamento e l'implementazione automatici di nuove immagini di container sono un requisito fondamentale.
+ Per i team che si concentrano sull'implementazione continua con aggiornamenti frequenti delle immagini.

Multi-tenancy:
+ Quando è necessario un forte supporto multi-tenancy, specialmente in ambienti cluster condivisi.
+ Per fornitori di servizi o grandi organizzazioni che prevedono rigide separazioni tra team o progetti.

IAC:
+ Quando si gestiscono sia le applicazioni che l'infrastruttura attraverso lo stesso GitOps flusso di lavoro è importante.
+ Per i team che hanno investito molto nel paradigma IaC.

Integrazione Helm:
+ Quando l'uso estensivo dei grafici Helm fa parte della strategia di implementazione.
+ Per ambienti con implementazioni complesse basate su Helm.

Integrazione del progetto CNCF:
+ Quando è importante una stretta integrazione con altri progetti CNCF.
+ Per le organizzazioni che si allineano alle tecnologie e ai principi del CNCF.

Architettura modulare:
+ Quando è necessaria la flessibilità necessaria per utilizzare solo componenti specifici del GitOps toolkit.
+ Per i team che desiderano creare GitOps flussi di lavoro personalizzati utilizzando componenti modulari.

Distribuzione progressiva:
+ Quando le strategie di implementazione avanzate come le versioni Canary o A/B i test sono requisiti fondamentali.

## Confronto delle funzionalità
<a name="argo-flux-comparison"></a>


| Area | CD Argo | Flusso | 
| --- | --- | --- | 
| Support per GitOps i principi fondamentali |  ![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png)Sì |  ![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png)Sì | 
| Architettura | End-to-end applicazione per l'implementazione dei flussi di lavoro Kubernetes GitOps | Fornisce Kubernetes e controller per CRDs GitOps | 
| Configurazione | Semplice | Complesso | 
| Supporto per il timone |  ![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png)Sì |  ![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png)Sì | 
| Personalizza il supporto |  ![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png)Sì |  ![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png)Sì | 
| GUI integrata | CLI e interfaccia utente web completa | CLI e interfaccia web leggera opzionale | 
| Supporto RBAC | Controllo granulare | RBAC nativo per Kubernetes | 
| Supporto multi-tenancy e multi-cluster | Supporto eccellente per più cluster | Eccellente supporto per la multi-tenancy | 
| Autenticazione Single Sign-On |  ![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png)Sì |  ![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png)Sì | 
| Automazione della sincronizzazione | Possibilità di sincronizzare le finestre | Possibilità di impostare intervalli di riconciliazione | 
| Sincronizzazione parziale |  ![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/eks-gitops-tools/images/icon-yes.png)Sì |  ![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/eks-gitops-tools/images/icon-no.png)No | 
| Processo di riconciliazione | Supporta sincronizzazioni manuali e automatiche. Sono disponibili diverse strategie. | Supporta sincronizzazioni manuali e automatiche. | 
| Estensibilità | Supporta plugin personalizzati. Opzioni di personalizzazione limitate. | Supporta controller personalizzati. Buona estensibilità e integrazioni di terze parti. | 
| Supporto comunitario | Comunità ampia e attiva. | Comunità più piccola ma in crescita. | 
| Scalabilità | Buona scalabilità, ma limitata dalla velocità di recupero dei dati dell'interfaccia utente Web. L'analisi comunitaria suggerisce il supporto per decine di migliaia di applicazioni. | Guide chiare per la scalabilità orizzontale e verticale, fino a decine di migliaia di applicazioni. | 