Struttura del corso
Modulo 1: Introduzione all’Infrastruttura come Codice e a Terraform
- Concetti fondamentali di IaC e i vantaggi nel contesto on-premise e ibrido
- Panoramica su Terraform: provider, risorse, stato dell’infrastruttura e ciclo di vita
- Installazione di Terraform, dell’Azure CLI e degli strumenti ausiliari necessari
- Pratica iniziale: creare una configurazione semplice con Terraform ed eseguirla in locale
Modulo 2: Il linguaggio di configurazione HashiCorp (HCL) e i principi base della scrittura
- Sintassi HCL, definizione delle risorse, attributi ed espressioni logiche
- Uso di variabili, output, costanti locali e vincoli tipologici nelle configurazioni
- Utilizzo della CLI Terraform: comandi come init, plan, apply, destroy e fmt
- Laboratorio pratico: realizzare una configurazione parametrizzata per un risorsa on-premise e una in Azure
Modulo 3: Provider, risorse e nozioni di base sul provider di Azure
- Concetti relativi ai provider e alla loro configurazione (ad esempio il provider AzureRM)
- Associazione tra risorse effettive e elementi definiti in Terraform (reti, macchine virtuali, storage)
- Gestione dell’autenticazione Azure e creazione di principali di servizio per l’automazione
- Esercizio pratico: provisionare una rete virtuale Azure ed una macchina virtuale mediante Terraform
Modulo 4: Gestione dello stato, backend remoti e collaborazione tra team
- Cos’è lo stato Terraform: scopi, formato e considerazioni riguardanti il suo ciclo di vita
- Utilizzo di backend remoti come Azure Storage e strategie per evitare conflitti nello stato condiviso
- Workspace, ambienti multipli e modelli operativi utili alla collaborazione tra più operatori
- Laboratorio: impostare uno stato remoto su Azure Storage ed effettuare operazioni in condivisione da più utenti
Modulo 5: Modularizzazione, riutilizzo delle risorse e best practice
- Creazione e impiego di moduli Terraform per strutture comuni
- Gestione dei parametri input/output, versionamento e gestione di registri centralizzati per i moduli
- Strutturazione delle cartelle, convenzioni di denominazione e organizzazione del repository in modo mantenibile
- Pratica: sviluppare un modulo riutilizzabile per macchine virtuali Azure, relativi dischi di dati e reti; testarlo in ambienti diversi
Modulo 6: Gestione dei dispositivi virtuali di Azure e integrazione on-premise
- Controllo completo su macchine virtuali, componenti Virtual Desktop e ciclo vitale di tali risorse tramite Terraform
- Modalità operative per gestire sistemi ibridi: interconnessione tra risorse locali e dispositivi gestione in cloud Azure
- Integrazione di piattaforme di gestione volumetrica o specifiche dei dispositivi tramite dati forniti da fonti esterne o provider aggiuntivi
- Esercizio pratico: distribuire un insieme di macchine virtuali Azure rappresentanti unità operative e impostare tagging e monitoraggio di base
Modulo 7: Integrazione CI/CD, automazione e pipeline di deploy
- Integrazione di Terraform con strumenti CI/CD come GitHub Actions o Azure DevOps
- Automatizzazione dei processi di pianificazione e applicazione delle configurazioni, tutelando la sicurezza tramite segreti protetti ed identità automatizzate
- Nozioni introduttive su Policy as Code (con modelli Sentinel o Open Policy Agent) e controlli preventivi prima della distribuzione effettiva
- Laboratorio: creare un flusso di lavoro GitHub Actions per pianificare ed applicare configurazioni Terraform in una sottoscrizione di test
Modulo 8: Sicurezza, gestione dei segreti e procedure operative consigliate
- Gestione dei dati sensibili: integrazione con Azure Key Vault ed esclusione di informazioni riservate dai file contenenti lo stato dell’infrastruttura
- Controllo degli accessi, implementazione di RBAC e principio del minimo privilegio nelle account automatici
- Rilevamento delle discrepanze tra configurazioni attese e realtà infrastrutturale, correzione automatica o manuale dei deviazioni riscontrate
- Checklist operativa: backup, controllo conformità e governance per tutte le risorse gestite tramite Terraform
Modulo 9: Test, debug e diagnosi dei problemi nelle configurazioni
- Identificazione delle problematiche di implementazione Terraform e interpretazione corretta degli output generati dal comando plan
- Approcci alla verifica unitaria ed integrativa: strumenti quali terraform validate, tflint ed kitchen-terraform
- Analisi dei codici d’errore più frequenti e strategie per risolverli in modo efficace
- Laboratorio: utilizzare strumenti di validazione ed ottimizzazione e correggere gli errori individuati
Modulo 10: Progetto finale — Scenari di distribuzione ibrida pratica
- Attività progettuale: elaborare una strategia completa per l’implementazione di dispositivi on-premise e Azure, sfruttando i metodi imparati nel corso
- Realizzazione dei componenti principali utilizzando moduli Terraform, stato remoto condiviso e frammenti di pipeline CI/CD come esempio pratico
- Presentazione del risultato ottenuto, analisi critica delle scelte effettuate e creazione di una guida operativa per il successivo utilizzo pratico
Conclusione ed indicazioni sui passi futuri
Requisiti
- Conoscenza di base dei concetti riguardanti reti e virtualizzazione
- Familiarità con la riga di comando di Windows o Linux
- Conoscenze preliminari relative ad infrastrutture cloud o on-premise
Destinatari del corso
- Amministratori di sistema e ingegneri di piattaforma
- Professionisti DevOps alle prime armi con l’Infrastruttura come Codice
- Team IT incaricati della gestione di infrastrutture ibride (on-premise + Azure)
Recensioni (3)
Il ritmo, nella maggior parte dei casi, è stato fantastico. Michal ha dimostrato grande abilità nel mantenere alta l'attenzione del pubblico e nel far seguire l'esposizione a tutti, per la maggior parte dei momenti.
Asif Shaikh - Carpmaels & Ransford
Corso - Terraform on Microsoft Azure
Traduzione automatica
Verificare tutti i dettagli nella pratica - scrivendo codice reale
Michal Pipala - EY
Corso - Advanced Terraform: Efficient Infrastructure as Code
Traduzione automatica
l'instruttore era molto bene preparato
Federico Biavati - CRIF S.P.A.
Corso - Terraform for Managing Cloud Infrastructure
Traduzione automatica