Jump to section

I concetti base di Ansible

Copia URL

Ansible® è un motore di automazione IT open source che automatizza il provisioning, la gestione della configurazione, il deployment delle applicazioni, l'orchestrazione e molti altri processi IT.

Ansible può essere utilizzato per installare i software, automatizzare le attività quotidiane, effettuare il provisioning dell'infrastruttura e dei componenti di rete, migliorare la sicurezza e la conformità, applicare le patch ai sistemi e orchestrare i flussi di lavoro complessi.

Red Hat® Ansible Automation Platform è stato realizzato con gli stessi elementi base della versione di Ansible sviluppata dalla community. La differenza è che offre un supporto completo di livello enterprise durante l'intero ciclo di vita e include caratteristiche progettate per aiutare le organizzazioni a standardizzare, ridimensionare e rendere operativa l'automazione. 

Questo articolo spiega gli elementi basilari che accomunano Ansible Automation Platform e la versione di Ansible sviluppata dalla community.

Moduli

Ansible collega tutti i nodi (o host) ed esegue il push di piccoli programmi, denominati moduli, verso tali nodi. I nodi sono gli endpoint di destinazione (server, dispositivi di rete o computer) da gestire con Ansible. I moduli consentono di eseguire le attività di automazione in Ansible. Tali programmi vengono scritti in modo da fornire un modello per le risorse del sistema, nella condizione target. Dopo il push Ansible esegue tali moduli e, al termine, li rimuove.

Senza questi moduli, per eseguire le attività desiderate dovresti utilizzare comandi ad hoc e creare script appositi. Per automatizzare le attività puoi utilizzare i moduli predefiniti inclusi in Ansible o crearne di nuovi in autonomia. I moduli Ansible possono essere scritti in qualunque linguaggio che restituisca file JSON, come Ruby, Python o bash. I moduli di automazione Windows possono essere anche scritti in Powershell. 

Automazione agentless 

Ansible è una soluzione agentless, pertanto non richiede l'installazione di alcun software nei nodi da gestire, ma legge dall'inventario le informazioni relative a tali sistemi. Ansible dispone di un file di inventario predefinito, ma è possibile crearne uno personalizzato e specificare i server da gestire. 

Per connettersi ai server ed eseguire le varie attività, Ansible utilizza il protocollo SSH. Per impostazione predefinita, Ansible utilizza le chiavi SSH con ssh-agent e si connette ai sistemi remoti utilizzando il tuo nome utente attuale, senza richiedere credenziali di root. Puoi effettuare l'accesso con qualunque account e utilizzare i comandi su o sudo come qualsiasi utente.

Dopo aver stabilito la connessione, Ansible trasferisce ai sistemi remoti i moduli che devono essere eseguiti dal tuo comando o Ansible Playbook. Poiché utilizza modelli YAML leggibili in chiaro, puoi programmare l'esecuzione automatica delle attività ripetitive anche senza conoscere alcun linguaggio di programmazione avanzato.

Uso di Ansible per l'esecuzione di comandi ad hoc 

Puoi anche utilizzare Ansible per eseguire comandi ad hoc che automatizzano un singolo task su uno o più nodi gestiti. A tale scopo, è necessario eseguire un comando o inviare una chiamata a un modulo direttamente dalla riga di comando, senza utilizzare alcun playbook. I comandi ad hoc non possono essere riutilizzati. Questa soluzione si presta all'esecuzione di semplici attività occasionali, ma per quelle più frequenti o complesse è necessario un Ansible Playbook.

Gli Ansible Playbook sono strumenti che consentono di orchestrare i processi IT. Un playbook è un file YAML, con estensione .yml o .yaml, contenente uno o più play, che permette di definire la condizione target di un sistema, mentre un modulo Ansible è uno script standalone utilizzabile all'interno di un Ansible Playbook. 

I play sono costituiti da una serie di attività ordinate, da eseguire sugli host selezionati in un file di inventario Ansible. Le attività sono gli elementi costitutivi del play che inviano le chiamate ai moduli Ansible. In un play le attività vengono eseguite nell'ordine in cui sono scritte.

Durante l'esecuzione, Ansible è in grado di tenere traccia dello stato del sistema. Se dopo aver effettuato la scansione di un sistema rileva che la descrizione di un playbook non corrisponde alla condizione effettiva del sistema, Ansible apporta tutte le modifiche necessarie per allineare il sistema al playbook. 

Ansible offre una modalità di verifica che permette di convalidare playbook e comandi ad hoc prima di apportare modifiche alla condizione di un sistema. Questa modalità mostra le attività che dovrebbero essere eseguite da Ansible, senza apportare alcuna modifica effettiva. Ansible si avvale di handler per eseguire un'attività specifica solo dopo che è stata apportata una modifica al sistema. Tali handler vengono attivati dall'attività e vengono eseguiti una volta sola, al termine di tutti gli altri play contenuti nel playbook.

Le variabili ti consentono di modificare la modalità di esecuzione dei playbook per gestire le differenze tra i sistemi, come le versioni dei pacchetti o i percorsi dei file. Con Ansible è possibile utilizzare un unico comando per eseguire i playbook su sistemi diversi. Le variabili consentono di tenere conto delle differenze tra questi sistemi e possono essere definite nei playbook, nell'inventario, nei file riutilizzabili, nei ruoli o sulla riga di comando. Le variabili vengono valutate in base alla precedenza, che definisce l'ordine in cui le variabili si sostituiscono a vicenda.

Un ruolo Ansible è un particolare tipo di playbook: si tratta di un raggruppamento completamente autocontenuto e trasportabile di attività, variabili, modelli di configurazione e altri file di supporto necessari per completare un'orchestrazione complessa. All'interno di una raccolta possono essere presenti più ruoli che semplificano la condivisione dei contenuti tramite Automation Hub e Ansible Galaxy.

Le raccolte sono un formato di distribuzione dei contenuti Ansible che può includere playbook, ruoli, moduli, plugin e documentazione, e che semplifica così per gli autori la condivisione dell'automazione e l'utilizzo di contenuti creati da altre persone. Queste raccolte sono suddivise per dominio dei contenuti e riducono le operazioni e i passaggi necessari per trovare e assemblare ruoli e moduli diversi.

Le raccolte Ansible Content Collections funzionano allo stesso modo, ma sono progettate specificatamente per agevolare gli utenti di Ansible Automation Platform con l'automazione, grazie ai contenuti predefiniti elaborati da Red Hat e dai suoi partner certificati. Queste raccolte, che includono sia Red Hat Ansible Certified Content che contenuti convalidati Ansible, sono sviluppate e testate tenendo conto delle informazioni fornite dai partner. In questo modo si garantisce che le raccolte siano sicure, affidabili ed enterprise-ready.

Scopri le differenze tra i contenuti Ansible certificati e quelli convalidati e in che modo vengono utilizzati. Durata del video: 1:55.

Ansible può essere utilizzato, scaricato e modificato gratuitamente ed è frutto dell'esperienza e dell'intelligenza di migliaia di collaboratori. La versione di Ansible sviluppata dalla community include una suite di efficaci strumenti della riga di comando compatibili con la maggior parte dei sistemi operativi su cui è installato Python, tra cui Red Hat Enterprise Linux®, Debian, Ubuntu, MacOS, FreeBSD e Microsoft Windows. 

Ansible Automation Platform unisce più di una dozzina di progetti in un prodotto di livello enterprise unificato e incentrato sulla sicurezza. Questa soluzione è stata realizzata a partire dalle stesse basi della versione di Ansible sviluppata dalla community per offrire un'esperienza di automazione end to end ai team interfunzionali. Inoltre, garantisce un'esperienza plug and play agli sviluppatori, agli ingegneri e ai team operativi che si occupano di automazione.

Vuoi maggiori informazioni sulle differenze tra Ansible e Red Hat Ansible Automation Platform?

Ansible Basics: Automation Technical Overview

Una serie di video online on demand che fornisce un'introduzione alle attività di gestione della configurazione e dell'automazione con Ansible, per il provisioning, il deployment e la gestione dell'infrastruttura di elaborazione negli ambienti cloud, fisici e virtuali.

Red Hat Enterprise Linux Automation with Ansible 

In questo corso viene spiegato come automatizzare le attività di amministrazione dei sistemi Linux® con l'ultima versione di Red Hat® Ansible Automation Platform. I partecipanti apprenderanno le tecniche da utilizzare per automatizzare il provisioning, la configurazione, il deployment delle applicazioni e l'orchestrazione con Ansible Automation Platform.

Trova le risorse per l'apprendimento

Accedi a materiale formativo e strumenti pensati per aiutarti a utilizzare Ansible Automation Platform in base alle attività di tuo interesse. Queste risorse ti forniranno maggiori informazioni su diversi argomenti: le varie opzioni di deployment, l'installazione, i modi per sfruttare al meglio le funzionalità della soluzione e i nuovi scenari di utilizzo dell'automazione.

Fai pratica con i laboratori interattivi

Questi scenari interattivi forniscono un ambiente Ansible Automation Platform preconfigurato che viene eseguito direttamente sul tuo browser. Ciò ti consente di imparare a utilizzare l'automazione in diversi scenari secondo i tuoi ritmi.

L'IA generativa secondo Ansible

Red Hat e IBM hanno collaborato alla creazione di Red Hat Ansible Lightspeed con IBM watsonx Code Assistant, un servizio di intelligenza artificiale generativa che permette ai team di scoprire, creare e gestire contenuti di automazione in modo più efficiente. Inserendo una richiesta di attività in una lingua comune, Ansible Lightspeed interagisce con i modelli fondamentali di IBM watsonx per generare il codice da utilizzare per la creazione degli Ansible Playbook.

Provisioning

Puoi utilizzare gli Ansible Playbook per descrivere lo stato desiderato dell'infrastruttura e poi eseguire il provisioning con Ansible Automation Platform. Ciò ti consente di eseguire il provisioning degli stessi ambienti sempre nello stesso modo. Lo stesso principio si applica in un unico flusso di lavoro a tutta l'infrastruttura, dalla creazione di nuove istanze in ambienti fisici, cloud o virtuali all'aggiunta di nuovi servizi, applicazioni, host di elaborazione o altre risorse.

Gestione della configurazione

La gestione della configurazione dell'automazione ti consente di velocizzare le modifiche e i deployment, ridurre al minimo gli errori umani e assicurare la scalabilità e la prevedibilità della gestione dei sistemi. Conservare i sistemi informatici, i server e i software nello stato desiderato riduce il rischio di violazioni di sicurezza, deterioramento del servizio e interruzioni. Inoltre, i team IT dedicano meno tempo alla gestione manuale di patch e aggiornamenti e possono concentrarsi su progetti di maggior valore.

Automazione della rete

L'automazione della rete sfrutta la logica programmabile per gestire le risorse e i servizi della rete. In questo modo i team operativi di rete (NetOps) possono configurare, ridimensionare, proteggere e integrare l'infrastruttura di rete e i servizi applicativi più rapidamente rispetto a quanto avviene con la modalità manuale.

Deployment delle applicazioni

L'automazione del deployment delle applicazioni consente di trasferire il software dall'ambiente di test a quello di produzione e viceversa tramite processi coordinati. Di conseguenza, il ciclo di distribuzione del software accelera e l'affidabilità delle applicazioni in fase di produzione risulta migliorata. Si tratta di un aspetto importante per l'adozione delle metodologie DevOps e la gestione della pipeline CI/CD.

Automazione della sicurezza

L'automazione della sicurezza integra i processi di sicurezza, le applicazioni e l'infrastruttura in un singolo flusso di lavoro. Rende più efficienti i team dedicati alle operazioni di sicurezza (SecOps) e riduce le incongruenze e gli errori che aumentano la vulnerabilità a violazioni e altre minacce. Con Ansible Automation Platform, i team di sicurezza possono configurare una sequenza di processi che condividono inventari, playbook o autorizzazioni, per automatizzare completamente indagini o correzioni.

Orchestrazione

L'automazione di un singolo task non porta molti vantaggi. È per questo che una soluzione di automazione come Ansible Automation Platform ti consente di impostare e automatizzare facilmente un flusso di lavoro che include più passaggi, coordinati su tanti sistemi diversi (es. infrastruttura, dispositivi di rete e strumenti di sicurezza). L'orchestrazione è un altro strumento che migliora la comunicazione tra team IT diversi.

Ottimizza l'ambiente IT con l'approccio Automation as Code

Ansible Automation Platform è una soluzione spesso utilizzata per automatizzare le attività Infrastructure as Code (IaC) come la progettazione, il provisioning e il deployment dell'infrastruttura, ma anche per automatizzare i processi nell'intero ciclo operativo. Ansible Automation Platform consente alle organizzazioni di estendere l'approccio IaC ai processi Ops as Code e Policy as Code.

Scopri come

Red Hat Ansible Automation Platform comprende tutti gli strumenti necessari per implementare l'automazione nell'intera azienda, inclusi una soluzione guidata dagli eventi, playbook e analisi. Inoltre, ti consente di centralizzare e controllare l'infrastruttura IT tramite un dashboard grafico, il controllo degli accessi basato sui ruoli e molte altre funzionalità progettate per ridurre la complessità operativa.

Le sottoscrizioni Red Hat ti permettono di ottenere contenuti certificati da un consolidato ecosistema di partner, l'accesso ai servizi di gestione in hosting e il supporto tecnico per l'intero ciclo di vita che agevolano la realizzazione, la gestione e la scalabilità dell'automazione in tutta l'organizzazione. Inoltre, potrai avvalerti delle conoscenze degli esperti acquisite grazie ai successi ottenuti presso migliaia di clienti.

Oltre a creare automazione, le aziende devono anche avere la possibilità di condividere e riutilizzare l'automazione tra progetti e team diversi, con il giusto livello di governance e controllo. Con Ansible Automation Platform puoi accelerare il deployment di nuovi servizi e applicazioni, gestire l'infrastruttura IT in modo più efficiente e incrementare la produttività delle attività di sviluppo delle applicazioni.

Continua a leggere

Articolo

I concetti base di Ansible

Ansible consente di automatizzare i processi IT, come il provisioning e la gestione della configurazione. Questo articolo fornisce un'introduzione ai concetti base di Ansible.

Articolo

Cos'è la gestione dei processi aziendali?

La gestione dei processi di business (BPM, business process management) consiste nella creazione di modelli di business, nell'analisi e nell'ottimizzazione dei processi aziendali end to end per realizzare i tuoi obiettivi aziendali strategici.

Articolo

Perché scegliere Red Hat per l'automazione

Red Hat Ansible Automation Platform include tutti gli strumenti necessari per condividere le competenze di automazione tra i team e adottare l'automazione a livello aziendale.

Scopri di più sull'automazione

Prodotti

Collabora con il nostro team di consulenti strategici in grado di analizzare l'azienda nel suo insieme e valutare le sfide da affrontare, per aiutarti a superarle con soluzioni complete e convenienti.

Una piattaforma per implementare l'automazione in azienda, in qualsiasi fase del tuo percorso di trasformazione

Risorse

Ebook

L'azienda automatizzata connette persone e processi

Ebook

Automazione dei flussi di lavoro dell'infrastruttura

Continua a leggere

Formazione

Corso di formazione gratuito

Ansible Essentials: Simplicity in Automation Technical Overview

Corso di formazione gratuito

Red Hat Ansible Automation for SAP