Come l’Infrastructure as Code può favorire le attività DevOps

Obiettivo una sempre più forte integrazione delle attività operative e di sviluppo all’interno di un’azienda.

DevOps

Erica Langhi, Senior Solution Architect EMEA di Red Hat, prende in considerazione il rapporto tra Infrastructure as a Code e DevOps.

Tradizionalmente, la realizzazione dell’infrastruttura IT è un’attività manuale che vede il team IT di un’organizzazione configurare ogni macchina virtuale, sistema operativo e applicazione. Oltre ai componenti hardware. Si tratta di un’attività che si è rivelata grande fonte di attrito per la maggior parte dei dipartimenti IT. Questo perché nuove applicazioni o tentativi di scalare quelle esistenti ‘rubano’ al team IT tempo. Tempo che potrebbe dedicare a installare e configurare una nuova infrastruttura.

Infrastructure as Code

Negli ultimi anni, tuttavia, le aziende hanno abbracciato un’infrastruttura basata sul cloud che attinge pienamente dalla virtualizzazione e dai container. Invece di poche grandi macchine e un’infrastruttura monolitica da distribuire, i team si trovano a gestire una vasta e dinamica “costellazione” di componenti e dispositivi. Un provisioning di queste dimensioni non è gestibile manualmente. Così ha contribuito a rendere popolare il concetto di Infrastructure as Code, o IaC. In base al quale i team usano file di configurazione che contengono le specifiche dell’infrastruttura.

Per garantire la standardizzazione

Approccio che semplifica la modifica e distribuzione delle configurazioni. Oltre a garantirne la coerenza, standardizzazione e documentazione. E a permetterne la suddivisione in componenti modulari la cui distribuzione e integrazione può essere automatizzata. Ed è attraverso l’automazione che la IaC offre un importante valore aggiunto. Perciò sviluppatori e team IT saranno liberi dal provisioning e dalla gestione manuale di server, storage, sistemi operativi e altri componenti ogni volta che servono maggiori risorse per concentrarsi su attività più preziose.

I vantaggi dell’Infrastructure as Code

In linea di principio, i file di configurazione utilizzati dalla IaC sono simili a molti script di programmazione impiegati dagli sviluppatori per automatizzare i processi IT. IaC vede i team sviluppare uno script in YAML o JSON. Esso può essere eseguito su richiesta per gestire l’installazione e la configurazione di nuove infrastrutture in-demand. Uno dei maggiori vantaggi di IaC è infatti che permette all’infrastruttura di essere sottoposta allo stesso controllo di versione, alla pipeline CI/CD e ai test automatici che i team stanno già utilizzando per le loro applicazioni.

La cultura DevOps

Aiuta anche ad automatizzare le interazioni tra sviluppatori e team operativi. Riducendo entrambi i loro carichi di lavoro ed eliminando lo spazio per errori o incongruenze. Possiamo quindi affermare che la IaC completa perfettamente l’adozione di una cultura DevOps. Inoltre può servire ad abbattere i silos tra sviluppatori e amministratori attraverso la standardizzazione dei processi e l’uso delle stesse pratiche e linguaggio quando si tratta di infrastruttura.

Gestire gli script dell’infrastruttura

Non solo, l’IaC incoraggia anche l’adozione di una pipeline CI/CD quando si tratta di gestire gli script dell’infrastruttura. Pratica fondamentale per rendere DevOps un successo. Quindi, se molta attenzione è giustamente rivolta alla capacità dell’IaC di aumentare la produttività e le prestazioni grezze di un team, dovremmo ricordare che rappresenta anche un potente strumento per guidare il cambiamento organizzativo e culturale all’interno dell’azienda.