Qual è la differenza tra Ansible, Ansible Galaxy e Ansible Tower?

Ansible è uno strumento di gestione della configurazione open source e una piattaforma di automazione IT. Aiuta ad automatizzare il provisioning del software, la gestione della configurazione e la distribuzione delle applicazioni.

Ansible non è come le altre app di gestione della configurazione. Questo è ciò che lo rende diverso da altri strumenti di gestione della configurazione come Chef, CFEngine, Salt e Puppet.

Ansible Tower fornisce un’interfaccia basata sul Web per gestire Ansible. Gli utenti di Ansible desideravano un’interfaccia intuitiva e facile da usare per distribuzioni rapide e monitoraggio della configurazione.

Ansible Tower è stata la risposta del management di Ansible. Ogni lingua e ogni framework ha le sue capacità e sfumature uniche. Questo post discuterà le differenze tra Ansible, Ansible Tower e Ansible Tower.

Introduzione ad Ansible

Ansible è uno strumento open source per la gestione della configurazione che automatizza il provisioning del software e la gestione della configurazione. È possibile controllare e configurare più macchine da una macchina server.

Funziona con un sistema basato su push in cui la configurazione viene “spinta” dalla macchina master a tutti i suoi nodi.

Le configurazioni sono scritte usando YAML. Sono facili da capire e abbastanza semplici da creare per gli amministratori del server. Funziona su SSH e utilizza OpenSSH come livello di trasporto.

Tutte le configurazioni di Ansible possono essere trovate in un insieme di file YAML che chiamiamo playbook. Questo playbook contiene compiti o giochi. Per configurare i nodi, un’attività utilizza un modulo.

I playbook sono un luogo in cui è possibile scrivere le configurazioni. Tutte le attività scritte in un playbook vengono eseguite nello stesso ordine. Supporta sia l’esecuzione sincrona che asincrona.

Puoi vedere diverse macchine host nell’immagine sopra. Queste macchine host vengono utilizzate per eseguire tutte le configurazioni che abbiamo creato.

Pro di Ansible:

  • È gratuito e open-source
  • Semplice: non ci sono problemi con la configurazione di Ansible
  • Potente: con Ansible puoi configurare migliaia di macchine contemporaneamente
  • Flessibile: può essere utilizzato in più ambienti.
  • Senza agente: non si basa sui nodi dell’agente, come Jenkins.
  • Efficiente: non richiede alcun software aggiuntivo per funzionare.

Contro di Ansible:

  • Difficile da installare
  • Non funziona su Windows
  • Retrocompatibilità

Introduzione alla Galassia Ansible

Ansible Galaxy consente agli utenti di condividere e recuperare ruoli. Ansible Galaxy incoraggia l’uso di ruoli riutilizzabili nella configurazione del server. Ansible Galaxy viene spesso utilizzato nei progetti.

Ansible Galaxy è fondamentalmente un archivio pubblico di descrizioni dei ruoli Ansible. I README sono inclusi in tutti i ruoli. Forniscono informazioni sull’uso e sulle variabili del ruolo.

Ansible Galaxy ha molti ruoli che sono in continua evoluzione e crescita. I ruoli ti consentono di abbattere playbook più grandi e creare una struttura strutturata. Puoi modificare i tuoi ruoli e poi usarli come desideri.

Ansible Galaxy Ruolo Struttura

  • README.md è il file Leggimi che descrive il ruolo. Il file readme contiene tutti i dettagli sui parametri di input del ruolo e un yml di esempio.
  • attività: tutte le attività possono essere arruolate dal ruolo nelle attività. Il punto di ingresso per il ruolo è Main.yml. È qui che inizia l’esecuzione. Questo file può contenere altri file.
  • gestori: questa categoria include i gestori che possono essere utilizzati in questo ruolo o in qualsiasi altro ruolo.
  • defaults – Le variabili predefinite per il ruolo.
  • vars – Variabili più importanti dei valori predefiniti per Role.
  • file: questi file possono essere distribuiti utilizzando Role.
  • modelli – Questa sezione contiene modelli che possono essere utilizzati tramite il ruolo.
  • meta – I metadati possono essere utilizzati per definire i ruoli in meta. Questo file dovrebbe includere anche eventuali dipendenze di ruolo.
  • tests – Test CI da eseguire.
  • libreria – Incorporamento di moduli o plug-in nei ruoli. Non creato dal comando init. Puoi anche creare un modulo personalizzato in Python in questa cartella e quindi utilizzarlo nelle tue attività.

Ansible Galaxy è uno strumento che consente di creare e gestire ruoli. Vedrai nuove versioni di Ansible e ci saranno cambiamenti. La versione 2.2.8 di Ansible presentava la funzione di raccolta. Il contenuto di Ansible è distribuito in raccolte. Sono utilizzati per impacchettare e distribuire moduli, playbook e plug-in.

Pro di Ansible Galaxy:

  • Individua, riutilizza e condividi centralmente i contenuti relativi ad Ansible
  • Scarica facilmente i ruoli riutilizzabili per l’installazione dell’applicazione
  • Aumenta la velocità di distribuzione

Contro di Ansible Galaxy

  • È guidato dalla comunità, quindi il lavoro su un modulo non è garantito
  • Molti ruoli della galassia Ansible hanno una cattiva documentazione
  • La maggior parte dei ruoli Ansible Galaxy non sono idempotenti

Introduzione alla torre Ansible

Ansible Tower è l’interfaccia utente per Ansible. È una soluzione basata sul Web che può essere utilizzata da diversi tipi di team IT.

Ansible Tower può essere paragonata al cruscotto di un’auto. Il cruscotto ti mostra tutte le informazioni di cui hai bisogno sulle condizioni della tua auto: velocità, livello dell’olio, benzina rimanente, ecc. Ansible Tower sembra un cruscotto, ma Ansible è il motore.

Ansible Tower consente agli utenti di eseguire attività in remoto tramite un’interfaccia utente grafica. I lavori Ansible possono essere eseguiti tramite playbook. Questi playbook possono essere eseguiti utilizzando l’interfaccia a riga di comando di Ansible. Ansible Tower, tuttavia, consente di eseguire la gestione e l’esecuzione del playbook tramite la GUI.

Puoi eseguire playbook preesistenti o crearne di tuoi. Ansible Tower offre anche notifiche integrate. Ciò consente a team specifici di ricevere una notifica quando un lavoro viene completato o fallito. Questo tipo di comunicazione incrociata è vitale per qualsiasi organizzazione.

Fornisce inoltre il controllo degli accessi basato sui ruoli (RBAC), che consente di verificare chi è autorizzato a eseguire i lavori. Ciò consente solo a determinati utenti di eseguire lavori presso Ansible Tower. Questo è spesso richiesto per conformarsi alle normative sulla sicurezza del settore.

Fornisce RBAC e mostra anche un registro di controllo che specifica chi era responsabile di quale lavoro in un dato momento. Ciò fornisce una sicurezza aggiuntiva difficile da trovare se si utilizza Ansible da solo.

Ansible Tower consente l’esecuzione di codice in modalità remota in diverse applicazioni. Una VM potrebbe trovarsi nelle condizioni sbagliate e deve essere riavviata, e Ansible Tower rende facile e sicuro farlo.

L’installazione remota del software può essere utilizzata per correggere rapidamente buchi di sicurezza o reimpostare le password. Ansible Tower è il tuo sportello unico per tutta l’infrastruttura di rete e le VM distribuite tramite Ansible.

Ansible Tower, a differenza di Ansible, non è gratuito. Esistono due versioni di Ansible Tower: Premium e Standard. Spetta a te e ai requisiti IT della tua azienda quale versione è la migliore. Le edizioni standard sono adatte per la maggior parte delle operazioni IT. Premium è progettato per DevOps mission-critical.

Red Hat ti fornirà le informazioni esatte sui prezzi dopo che li avrai contattati. L’edizione Standard avrà un costo di circa $ 10.000 all’anno per 100 nodi. Il Premium ti farà guadagnare circa $ 14.000 all’anno per lo stesso numero di nodi.

Pro di Ansible Tower:

  • Disposizione semplice
  • Ti aiuta a creare pipeline CI/CD per la gestione del flusso di lavoro
  • Permette di pianificare un lavoro e notifica per ogni errore
  • Gestione grafica dell’inventario
  • Molto facile da configurare

Contro di Ansible Tower:

  • Caro
  • Basato su abbonamento
  • Unisci la risoluzione dei conflitti impossibile/poco chiara
  • Il debug è complesso

Ansible vs Ansible Galaxy vs Ansible Tower

Ansible può essere utilizzato come strumento di automazione IT. Può distribuire software e configurare sistemi. Può anche orchestrare attività IT più complesse come distribuzioni continue o aggiornamenti roll-up senza tempi di inattività. Gli obiettivi primari di Ansible sono la semplicità e la facilità d’uso.

Ansible Tower, d’altra parte, è descritto come “Il client Git più potente per Mac e Windows”. Puoi utilizzare tutte le potenti funzionalità di Git in una GUI più produttiva. Ansible Galaxy può essere utilizzato per archiviare ruoli Ansible. Ansible Galaxy è l’equivalente di PyPI per Python o Maven per Java.

Ansible Tower non può essere utilizzato senza Ansible. Ansible Tower può essere utilizzato con Ansible Tower. Ansible è il motore che guida la gestione e l’implementazione dell’infrastruttura.

Ansible Tower ci permette di vedere il funzionamento interno di ogni cosa. Ti consente di visualizzare e controllare la conformità alla sicurezza dell’infrastruttura della tua organizzazione.

Ansible Tower può fornire RBAC per le tue distribuzioni Ansible. Ansible Tower è anche un’ottima opzione se stai cercando professionisti non esperti nella codifica per rivedere la tua infrastruttura.

Confronto tra Ansible vs Ansible Tower vs Ansible Galaxy:

AnsibleAnsible TowerAnsible GalaxyStrumento di gestione della configurazione open sourceInterfaccia utente di AnsibleRepository di ruoli e raccoltaEsegue playbook tramite CLIEsegue playbook tramite GUIEsegue ansible-galaxy utilizzando CLIRilascio iniziale nel 2012Rilascio iniziale nel 2015Rilascio iniziale nel 2016Gratis da usareInizia a 5000 $ all’anno per 100 nodiGratis da usareMolto semplice da impostare up and useOffre visibilità all’intero ambiente AnsiblePuò riutilizzare blocchi di codice in diversi playbook

Conclusione

Quindi, si trattava di Ansible, Ansible Tower e Ansible Galaxy e delle differenze tra Ansible, Ansible Galaxy e Ansible Tower. Un’organizzazione dovrebbe considerare i suoi requisiti relativi ad Ansible Tower perché è molto costoso. Ma nel complesso, Ansible è un eccellente strumento CM per qualsiasi ambiente simile a Linux.

Potresti anche essere interessato alle attività di Sysadmin che puoi automatizzare con Ansible.