Terraform è uno strumento per la creazione, la modifica e il controllo delle versioni dell'infrastruttura in modo sicuro ed efficiente. Terraform è in grado di gestire fornitori di servizi esistenti e popolari, nonché soluzioni interne personalizzate.
I file di configurazione descrivono in Terraform i componenti necessari per eseguire una singola applicazione o l'intero datacenter. Terraform genera un piano di esecuzione che descrive cosa farà per raggiungere lo stato desiderato, quindi lo esegue per costruire l'infrastruttura descritta. Man mano che la configurazione cambia, Terraform è in grado di determinare cosa è cambiato e creare piani di esecuzione incrementali che possono essere applicati.
L'infrastruttura che Terraform può gestire include componenti di basso livello come istanze di calcolo, storage e rete, oltre a componenti di alto livello come voci DNS, funzionalità SaaS, ecc.
Le caratteristiche principali di Terraform sono
Infrastruttura come codice
L'infrastruttura viene descritta utilizzando una sintassi di configurazione di alto livello. Ciò consente il controllo delle versioni e il trattamento di un progetto del centro dati come faresti con qualsiasi altro codice. Inoltre, l'infrastruttura può essere condivisa e riutilizzata.
Piani di esecuzione
Terraform ha una fase di "pianificazione" in cui genera un piano di esecuzione . Il piano di esecuzione mostra cosa farà Terraform quando chiamerai candidatura. Ciò consente di evitare qualsiasi sorpresa quando Terraform manipola l'infrastruttura.
Grafico delle risorse
Terraform costruisce un grafico di tutte le tue risorse e parallelizza la creazione e la modifica di qualsiasi risorsa non dipendente. Per questo motivo, Terraform costruisce l'infrastruttura nel modo più efficiente possibile e gli operatori ottengono informazioni dettagliate sulle dipendenze nella loro infrastruttura.
Automazione delle modifiche
È possibile applicare gruppi di modifiche complessi alla tua infrastruttura con un'interazione umana minima. Con il piano di esecuzione e il grafico delle risorse menzionati in precedenza, sai esattamente cosa cambierà Terraform e in quale ordine, evitando molti possibili errori umani.
Fonte: terraform.io