Di seguito vi descriviamo i principali passaggi operativi necessari per costruire un’infrastruttura con Terraform, e i relativi vantaggi che il tool mette a disposizione degli utilizzatori.
- Scrivere l’infrastruttura come se fosse un codice
Definire l’infrastruttura come un codice accresce la produttività e la trasparenza operativa e permette di condividere le varie configurazioni, facilitando la collaborazione tra i membri del team. Inoltre è possibile tracciare l’intera “storia” delle versioni infrastrutturali e verificare la sua evoluzione. Terraform è anche Automation Friendly: qualsiasi elemento che può essere codificato può anche essere automatizzato, semplificando massivamente le operazioni complesse.
- Progettare e pianificare preventivamente le modifiche
Con Terraform effettuare qualsiasi modifica è molto semplice, grazie alla possibilità di pianificare ogni cambiamento e di verificare le preview delle modifiche prima di applicarle. Il processo di progettazione si snellisce notevolmente proprio perchè è possibile comprendere preventivamente gli eventuali effetti che anche il più piccolo cambiamento potrebbe causare sull’infrastruttura. Progetto e applicazione della modifica sono infatti separati, garantendo la riduzione degli errori: il progetto mostra cosa dovrebbe accadere, l’applicazione esegue la modifica. Una caratteristica fondamentale di Terraform è inoltre la presenza di un unico workflow completamente sicuro, attraverso il quale è possibile creare infrasrutture lavorando con differenti provider (AWS, GCP, Azure, OpenStack, VMware, e molti altri).
- Creare un’infrastruttura riproducibile
Terraform abilita gli operatori ad utilizzare facilmente le stesse configurazioni in più luoghi per ridurre gli errori e risparmiare tempo. Uno dei vantaggi di Terraform è che le configurazioni possono essere raggruppate in moduli e convidise in modo semplice tra team e aziende. Inoltre Terraform consente di combinare senza alcuno sforzo i sistemi infrastrutturali di differenti provider di alto livello (ad esempio, è possibile attivare un server presso un fornitore e successivamente aggiungere un DNS con l’IP di un altro vendor).