Dove siamo
Via Chambery 93/107-V 10142 – Torino
+39 011.5097366 | marketing@criticalcase.com
Via Industria 31/A, 6987 Caslano, Switzerland
+39 011.5097366 | marketing@criticalcase.com
In questo articolo spieghiamo a grandi linee gli argomenti toccati nel webinar tenuto poco più di una settimana fa in cui abbiamo parlato di Infrastructure as Code con Terraform.
Qual è il target che di solito un’azienda si pone quando vuole sfruttare al meglio gli ambienti cloud?
Per Criticalcase è quello di arrivare a realizzare il cosiddetto Devops sul multicloud ibrido, ovvero riuscire a raggiungere un livello di automazione in vari ambiti tale da coinvolgere anche le procedure interne all’azienda e le metodologie, per arrivare a un cambio di paradigma che permetta di sfruttare al meglio gli ambienti multicloud.
L’approccio di Criticalcase è un approccio ibrido in quanto agnostici sulle piattaforme cloud.
Partire dall’infrastructure as code, a nostro avviso dovrebbe essere il primo passo che un’azienda deve affrontare, in quanto è il primo step per la realizzazione delle piattaforme.
E’ un processo che permette la gestione ed il provisioning di componenti infrastrutturali sia on premise presso data center proprietari o di terze parti sia su Cloud.
Viene realizzato attraverso file di definizione che sono leggibili da un programma come Terraform.
L’infrastructure as a code ha molteplici vantaggi, tra i più importanti:
Terraform è un progetto opensource della HashiCorp in grado di gestire qualsiasi piattaforma Cloud disponibile
Avendo un ecosistema molto vasto, è facile approcciarsi al cloud direttamente tramite Terraform, in quanto sono disponibili circa 150 Providers ufficiali o verificati e oltre 800 community.
A differenza degli altri sistemi IAC (Infrastructure as code) che nascono con un approccio imperativo, Terraform è uno strumento importante nato con un approccio dichiarativo che permette di rappresentare gli oggetti infrastrutturali.
Questo vuol dire che viene dichiarato quello che deve essere lo “stato finale” dell’infrastruttura ovvero come si vuole che sia l’infrastruttura.
Sarà quindi Terraform, che con i suoi plugin e i suoi fornitori, si occuperà di implementare l’infrastruttura disegnata inizialmente.
Da qualche settimana è uscita la nuova versione 1.0 di Terraform che introduce parecchie features come:
Questa è una lista delle best practice che derivano dall’esperienza che Criticalcase ha avuto con l’utilizzo di Terraform
Noi di Criticalcase abbiamo sviluppato molti moduli per ogni tipo di componente AWS che andiamo ad utilizzare all’occorrenza.
Primo punto da affrontare quando si deve scalare il sistema è la centralizzazione del management dello stato ed il suo lock (se usato da più punti).
Le data sources permettono a Terraform di utilizzare informazioni definite al di fuori di Terraform, definite da un’altra configurazione separata di Terraform, o modificate da funzioni.
Ogni provider può offrire data sources insieme al suo set di tipi di risorse.
In questo caso non si andrà ad utilizzare una risorsa già presente su Terraform ma si andrà a far eseguire un programma al codice sviluppato.
Anche se i proprietario di Terraform (HasciCorp) consiglia di non utilizzare i Provisioners se non quando non se ne può realmente fare a meno, con Terraform non è però possibile gestire ogni cosa e quindi si dovrà intervenire sulle macchine remote (se si tratta di Server), oppure eseguire delle azioni locali.
Sono di 3 tipi due dei quali richiedono la connessione ssh ai server:
Alcuni tipi di risorse includono nested blocks che possono essere reiterati N volte sui “setting“, che in genere rappresentano oggetti separati correlati (o incorporati all’interno) dell’oggetto contenitore.
Oltre alle best practice, ci sono anche dei WARNING che possono essere riassunti in 3 punti:
Se siete interessati ad approfondire l’argomento, qui di seguito trovate il video del webinar tenuto dal nostro Delivery Manager e Cloud Architect Pasquale Lepera
Se vuoi approfondire qualche argomento in merito al webinar, o se vuoi ricevere le slide che sono state proiettate, contattaci tramite il seguente form.
Via Chambery 93/107-V 10142 – Torino
+39 011.5097366 | marketing@criticalcase.com
Via Industria 31/A, 6987 Caslano, Switzerland
+39 011.5097366 | marketing@criticalcase.com
Compila il form e un nostro esperto ti ricontatterà entro 24 ore: non vediamo l’ora di conoscerti!
Iscriviti alla nostra newsletter per restare aggiornato sulle novità dell’universo Criticalcase