In questo modo, usando un file strutturato, un semplice pezzo di codice, sei in grado di controllare ogni cosa all’interno della tua infrastruttura: network, risorse, storage, DNS, database, sicurezza, scalabilità, automazione, in poche parole tutto. Infatti, con il crescente utilizzo di infrastrutture e tecnologie cloud, l’esigenza di una soluzione che non dipendesse esclusivamente da un unico fornitore divenne una necessità. Gli ambienti cloud subivano malfunzionamenti e, avendo tutte le uova in unico paniere, diventavano molto vulnerabili. Gli IT manager hanno quindi iniziato a cercare un modo per distribuire i carichi di lavoro tra il cloud e differenti provider per minimizzare l’esposizione al rischio. Il pezzo mancante in questo puzzle era un singolo tool che permettesse all’utente finale (che fosse l’IT manager o lo sviluppatore) di gestire i molteplici ambienti con un set di strumenti standardizzato. Ed ecco Terraform!
Terraform è uno strumento che consente di costruire, modificare e aggiornare l’infrastruttura in modo semplice ed efficiente. Terraform è compatibile con i servizi di provider noti così come con soluzioni customizzate, inclusa Openstack. Terraform è inoltre estremamente facile da installare e compatibile con quasi tutte le piattaforme.
Attualmente funziona con i seguenti provider, consentendo il controllo di diversi tipi di risorse ed infrastrutture:
- Atlas (workflow engine di Hashicorp )
- AWS, GCE, Azure, OpenStack, DigitalOcean, Docker, CloudStack, Heroku, vSphere, vCloud (Infrastuttura Cloud)
- Chef, Rundeck (gestione configurazione)
- CloudFlare, DNSMadeEasy, Dyn, DNSimple (provider DNS)
- Mailgun (Email)
- Consul, PowerDNS (DNS e servizio di registrazione)
- MySQL, PostgreSQL (Database)
- StatusCake (Monitoraggio)
- TLS (Certificati)
In particolare, Terraform ha una serie di moduli che permettono di gestire l’infrastruttura Openstack. Supporta diversi componenti di Openstack, nel dettaglio:
- Block Storage
- Compute
- Networking
- Load Balancer
- Firewall
- Object Storage
Un componente che non è supportato da Terraform è Heat (orchestration engine), per una ragione abbastanza ovvia: Terraform è esso stesso un tool di orchestrazione, e una duplicazione non è mai un bene.
Terraform è uno strumento innovativo, in grado di semplificare i processi di deployment e di risolvere le problematiche relative alla molteplicità dei vendor. Con un solo tool puoi gestire efficacemente l’infrastruttura e farlo in modo rapido e semplice. La prossima volta approfondiremo il discorso e vedremo nel dettaglio le specifiche di questo strumento.