Un tema di grande attualità sul fronte dell’IT è il configuration management, ossia l’insieme di metodi e strumenti per la gestione delle configurazioni che servono ad aumentare la flessibilità dei sistemi dando supporto al cambiamento. Il configuration management dà infatti il supporto alle attività sia documentali sia implementative che hanno punto d’arrivo nel rilascio in produzione delle applicazioni: sia che si tratti di nuove soluzioni sia di revisione/modernizzazione di applicazioni esistenti o di patch. Un insieme di attività che ruota attorno a una base dati (il configuration management database (CMDB) contenente gli oggetti e le informazioni per il controllo di configurazione), oltre a molteplici tool d’interfaccia con i sistemi utilizzati e i team di persone.

Va da sé che in ambienti IT complessi con reti LAN e WAN, sistemi on premise, cloud ibrido e multicloud, il configuration management risulti un componente critico per l’automazione dei processi e l’efficacia delle pratiche di business service management, IT service management e change management. Un compagno importante nei processi DevOps per valorizzare e ottimizzare l’IT.

Come funziona il configuration management

L’implementazione del configuration management mette a disposizione dei team IT una piattaforma per disegnare, monitorare, gestire e automatizzare tutti i processi di configurazione e cambiamento che riguardano server, storage, networking e software. La piattaforma di configuration management permette il controllo sullo stato di ogni sistema e di orchestrare i processi di modifica che la riguardano, garantendo la coerenza delle impostazioni sull’insieme degli apparati cooperanti e il rispetto dei requisiti necessari alle altre applicazioni e servizi che vi girano. Così come il change management aiuta ad accogliere i cambiamenti che sono funzionali alle nuove esigenze del business, il configuration management fornisce aiuto nell’adattamento funzionale dei servizi IT.

Configuration management e DevOps

L’eterogeneità dei servizi IT usati in azienda si traduce in una grande varietà di tool a supporto del configuration management, strumenti che integrati con componenti di test e di delivery diventano funzionali al supporto del ciclo di DevOps.

Il configuration management assolve tre fondamentali compiti che fanno parte dei processi DevOps: identificazione, controllo e auditing.
Il primo riguarda la funzione di ricerca e di catalogazione delle esigenze di configurazione riguardanti tutti i sistemi IT e i servizi utilizzati.
La seconda fa sì che i cambiamenti alle configurazioni avvengano in modo controllato, senza impatti su quanto già in essere.
Le capacità di auditing riguardano infine il monitoraggio dei sistemi per assicurarsi che restino conformi nel tempo con quanto previsto dalle validazioni e dalle normative.

I punti comuni di configuration management e DevOps

Configuration management e DevOps si avvantaggiano di componenti in comune: come il repository degli artifact (il database con codici binari, dati di test, librerie alla base dei processi d’integrazione continua), il repository del sorgente (contenente codice, script e file di configurazione) e l’architettura dei dati (il CMDB ossia il database delle configurazioni su servizi, server, software come prescritto dal framework ITIL). CMDB aiuta ad avere visione delle relazioni esistenti tra i sistemi che operano insieme, a vantaggio di configurazioni corrette, ma anche del provisioning infrastrutturale e dell’incident management.

I benefici del configuration management

Il configuration management offre come vantaggio il delivery infrastrutturale “as-a-code” (IaaC) di servizi on premise e cloud grazie alla capacità di automatizzare le procedure di configurazione degli ambienti operativi senza operazioni manuali. IaaC si realizza mediante script che effettuano i setup sulle risorse che servono a creare le infrastrutture per completare i processi DevOps. Si avvantaggia delle capacità di configuration as-a-code (CaaC) che permette di standardizzare le impostazioni di configurazione delle risorse di networking, server e storage da applicare nelle fasi di deploy delle applicazioni.

Standardizzazione, automazione e collaborazione grazie al configuration management

Con IaaC e CaaC si riesce oggi a standardizzare e automatizzare il provisioning infrastrutturale, evitare errori umani e scostamenti nel corso del tempo da quanto è stato prescritto. Le piattaforme consentono il controllo sulle configurazioni sia sotto il profilo della consistenza sulle differenti risorse sia delle versioni. Al tempo stesso consentono di migliorare la collaborazione tra i team di sviluppo e di operation nel DevOps, rendendo l’lT aziendale più flessibile ed efficiente.