Introduzione

Completato

Infrastructure as Code (IaC) rappresenta una metodologia DevOps di base che consente ai team di gestire l'infrastruttura tramite codice anziché processi manuali. Questo approccio è diventato essenziale per la distribuzione moderna del software. Molti esperti considerano IaC un prerequisito per un'implementazione DevOps riuscita.

Anziché configurare manualmente i server o usare script ad hoc, IaC gestisce l'infrastruttura allo stesso modo in cui gli sviluppatori gestiscono il codice dell'applicazione. Ciò significa che reti, server e altre risorse sono definite in file sotto controllo di versione che possono essere esaminati, testati e distribuiti in modo coerente.

I principi chiave di IaC includono:

  • Controllo della versione: Definizioni dell'infrastruttura archiviate in Git o in altri sistemi di controllo della versione.
  • Test automatizzati: Modifiche dell'infrastruttura convalidate prima della distribuzione.
  • Monitoraggio continuo: Stato dell'infrastruttura monitorato e gestito.
  • Riproducibilità: La stessa configurazione produce risultati identici ogni volta.

Le piattaforme cloud moderne come Azure, AWS e Google Cloud offrono risorse elastiche su richiesta. Per sfruttare appieno questa flessibilità, le organizzazioni devono adottare procedure IaC nell'intero portfolio di infrastrutture. Strumenti come i modelli di Azure Resource Manager (ARM), Terraform, Bicep e Ansible consentono ai team di effettuare il provisioning e configurare l'infrastruttura a livello di codice.

Questo modulo illustra i concetti fondamentali di IaC, le strategie di distribuzione dell'ambiente e gli approcci di gestione della configurazione. Verranno fornite informazioni sugli stili di configurazione imperativi e dichiarativi e sulle operazioni idempotenti che garantiscono risultati coerenti.

Obiettivi di apprendimento

Dopo aver completato questo modulo, sarai in grado di:

  • Implementare l'automazione della distribuzione dell'ambiente usando Infrastruttura come codice.
  • Progettare strategie di gestione della configurazione con il controllo della versione.
  • Scegliere tra approcci di configurazione imperativi e dichiarativi.
  • Applicare i principi di configurazione idempotenti per un'infrastruttura coerente.

Prerequisiti

  • Conoscenza dei principi e delle procedure devOps.
  • Familiarità con i sistemi di controllo della versione (utili ma non necessari).
  • Conoscenza di base dei concetti relativi al cloud computing.