Vai al paragrafo

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.

Puoi usare l'automazione Ansible per installare il software, automatizzare le attività quotidiane, implementare l'infrastruttura, migliorare i livelli di sicurezza e conformità, applicare patch ai sistemi e condividere l'automazione in tutta l'azienda.

Ansible collega tutti i tuoi nodi ed esegue il push di piccoli programmi, denominati moduli, a ciascuno di essi. 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, nello stato desiderato. 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. È possibile installare Ansible su Red Hat® Enterprise Linux®, CentOS o Fedora, Ubuntu, Debian e molti altri sistemi operativi.

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 assegnare privilegi su o sudo a qualsiasi utente.

Scopri come stabilire una comunicazione sicura con SSH

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

Per automatizzare le attività puoi utilizzare i moduli predefiniti di Ansible o crearne di nuovi. I moduli Ansible possono essere scritti in qualunque linguaggio che restituisca file JSON, come Ruby, Python o bash. I moduli di automazione Windows sono scritti in Powershell. 

Illustration of person standing holding a wireframe webpage

Il valore di Red Hat Ansible Automation Platform per le aziende

Lo studio di IDC illustra i benefici della piattaforma Red Hat Ansible Automation per gli utenti, in termini di ritorno sugli investimenti, operatività dei sistemi, ricavi annui e molti altri vantaggi.

Puoi usare Ansible per eseguire comandi ad-hoc. A tale scopo, è necessario eseguire un comando o chiamare un modulo direttamente dalla riga di comando, senza utilizzare alcun playbook. Questa soluzione si presta all'esecuzione di semplici attività occasionali, ma per quelle più 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 e contenente 1 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 chiamano i 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, Ansible rileva che la descrizione di un playbook non corrisponde allo stato effettivo del sistema, 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 allo stato 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.

In Ansible è possibile utilizzare le variabili per alterare la modalità di esecuzione di un playbook. Le variabili consentono di tenere conto delle differenze fra i vari sistemi, come le versioni dei pacchetti o i percorsi dei file. Con Ansible è possibile creare playbook eseguibili su sistemi diversi. Le variabili Ansible devono essere definite in funzione delle operazioni effettivamente eseguite dal playbook. Le variabili vengono valutate in base alla precedenza, che definisce l'ordine in cui le variabili si sostituiscono a vicenda. Questo aspetto è molto importante quando si decide di utilizzare le variabili in un playbook.

Un ruolo Ansible è un particolare tipo di playbook completamente autocontenuto e trasportabile insieme ad 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.

Per utilizzare Ansible è necessario comprendere anche il concetto di raccolta. Una raccolta è un formato di distribuzione per i contenuti Ansible, che possono includere playbook, ruoli, moduli e plug-in.

La gestione della configurazione è il processo necessario per mantenere sistemi, server e software in un determinato stato coerente al fine di assicurare che il sistema funzioni come previsto, nonostante le eventuali modifiche apportate nel tempo. Solitamente, a tale scopo si utilizza la gestione manuale o uno script personalizzato creato dall'amministratore del sistema.

Quando viene utilizzato come strumento per la gestione della configurazione, Red Hat® Ansible® Automation Platform memorizza lo stato attuale dei sistemi per semplificarne la manutenzione. 

Gli strumenti di gestione della configurazione velocizzano le modifiche e i deployment, evitano i potenziali errori umani e assicurano la scalabilità e la prevedibilità della gestione dei sistemi. Permettono inoltre di tenere traccia dello stato delle risorse, ad esempio per evitare di ripetere l'installazione di uno stesso pacchetto. 

Automatizzare la gestione della configurazione grazie ad Ansible migliora anche il ripristino dei sistemi dopo un evento critico. Se un server si guasta, per qualsiasi motivo, è possibile implementarne uno nuovo e sfruttare la registrazione di modifiche e aggiornamenti per identificare rapidamente l'origine del problema. 

Oggi le infrastrutture sono spesso software-defined e, grazie alla virtualizzazione e ai container, il processo di provisioning è stato accelerato, riducendo la frequenza delle attività di provisioning e gestione dell'hardware.

Quando il provisioning dei singoli componenti viene gestito manualmente, è complicato tenere traccia delle modifiche, controllare le versioni ed evitare errori o incongruenze. Tutto questo è più semplice se si automatizza il provisioning di qualsiasi infrastruttura. Di fatto dovrebbe essere il primo passo verso l'automazione del ciclo di vita operativo delle applicazioni. 

Per implementare l'infrastruttura sottostante del tuo ambiente, ovvero gli host virtualizzati e gli hypervisor, i dispositivi di rete e i server bare metal, puoi utilizzare Ansible. Puoi utilizzare questo motore anche per installare servizi, aggiungere host di elaborazione e implementare risorse, servizi e applicazioni all'interno del cloud.

Ti basta creare un Ansible Playbook per descrivere lo stato desiderato dell'infrastruttura e utilizzare Ansible per implementarlo. La codifica dell'infrastruttura tramite un playbook ti assicura che verrà implementato sempre lo stesso ambiente. 

L'automazione del deployment consente di trasferire il software dall'ambiente di test a quello di produzione e viceversa tramite processi automatizzati. Questo consente di ottenere deployment ripetibili e affidabili per l'intero ciclo di distribuzione del software. L'automazione del deployment è un aspetto importante per l'adozione delle metodologie DevOps e la gestione della pipeline CI/CD.

Tuttavia, se i team di sviluppo e quelli operativi distribuiscono le applicazioni o configurano gli ambienti con modalità diverse, l'automazione del deployment non può funzionare. L'ambiente può essere automatizzato solo se è coerente. È importante applicare la stessa procedura di deployment a tutti gli ambienti, incluso quello di produzione. 

In genere la pipeline di deployment è suddivisa in tre fasi, creazione, test e deployment, ma potrebbero essere di più. Questa pipeline semplifica l'automazione del deployment e garantisce che il codice passi rapidamente dal commit al deployment. Ansible consente di eseguire il deployment di applicazioni multilivello in modo affidabile e coerente, da un framework comune. Puoi configurare i servizi necessari e utilizzare i playbook per eseguire il push di componenti applicativi.

Normalmente l'automazione riguarda una singola attività. Nel caso dell'orchestrazione, invece, viene automatizzato un processo o un flusso di lavoro che implica l'esecuzione di più fasi in sistemi diversi. 

È possibile utilizzare l'orchestrazione cloud per eseguire il provisioning o il deployment dei server, assegnare capacità di storage, creare macchine virtuali, gestire le reti e svolgere altre attività. Esistono numerosi strumenti che consentono di semplificare l'orchestrazione cloud, e Ansible è uno di quelli. Per orchestrare la configurazione e la gestione dei server, così come i deployment delle applicazioni, è possibile utilizzare uno strumento come Ansible.

I deployment delle applicazioni possono includere servizi front end e back end, database, monitoraggio, reti e storage, ciascuno dei quali svolge il proprio ruolo specifico e richiede determinate procedure di configurazione e deployment. L'orchestrazione assicura che ogni singola fase venga eseguita esattamente come previsto. Ansible gestisce l'orchestrazione eseguendo le attività del playbook nell'ordine in cui sono scritte, garantendo che i processi di deployment delle applicazioni avverranno nella sequenza corretta. 

Per automatizzare le operazioni di rete si utilizza la logica programmabile per gestire le risorse e i servizi di rete. L'automazione della rete consente ai team operativi di rete (NetOps) di configurare, ridimensionare, proteggere e integrare l'infrastruttura di rete e i servizi applicativi più rapidamente, rispetto alla modalità manuale.

Nonostante le tecnologie abbiano subito un'evoluzione nel tempo, la gestione delle reti è rimasta pressoché immutata per decenni. In genere, la creazione, la gestione e la manutenzione delle reti vengono eseguite manualmente. Poiché troppo lenti e suscettibili di errori, gli approcci manuali tradizionali alla configurazione della rete e agli aggiornamenti faticano tuttavia a supportare con efficacia le rapide variazioni dei requisiti dei carichi di lavoro. 

L'automazione delle risorse e della gestione dei servizi di rete consente ai team operativi di aumentare i propri livelli di agilità e flessibilità, supportando efficacemente le esigenze di un'azienda moderna.

Per automatizzare la sicurezza si utilizzano le tecnologie di automazione allo scopo di eseguire le attività necessarie limitando l'intervento umano, al fine di integrare processi, applicazioni e infrastrutture di sicurezza. L'automazione consente di semplificare le operazioni quotidiane, integrando la sicurezza fin dall'inizio nei processi, nelle applicazioni e nell'infrastruttura. Automatizzando completamente la sicurezza si può arrivare a ridurre del 95% il costo medio di una violazione.

Applicando l'automazione ai processi di sicurezza è possibile identificare, convalidare ed eseguire l'escalation delle minacce molto più rapidamente, senza richiedere alcun intervento manuale. Se si verifica un incidente di sicurezza, i team responsabili possono utilizzare Ansible per applicare le correzioni contemporaneamente a tutti i sistemi interessati, accelerando la risposta.

Con Ansible, i team di sicurezza possono configurare una sequenza di processi che condividono inventari, playbook o autorizzazioni, per automatizzare completamente indagini o correzioni. Red Hat Ansible Automation Platform si integra con i servizi di aggregazione dei log esterni di altri fornitori, che aiutano i team di sicurezza a identificare le tendenze, analizzare gli eventi dell'infrastruttura, monitorare le anomalie e stabilire una correlazione fra eventi diversi.

WEBINAR IN ITALIANO

Automazione e sicurezza dei processi per un business più agile

Per un business di successo occorre aumentare efficienza operativa, agilità e sicurezza. Scopri come raggiungere questi obiettivi.

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 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.

Ansible Basics: Automation Technical Overview

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

Red Hat collabora con la community open source a iniziative che riguardano le tecnologie di automazione. I nostri ingegneri contribuiscono al miglioramento di funzionalità, affidabilità e sicurezza per garantire alle aziende processi e tecnologie stabili e sicuri. 

Red Hat Ansible Automation Platform include tutti gli strumenti necessari per implementare l'automazione nell'intera azienda, inclusi playbook e analisi. Consente inoltre agli utenti di centralizzare e controllare l'infrastruttura IT tramite un dashboard grafico, il controllo degli accessi basato sui ruoli e molte altre funzionalità volte a ridurre la complessità operativa.

Red Hat Ansible Automation Platform include inoltre Automation Analytics, che consente ai membri dei team operativi di analizzare modalità di utilizzo, tempi di attività e schemi di esecuzione tra i diversi team che eseguono Ansible Automation Platform.

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 la soluzione di automazione appropriata, puoi accelerare il deployment di nuovi servizi e applicazioni, gestire l'infrastruttura IT in modo più efficiente e aumentare la produttività delle attività di sviluppo applicativo.

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

Una piattaforma per lo sviluppo delle applicazioni cloud native destinate all'automazione dei processi e delle decisioni aziendali.

Risorse

Ebook

L'azienda automatizzata connette persone e processi

Ebook

Automazione dei flussi di lavoro dell'infrastruttura

Continua a leggere

CASO CLIENTE

Microsoft, azienda tecnologica internazionale, crea una cultura basata sull'automazione

WHITE PAPER

Ottimizza le pipeline CI/CD con Red Hat Ansible Automation Platform

RESOCONTO ANALITICO

Automazione dell'ultimo miglio: garantire la coerenza e la scalabilità con l’edge computing

RESOCONTO ANALITICO

IDC: Il valore di Red Hat Ansible Tower

SCHEDA TECNICA

Red Hat Ansible Automation Platform

SCHEDA TECNICA

Red Hat Ansible Tower

SCHEDA TECNICA

Red Hat Edge

SINTESI

Missione compiuta: edge computing nello spazio

SINTESI

Red Hat e Nutanix: supporto per le tue applicazioni dati strategiche

PANORAMICA

Tre modi in cui i responsabili IT possono misurare il rendimento dell'automazione

PANORAMICA

Semplifica la transizione al cloud con Red Hat e Google Cloud

CHECKLIST

Cinque consigli per pianificare la migrazione a Red Hat Ansible Automation Platform 2

CHECKLIST

Automazione aziendale con una metodologia DevOps

CHECKLIST

6 modi per promuovere l'automazione IT in tutta l'organizzazione

CHECKLIST

3 vantaggi per la soluzione automatizzata dei problemi prestazionali

EBOOK

Red Hat Ansible Automation Platform 2

EBOOK

Guida all'automazione per dirigenti IT

EBOOK

Automazione aziendale in cinque passaggi

EBOOK

Automazione delle reti alla portata di tutti

EBOOK

Automazione all'edge: 7 scenari di utilizzo settoriali con esempi

EBOOK

Automazione della rete con Red Hat

EBOOK

Accelerazione della trasformazione digitale nel settore pubblico con Red Hat Ansible Automation Platform

EBOOK

Il manuale per automation architect

EBOOK

Come rendere agile un'architettura monolitica

EBOOK

Semplifica la gestione dello storage

EBOOK

Apri le porte a nuove possibilità di innovazione e crescita nelle tre aree chiave dell'IT, con Red Hat

Formazione

Corso di formazione gratuito

Ansible Essentials: Simplicity in Automation Technical Overview

Corso di formazione gratuito

Red Hat Ansible Automation for SAP

Illustration - mail

Ricevi contenuti simili

Iscriviti a Red Hat Shares, la nostra newsletter gratuita.