dgt_sys04 – Scripting e automazione

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:

  1. Introduzione all’automazione:
  2. Panoramica dell’automazione nell’amministrazione di sistemi Linux.
  3. L’importanza dell’idempotenza negli script e nelle configurazioni.

  4. Scripting Bash per l’automazione di base:

  5. Fondamenti dello scripting Bash, inclusi sintassi, strutture di controllo e funzioni.
  6. Chiedere alla macchina semplici script per la manipolazione di file, la gestione degli utenti e dei processi, leggendo riga per riga ciò che produce.
  7. Testare gli script Bash generati e guidare la macchina nel debug.

  8. Tecniche avanzate di scripting in Bash:

  9. Gestione degli errori e logging negli script Bash.
  10. Usare Bash per l’elaborazione batch e l’estrazione di dati.

  11. Introduzione ad Ansible:

  12. Panoramica dell’architettura di Ansible e del suo ruolo nell’automazione.
  13. Far installare e configurare Ansible alla macchina, controllando l’inventory e la configurazione che imposta.

  14. Operazioni idempotenti con Ansible:

  15. Comprendere l’idempotenza e perché è cruciale per un’automazione affidabile.
  16. Rivedere i playbook scritti dalla macchina per garantire configurazioni coerenti tra i sistemi, confermando l’idempotenza con una seconda esecuzione che non riporta modifiche.

  17. Bash e Ansible a confronto:

  18. 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.
  19. Progetti in linguaggio naturale:

  20. Istruire la macchina ad automatizzare con Bash attività amministrative comuni su un singolo server Linux, poi verificare sicurezza e correttezza degli script.
  21. Guidare la macchina nella creazione di playbook Ansible che gestiscono configurazioni e automatizzano i deploy su più server, verificando il risultato su ogni host.

  22. Best practice e aspetti di sicurezza:

  23. Best practice nello sviluppo di script e playbook, e come esigerle nelle proprie istruzioni.
  24. 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