Vai al paragrafo

Concetti essenziali di Ansible e Salt

Copia URL

Ansible e Salt sono strumenti open source per l'automazione dell'IT sviluppati dalla community. Entrambi sono in grado di semplificare le operazioni IT e DevOps automatizzando le attività di routine come la configurazione e il provisioning dei sistemi, il deployment dei software e la gestione degli aggiornamenti su numerosi server e dispositivi endpoint.

Ansible è uno strumento di facile utilizzo poiché, grazie all'approccio agentless, non richiede l'installazione di software aggiuntivi sui target da automatizzare. Salt è invece una soluzione basata su agente e richiede l'installazione di un software aggiuntivo su ciascuna macchina. Dal punto di vista dell'automazione, sia Ansible che Salt sono basati su Python. Ansible si serve di file di configurazione YAML e di un'automazione procedurale che definisce i passaggi nell'ordine in cui vanno eseguiti. Salt, invece, utilizza un sottoinsieme di YAML per mappare le strutture di dati più usate, come gli elenchi e i dizionari. 

Questo articolo analizza le analogie e le differenze fra Ansible e Salt.

Le tipologie di strumenti per l'automazione dell'IT disponibili sul mercato sono svariate e si distinguono a seconda dell'approccio utilizzato, vediamo ora a quale categoria sono ascrivibili Ansible e Salt. Insieme a Puppet e Chef, Ansible e Salt sono gli strumenti open source per l'automazione dell'IT più diffusi; ognuno di loro ha un approccio esclusivo all'automazione e tutti e quattro dispongono di una versione enterprise commercializzata da fornitori software diversi. Molte aziende utilizzano più di una soluzione per finalità diverse o le usano in combinazione.

  • Ansible è stato acquistato da Red Hat nel 2015 ed è commercializzato come Red Hat® Ansible® Automation Platform.
  • Salt (commercializzato come SaltStack) è stato acquistato da VMWare nel 2020 per essere incluso nell'offerta vRealize Automation, di recente ridenominata VMware Aria Automation. VMware è stato acquistato da Broadcom nel 2022. 
  • Puppet è supportato da Perforce ed è commercializzato in una serie di prodotti tra cui Puppet Enterprise e Puppet Bolt.
  • Chef è stato acquistato da Progress nel 2020 ed è disponibile in una serie di prodotti commerciali tra cui Chef Enterprise Automation Stack. 

Ansible

Ansible è un'applicazione software open source a riga di comando per l'automazione dell'IT scritta in linguaggio Python.È in grado di configurare i sistemi, distribuire i software e orchestrare i flussi di lavoro avanzati per supportare il deployment delle applicazioni, gli aggiornamenti di sistema, la configurazione e le operazioni delle reti e altre attività. Red Hat Ansible Automation Platform è un prodotto acquistabile tramite sottoscrizione che si basa sulla tecnologia Ansible integrata da numerose funzionalità pensate per le aziende.

Il vantaggio che contraddistingue Ansible è la community. Il suo repository GitHub principale, da cui dipendono decine di migliaia di altri repository, attira migliaia di contributori (informazioni risalenti all'autunno del 2022). Ogni anno viene organizzato l'AnsibleFest, una conferenza dedicata agli utenti di Ansible, che regolarmente tengono anche Ansible Meetup in tutto il mondo. Questa community conta su un elevato numero di esperti e contributori che collaborano per garantire la completa e costante integrazione di Ansible con i progetti software più importanti. Inoltre, gli utenti hanno accesso a centinaia di moduli e plugin con cui possono ampliare le funzionalità di Ansible.

Ansible è pensato prettamente per offrire facilità di utilizzo, ma anche per garantire sicurezza e affidabilità, come dimostra il numero di componenti mobili ridotto al minimo. Utilizza OpenSSH per il trasporto (ma sono disponibili anche altre modalità di trasporto e pull) e un linguaggio leggibile in chiaro che non richiede particolare formazione e mette quindi gli utenti in condizione di utilizzare Ansible fin da subito.

ll funzionamento di Ansible prevede un nodo di controllo (il punto da cui si esegue Ansible) e una serie di nodi gestiti (i dispositivi da automatizzare) che possono essere sistemi Linux® o Windows. Dato che è agentless, Ansible è in grado di comunicare con i dispositivi senza che sia necessario installare applicazioni o servizi sui nodi gestiti. Una tecnologia chiamata Automation Mesh consente ad Ansible Automation Platform di distribuire i processi di automazione sui nodi di esecuzione.  

Gli utenti di Ansible possono orchestrare le diverse componenti dell'infrastruttura tramite gli Ansible Playbook, file scritti nel linguaggio YAML, leggibile in chiaro. Ansible utilizza un approccio di programmazione procedurale (o imperativo), che è finalizzato a preservare la configurazione di un'infrastruttura IT definendo i passaggi per raggiungere la condizione target.

Salt

Salt è un'applicazione di automazione open source modulare, scritta in linguaggio Python. Concepito per l'acquisizione e l'esecuzione dei dati ad alta velocità, Salt è uno strumento per la gestione delle configurazioni con una libreria di messaggistica e un framework di concorrenza ZeroMQ leggeri, che stabilisce connessioni TCP persistenti tra il server e gli agenti. 

Così come Ansible, anche Salt utilizza YAML, il che semplifica l'apprendimento e la gestione. Tuttavia, la sua struttura basata su agente può risultare complessa sia per i nuovi utenti che per i professionisti DevOps più esperti. In questo contesto, il server viene definito "salt master", mentre i client sono denominati "salt minion" e vengono eseguiti come agenti nella macchina client. È possibile configurare più master, e se uno di essi diventa inattivo, gli agenti si connettono con un altro master dell'elenco. Poiché i server inviano le configurazioni a tutti i client, l'esecuzione da remoto avviene immediatamente. 

Dopo l'acquisizione di SaltStack da parte di VMware, la community open source di Salt si è ridotta. Inoltre, ora più progetti dipendono da Ansible piuttosto che da SaltStack, secondo i dati di GitHub risalenti all'autunno del 2022. In seguito all'acquisizione di VMware da parte di Broadcom nel 2022, l'attenzione si è spostata più sull'automazione dei prodotti VMware piuttosto che sulle reti e sugli scenari di utilizzo multifunzione o multivendor. Ciò ha contribuito ad accelerare il divario delle competenze in ambito IT e a indebolire il supporto aziendale alla community Salt.     

L'architettura basata su agente è un modello di infrastruttura e automazione che prevede di eseguire componenti software specifici, chiamati agenti, sull'ambiente da gestire. L'agente e tutte le sue dipendenze devono essere installati su ogni nodo target e questo comporta controlli e regole di sicurezza aggiuntivi. Un simile modello si rivela inefficace in tutti i contesti in cui gli oggetti da automatizzare non permettono l'installazione e l'esecuzione di un agente, e richiede inoltre la manutenzione degli agenti.

Architettura agentless, quella utilizzata da Ansible, è un modello per l'automazione e la gestione di dispositivi IT che non richiede di installare alcun software agente negli ambienti gestiti. Il software di controllo si connette alle macchine remote tramite connessioni Secure Shell (SSH) ed è immediatamente in grado di gestirle senza dover attendere un lungo processo di configurazione. Questa architettura elimina la necessità di mantenere un sistema per il deployment una volta completata la configurazione.

La gestione della configurazione è un processo che consente di mantenere sistemi, server e software coerenti e corrispondenti alle condizioni desiderate, per assicurare che il sistema funzioni come previsto, nonostante le eventuali modifiche apportate nel tempo. Se automatizzato, il sistema permette di ridurre costi, complessità e il rischio di errori manuali.  

DevOps e DevSecOps indicano rispettivamente "sviluppo e operazioni" e "sviluppo, sicurezza e operazioni". Sono approcci alla cultura, all'automazione e alla progettazione delle piattaforme che integrano la sicurezza come responsabilità condivisa lungo l'intero ciclo di vita IT. DevOps e DevSecOps sono sostanzialmente lo stesso concetto, perché la sicurezza è da sempre parte integrante dell'approccio DevOps. L'utilizzo diffuso del termine DevSecOps rende ancora più esplicita questa inclusione.

YAML è l'acronimo di Yet Another Markup Language (o di YAML Ain’t Markup Language), un linguaggio di serializzazione dei dati spesso utilizzato per la scrittura dei file di configurazione. Progettato per essere leggibile in chiaro e facile da comprendere, può essere utilizzato insieme ad altri linguaggi di programmazione. YAML è un sovrainsieme di JavaScript Object Notation (JSON).

Quando si sceglie una soluzione di automazione occorre valutare non solo le funzionalità immediatamente disponibili, ma anche le prospettive di sviluppo della piattaforma a lungo termine. Ansible si distingue per la sua community open source molto attiva e per il supporto di Red Hat.

Al giorno d'oggi è normale utilizzare più soluzioni di automazione. Ansible ha a disposizione un ampio ecosistema di integrazioni supportate ed è compatibile con molti altri strumenti di gestione dell'automazione e della configurazione, ad esempio è utilizzabile insieme a un agente di orchestrazione degli strumenti di automazione. Inoltre, è possibile utilizzare Ansible per automatizzare i sistemi su hyperscaler del cloud pubblico come Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform e molti altri.

Rispetto a Salt, Ansible è la scelta ideale per gli utenti che danno priorità alla facilità di utilizzo e che cercano una soluzione di automazione agentless. Largamente adottato in diversi ambiti IT, come l'automazione delle reti e dell'infrastruttura, dispone di un'ampia community di contributori e partnership ed è molto diffuso anche perché facile da integrare con altre soluzioni.

Red Hat Ansible Automation Platform, basata su tecnologie open source, è un prodotto acquistabile tramite sottoscrizione, testato e potenziato dal punto di vista della sicurezza che offre alle organizzazioni un supporto completo per il ciclo di vita. Il suo progetto upstream, Ansible, è il risultato dell'esperienza e della competenza di migliaia di collaboratori in tutto il mondo. 

Ansible Automation Platform include numerosi componenti upstream, oltre 140 raccolte Red Hat Ansible Certified Content Collections fornite da più di 60 partner e strumenti as-a-Service per aumentare il ritorno sull'investimento (ROI), che semplificano l'installazione, la configurazione e il supporto dell'automazione negli ambienti aziendali. Offre un'esperienza di automazione end to end per i team interfunzionali, oltre a garantire un'esperienza plug and play per gli sviluppatori, gli ingegneri e i team operativi che si occupano di automazione.

Le funzionalità di Red Hat Ansible Automation Platform, come Red Hat Insights e Automation Analytics, forniscono informazioni accessibili sulle prestazioni dell'automazione, permettendoti di misurarne gli effetti e di monitorarne o risolverne i problemi in modo più preciso ed efficace. L'Automation Mesh offre funzionalità di controllo ed esecuzione scalabili in modo indipendente, portando così l'automazione in prossimità degli endpoint che la richiedono, con tempi di fermo minimi o nulli. Ciò permette di ottenere un'esperienza di automazione coerente ovunque, nel datacenter, nel cloud e all'edge della rete.

Tra le diverse opzioni agentless per l'automazione dell'IT, Ansible si distingue per la sua semplicità e flessibilità oltre alla sua ampia community di utenti.

Report di IDC: The business value of Red Hat Ansible Automation Platform

Secondo la ricerca di IDC, le organizzazioni che hanno scelto la standardizzazione delle operazioni utilizzando Ansible Automation Platform riscontrano un significativo miglioramento nell'efficienza delle operazioni IT, nella velocità e nella scalabilità, con un vantaggio economico del valore medio annuale di 14,81 milioni USD e un ROI, calcolato su base triennale, del 668%.

Scarica il report

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

RISORSE

Risorse per l'apprendimento per Red Hat Ansible Automation Platform

LABORATORIO

Prova Red Hat Ansible Automation Platform in base ai tuoi ritmi accedendo a un laboratorio interattivo

WHITE PAPER

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

RESOCONTO ANALITICO

IDC: Il valore di Red Hat Ansible Tower

SCHEDA TECNICA

Red Hat Ansible Automation Platform

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

Come rendere agile un'architettura monolitica

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