We couldn't find a match for given <KEYWORD>, please try again.

Che cos'è l'Infrastructure-as-Code (IaC)?

Per Infrastructure-as-Code (IaC) si intende la gestione e il provisioning dell'infrastruttura tramite software e processi automatizzati, anziché hardware e processi manuali. Consente agli sviluppatori di software di scrivere ed eseguire istruzioni per i requisiti di elaborazione, storage e rete e quindi di eseguirne il provisioning più rapidamente di quanto sarebbe possibile tramite un processo manuale. A differenza degli script di base utilizzati per automatizzare i processi IT ripetitivi, l'Infrastructure-as-Code può gestire processi più complessi, versatili e adattivi.

White paper di IDC: Network Automation: The Missing Piece in DX Strategies

VMware Aria Automation

Perché l'Infrastructure-as-Code è importante?

In un ambiente cloud moderno, l'Infrastructure-as-Code è sempre più importante per assicurare operation senza problemi. L'aumento dei container e dei microservizi significa che il provisioning dell'infrastruttura deve essere eseguito separatamente per centinaia di piccole applicazioni anziché per poche applicazioni più grandi. L'Infrastructure-as-Code rende possibile tutto questo automatizzando il provisioning.
L'IaC è particolarmente importante anche negli ambienti DevOps, poiché fornisce agli sviluppatori accesso semplificato all'infrastruttura IT necessaria per DevOps. Trattando l'infrastruttura e le operation in modo simile al codice dell'applicazione e ad altro codice, l'azienda assicura che le best practice DevOps, come il monitoraggio continuo e il controllo delle versioni, vengano applicate anche al codice che gestisce l'infrastruttura.

Infrastructure-as-Code e Platform-as-Code

Infrastructure-as-Code e Platform-as-Code (PaC) sono concetti simili applicati a diversi layer dello stack tecnologico. Come abbiamo visto, l'IaC si occupa del provisioning dell'elaborazione, dello storage e del networking nel layer dell'infrastruttura. La PaC, invece, si occupa del layer della piattaforma (inclusi il sistema operativo e gli strumenti di sviluppo) e consente agli sviluppatori di definire ed eseguire la piattaforma per le loro applicazioni.


Oltre a gestire diversi layer, la differenza fondamentale tra IaC e PaC risiede nel modo in cui vengono implementati: l'IaC viene implementato scrivendo wrapper sulle API Kubernetes, mentre la PaC viene implementato scrivendo estensioni API Kubernetes.

Quali sono i vantaggi dell'Infrastructure-as-Code?

L'implementazione dell'Infrastructure-as-Code offre numerosi vantaggi. Vediamoli nel dettaglio.

  • Implementazione delle best practice DevOps: quando l'infrastruttura viene trattata allo stesso modo di qualsiasi altro codice, le best practice DevOps, come il monitoraggio continuo, il controllo delle versioni e i test automatizzati, aiutano a garantire una gestione semplice.
  • Attivazione del self-service per gli sviluppatori: anziché richiedere agli sviluppatori di affidarsi al reparto IT per il provisioning delle risorse, l'IaC consente loro di eseguire il provisioning dell'infrastruttura in modo sicuro e compliant.
  • Scalabilità e un provisioning più rapido: la natura automatizzata dell'IaC consente alle risorse di scalare verticalmente e orizzontalmente in un modo che sarebbe difficile da gestire manualmente, soprattutto in un ambiente containerizzato in cui i microservizi richiedono il provisioning separato dell'infrastruttura per ciascun servizio.
  • Ripetibilità e coerenza: l'utilizzo della stessa base di codice per il provisioning dell'infrastruttura consente di ottenere la coerenza tra centinaia o migliaia di applicazioni.

Considerazioni per l'Infrastructure-as-Code

L'Infrastructure-as-Code (IaC) è necessaria in un ambiente enterprise DevOps containerizzato e ha pochi svantaggi. Tuttavia, presenta alcune potenziali sfide: La gamma di strumenti Infrastructure-as-Code disponibili può essere complessa e potrebbe rendere necessaria una formazione aggiuntiva per i team IT. Con l'automazione dell'infrastruttura, anche gli errori possono proliferare rapidamente in un ambiente IaC, pertanto il controllo delle versioni e i test sono estremamente importanti. Allo stesso modo, nonostante l'IaC in genere protegga dallo scostamento della configurazione, può effettivamente contribuire a tale scostamento se gli amministratori IT modificano le configurazioni dei server al di fuori del template IaC standard, quindi è importante rendere operativi gli standard IaC e documentare attentamente le policy.

Quali sono i vantaggi associati all'utilizzo dell'Infrastructure-as-Code?

Per quanto riguarda la sicurezza, l'Infrastructure-as-Code presenta le stesse condizioni di qualsiasi tipo di automazione: deve essere configurata correttamente fin dall'inizio per evitare danni maggiori o problemi di sicurezza causati da errori che si ripetono su larga scala. Tuttavia, se configurata e valutata attentamente, un'Infrastructure-as-Code sicura può ridurre al minimo i rischi di errore umano e garantire che le considerazioni sulla sicurezza siano integrate nel processo di sviluppo.


Basandosi sull'automazione piuttosto che su processi manuali, l'IaC offre tutti i vantaggi dell'automazione in termini di sicurezza e consente di evitare i problemi di sicurezza associati allo scostamento della configurazione. La gestione centralizzata di server e applicazioni offre coerenza e sicurezza in tutto l'ambiente. Le modifiche non vengono apportate manualmente, ma devono essere definite nel codice per impedire modifiche non autorizzate. Infatti, le configurazioni dichiarative assicurano che qualsiasi modifica apportata direttamente (anziché tramite il codice) venga automaticamente ignorata a favore dello stato definito nel codice. Inoltre, annullare le modifiche (anche quelle apportate tramite codice) è semplice grazie a un solido controllo delle versioni.


Gli ambienti IaC sono anche più facili da controllare, poiché tutto (incluse le configurazioni del server) è definito e documentato nel codice, il che semplifica la fornitura di tali informazioni a un auditor esterno.

Soluzioni e prodotti correlati

VMware Aria Automation

Scopri la nostra piattaforma per l'automazione dell'infrastruttura.

Rete moderna

Crea una rete moderna incentrata sugli utenti e sulle applicazioni che utilizzano

Cloud Management

Consente deployment, operation e ottimizzazione coerenti.