Anche se sono disponibili molti strumenti IaC open source, gli strumenti adottati più comunemente sono Ansible e Terraform:
Cos'è Ansible?
Ansible è un progetto di community open source sponsorizzato da Red Hat progettato per aiutare le organizzazioni ad automatizzare il provisioning, la gestione della configurazione e l'implementazione delle applicazioni. Ansible, uno strumento di automazione dichiarativo, consente di creare dei "playbook"' (scritti nel linguaggio di configurazione YAML) per specificare lo stato desiderato per la tua infrastruttura, e quindi esegue il provisioning per tuo conto. Ansible è una scelta diffusa per automatizzare il provisioning di container Docker e implementazioni Kubernetes.
Cos'è Terraform?
Terraform è un altro strumento di provisioning dichiarativo e di orchestrazione dell'infrastruttura che consente agli ingegneri di automatizzare il provisioning di tutti gli aspetti dell'infrastruttura on-premise e basata su cloud della propria azienda.
Terraform funziona con tutti i principali provider cloud e consente di automatizzare la creazione di risorse tra più provider in parallelo, indipendentemente dall'ubicazione in cui risiedono server fisici, server DNS o database. Può inoltre fornire applicazioni scritte in qualsiasi linguaggio.
A differenza di Ansible, Terraform non offre funzionalità di gestione della configurazione, ma funziona di pari passo con gli strumenti di gestione della configurazione (ad esempio, Cloud Formation) per fornire automaticamente l'infrastruttura nello stato descritto dai file di configurazione e modificare automaticamente il provisioning degli aggiornamenti quando necessario in risposta alle modifiche della configurazione.