Ti è mai capitato di aggiornare a mano cinque server e scoprire una settimana dopo che su uno avevi dimenticato un pacchetto? Su due macchine certi lavori si fanno a mano senza problemi. Su dieci diventano lenti, e soprattutto pieni di piccole differenze che nessuno ricorda di aver introdotto.
Ansible nasce per questo. È uno strumento di automazione che esegue le stesse operazioni su molti sistemi in modo identico e lascia una traccia scritta di cosa è stato fatto. Per un piccolo ambiente ha un vantaggio decisivo: non richiede agenti. Si collega ai server via SSH, e sui sistemi gestiti basta Python, già presente nelle principali distribuzioni.
Quattro concetti e un file
L’inventario è l’elenco dei server, organizzati in gruppi come «web» o «database». I moduli sono le azioni disponibili: installare pacchetti, copiare file, gestire servizi e utenti. Un playbook dice, per ogni gruppo, quali compiti eseguire, e i ruoli raccolgono compiti, file e modelli riutilizzabili, come un ruolo per l’hardening di SSH. Le istruzioni si scrivono in YAML e descrivono lo stato desiderato, non i comandi da lanciare:
- hosts: web
become: true
tasks:
- name: Aggiorna i pacchetti
apt:
upgrade: dist
update_cache: true
- name: Installa fail2ban
apt:
name: fail2ban
state: present
Con ansible-playbook -i inventario.ini base.yml lo stesso lavoro gira su tutti i server del gruppo. Puoi rilanciarlo quante volte vuoi: Ansible cambia solo ciò che non è già nello stato richiesto. È la proprietà che chiamano idempotenza, e significa che il secondo giro non rompe ciò che il primo ha sistemato.
Abitudini che ripagano
Tieni playbook e inventario in un repository Git, così hai storico e documentazione gratis. Le password e le chiavi vanno in Ansible Vault, mai in chiaro nei file. Prima di applicare una modifica, provala con --check e --diff per vedere cosa cambierebbe.
Il modo giusto per cominciare è piccolo. Installa Ansible sul tuo computer, scrivi l’inventario e verifica la connessione con ansible all -m ping. Poi automatizza l’operazione che ripeti più spesso, e solo quella. Aggiungi un compito alla volta: fra qualche mese ti accorgerai che la configurazione dei tuoi server è descritta in un file, e non più nella tua memoria.



