Titolo del modulo: dgt_sys04 – Scripting e automazione
Panoramica:
“dgt_sys04 – Scripting e automazione” è un modulo per i professionisti IT che automatizzano le attività di amministrazione dei sistemi Linux. Tratta lo scripting Bash per le esigenze di automazione di base e introduce Ansible come strumento per operazioni più strutturate e idempotenti. Imparerai a fondo come funzionano entrambi; nella pratica, otterrai script e playbook istruendo la macchina in linguaggio naturale, e il tuo compito sarà rivederli, testarli e correggerli.
Obiettivi del modulo:
– Comprendere i fondamenti dello scripting di shell con Bash.
– Descrivere le attività di routine sui sistemi Linux con chiarezza sufficiente perché la macchina le automatizzi con semplici script, e verificare tali script.
– Esplorare tecniche di automazione avanzate con Ansible per un’amministrazione di sistema scalabile e ripetibile.
– Confrontare casi d’uso, punti di forza e limiti dello scripting Bash rispetto ad Ansible, e decidere quale dei due richiedere.
– Specificare, rivedere e validare playbook Ansible strutturati e idempotenti che gestiscono in modo efficiente le configurazioni su più ambienti.
Argomenti principali:
- Introduzione all’automazione:
- Panoramica dell’automazione nell’amministrazione di sistemi Linux.
-
L’importanza dell’idempotenza negli script e nelle configurazioni.
-
Scripting Bash per l’automazione di base:
- Fondamenti dello scripting Bash, inclusi sintassi, strutture di controllo e funzioni.
- Chiedere alla macchina semplici script per la manipolazione di file, la gestione degli utenti e dei processi, leggendo riga per riga ciò che produce.
-
Testare gli script Bash generati e guidare la macchina nel debug.
-
Tecniche avanzate di scripting in Bash:
- Gestione degli errori e logging negli script Bash.
-
Usare Bash per l’elaborazione batch e l’estrazione di dati.
-
Introduzione ad Ansible:
- Panoramica dell’architettura di Ansible e del suo ruolo nell’automazione.
-
Far installare e configurare Ansible alla macchina, controllando l’inventory e la configurazione che imposta.
-
Operazioni idempotenti con Ansible:
- Comprendere l’idempotenza e perché è cruciale per un’automazione affidabile.
-
Rivedere i playbook scritti dalla macchina per garantire configurazioni coerenti tra i sistemi, confermando l’idempotenza con una seconda esecuzione che non riporta modifiche.
-
Bash e Ansible a confronto:
-
Differenze di funzionamento tra lo scripting con Bash e l’uso di Ansible.
- Scripting Bash: adatto ad attività rapide e specifiche di un sistema; scalabilità limitata ed esecuzione manuale necessaria.
- Ansible: pensato per gestire più sistemi su larga scala; il suo approccio dichiarativo garantisce l’idempotenza senza richiedere software agent.
-
Progetti in linguaggio naturale:
- Istruire la macchina ad automatizzare con Bash attività amministrative comuni su un singolo server Linux, poi verificare sicurezza e correttezza degli script.
-
Guidare la macchina nella creazione di playbook Ansible che gestiscono configurazioni e automatizzano i deploy su più server, verificando il risultato su ogni host.
-
Best practice e aspetti di sicurezza:
- Best practice nello sviluppo di script e playbook, e come esigerle nelle proprie istruzioni.
- Garantire sicurezza e conformità nei processi automatizzati.
Destinatari:
Il modulo è rivolto ad amministratori di sistema, DevOps engineer, professionisti IT e chiunque sia interessato ad automatizzare sistemi Linux con Bash e Ansible. È consigliata, ma non obbligatoria, una precedente esperienza con gli strumenti a riga di comando di Linux.
Durata del modulo: 6 settimane (2-3 ore a settimana)
Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, crea una cartella con il tuo username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy
