Panoramica
Un Ansible® Playbook è un modello per l'automazione delle attività, che serve per eseguire azioni IT complesse con un intervento umano minimo o nullo. Gli Ansible Playbook sono eseguiti su un insieme, gruppo o classe di host che costituiscono l'inventario Ansible.
Gli Ansible Playbook sono essenzialmente framework, ovvero codici scritti in precedenza che gli sviluppatori possono utilizzare ad-hoc o come modello di partenza. Gli Ansible Playbook sono utilizzati regolarmente per automatizzare l'infrastruttura IT (come i sistemi operativi e le piattaforme Kubernetes), le reti, i sistemi di sicurezza e gli strumenti di sviluppo (come Git).
Gli Ansible Playbook consentono ai team IT di programmare applicazioni, servizi, nodi server o altri dispositivi senza dover partire da zero ogni volta. Inoltre gli Ansible Playbook, così come le condizioni, le variabili e le attività al loro interno, possono essere salvati, condivisi o riutilizzati senza limiti di tempo.
Guarda la panoramica tecnica: Introduzione ai Playbook
Video: I vantaggi degli Ansible Playbook
Come funzionano gli Ansible Playbook?
I moduli Ansible eseguono le attività. Una o più attività di Ansible possono essere combinate per creare un play. Due o più play possono essere combinati per creare un Ansible Playbook. Gli Ansible Playbook sono elenchi di attività che vengono eseguite automaticamente sugli host. I gruppi di host formano l'inventario Ansible.
Ogni modulo all'interno di un Ansible Playbook esegue un'attività specifica. Ogni modulo contiene metadati che determinano quando e dove viene eseguita un'attività, nonché quale utente la esegue. Esistono migliaia di altri moduli Ansible che eseguono diversi tipi di attività IT. Eccone alcuni.
Gestione del cloud
Il modulo oci_vcn crea, elimina o aggiorna reti cloud virtuali negli ambienti Oracle Cloud Infrastructure. In modo analogo, vmware_cluster aggiunge, rimuove o aggiorna i cluster VMware vSphere.
Gestione utenti
Il modulo selogin mappa gli utenti del sistema operativo (SO) Linux® sull'utente SELinux e gitlab_user crea, aggiorna o elimina gli utenti GitLab.
Reti
Decine di moduli gestiscono le interfacce di programmazione delle applicazioni (API), i dispositivi IOS, NXOS e IOS XR Cisco, nonché i servizi F5 BIG-IP.
Sicurezza
Openssh_cert genera un host OpenSSH o certificati utente e ipa_config gestisce le impostazioni di configurazione FreeIPA globali.
Comunicazione
Il modulo mail può inviare automaticamente email in base a determinati criteri e snow_record crea, elimina o aggiorna un singolo record in ServiceNow.
Scopri come Poste Italiane ha velocizzato la trasformazione digitale
Poste Italiane ha adottato le soluzioni di sviluppo, automazione e storage di Red Hat per realizzare una piattaforma innovativa in grado di creare rapidamente applicazioni cloud native. Scopri come l'innovazione open source ha consentito a Poste Italiane di migliorare i servizi offerti a oltre 35 milioni di clienti.
Un esempio pratico di Ansible Playbook
Ansible è in grado di comunicare con molte tipologie di dispositivi, dalle API REST, ai sistemi Linux e Windows, all'hardware di rete e molti altri. L'esempio di seguito mostra 2 moduli Ansible che aggiornano automaticamente 2 tipi di server:
--- name: update web servers hosts: webservers remote_user: root tasks: - name: ensure apache is at the latest version yum: name: httpd state: latest - name: write the apache config file template: src: /srv/httpd.j2 dest: /etc/httpd.conf - name: update db servers hosts: databases remote_user: root tasks: - name: ensure postgresql is at the latest version yum: name: postgresql state: latest - name: ensure that postgresql is started service: name: postgresql state: started
Il playbook contiene 2 play:
- Il primo verifica se il software del server web è aggiornato ed esegue l'aggiornamento se necessario
- Il secondo controlla se il software del database server è aggiornato ed esegue l'aggiornamento se necessario
Scopri di più sull'automazione.
Come posso utilizzare gli Ansible Playbook?
Ansible utilizza la sintassi YAML. Per alcuni, l'acronimo YAML sta per "yet another markup language", ovvero "un ulteriore linguaggio di markup", mentre per altri indica "YAML ain’t markup language", ovvero "YAML non è un linguaggio di markup" (un acronimo ricorrente). Esistono 2 estensioni di file YAML diverse, ma perfettamente accettabili: .yaml o .yml.
Esistono anche 2 modi per utilizzare gli Ansible Playbook: dall'interfaccia della riga di comando (CLI) o utilizzando i deployment a pulsante di Red Hat Ansible Automation Platform.
Dalla CLI
Dopo aver installato il progetto Ansible open source o Red Hat Ansible Automation Platform (per cui è sufficiente digitare "sudo yum install ansible" nella CLI di Red Hat Enterprise Linux), per eseguire gli Ansible Playbook basta utilizzare il comando ansible-playbook.
Dall'interno della piattaforma
L'interfaccia utente basata sul web di Red Hat Ansible Automation Platform include i deployment di Ansible Playbook automatizzati da utilizzare all'interno di un processo ("job") o di un modello ("job template"). Questi deployment sono dotati di ulteriori modalità di protezione che sono particolarmente utili per gli utenti che non conoscono bene l'automazione IT o per coloro che non hanno molta esperienza di utilizzo della CLI.
Il valore di business di Red Hat Ansible Automation Platform
Secondo lo studio di IDC Red Hat Ansible Automation Platform offre diversi benefici, tra cui un notevole incremento del ROI, una significativa riduzione del downtime non programmato e importanti ricavi aggiuntivi.