Gestione dell’infrastruttura di rete in forma centralizzata e versionata
Puppet si occupa di effettuare e mantiene le modifiche di configurazione delle singole macchine. Le macchine, attraverso agent, sono configurate per interpretare il codice Puppet.
Ecco descritto il tipico workflow di una variazione.
- I DevOps MMUL modificano il codice Puppet.
- Il codice è sottoposto a versioning mediante GIT, per permettere la modifica contemporanea a più utenti e la storicizzazione del codice.
- E’ possibile ripristinare qualsiasi modifica.
- Ogni modifica viene simulata, prima di essere applicata.
- Ogni modifica può essere applicata alla precisa porzione di macchine necessaria:
- l’intera infrastruttura;
- solo specifici ambienti (collaudo, produzione);
- solo specifici ruoli (frontend web, macchina applicativa);
- una o più specifiche macchine.

Prerogative di Puppet
Puppet tiene traccia delle modifiche alle configurazioni, sia dei server applicativi che di quelli infrastrutturali.
- Nel codice Puppet sono definite le variabili valorizzate in maniera specifica per ambiente, ruolo o singolo host.
Ogni macchina verifica la propria configurazione col server Puppet ogni 30 minuti.
- La configurazione presente sul server Puppet viene applicata in caso di differenze.
Puppet gestisce la configurazione e distribuzione del software, compresi agent per:
- rilevamento performance (telegraf);
- monitoraggio (NRPE);
- sicurezza (FireEye, Cynet, Antivirus);
- log (Filebeat).
Servizi di supporto
- Gli allarmi (Nagios) avvertono di eventuali problemi in corso.
- I grafici (Grafana) mostrano i dati sia in tempo reale che storicizzati (InfluxDB).
- I log applicativi sono raggruppati e consultabili mediante specifiche query, sia in tempo reale che storicizzati (Graylog).
- Apposite notifiche danno notizia di aggiornamenti di sistema o errata disponibili (Spacewalk).