Recentemente è stato pubblicato un interessante report sulla necessità delle imprese di accelerare i propri processi di delivery. Questo report si è focalizzato sul rapporto esistente tra Development e Operations, e su come tali divisioni debbano interagire tra loro. Dai punti emersi dall’analisi, quattro sottolineano come il controllo di versione sia di vitale importanza sia per il Development che per le Operations:
– Entrambi hanno bisogno della medesima fonte di verità
Quando il team di Operations utilizza lo stesso sistema di DVCS del team di Development, chiunque può riprodurre l’ambiente di produzione in conformità a ciò che è presente nel controllo di versione. Development e Operations hanno bisogno del medesimo sistema di version control per garantire che le change del codice e dell’environment siano continuamente integrate e rilasciate all’interno dell’ambiente di produzione, generando elevate performance per l’IT.
– Le impostazioni con molte configurazioni si possono guastare più facilmente nell’environment anziché nel codice
L’environment comprende qualsiasi cosa, come il database, il sistema operativo e le impostazioni di configurazione, ad eccezione del codice. Pertanto, tutte le configurazioni di produzione devono essere controllate all’interno del controllo di versione, che costituisce l’unica fonte di verità da cui tutti dipendono per qualsiasi environment (come ad esempio lo sviluppo, il test, la produzione, ecc.).
– La Continuous Delivery richiede agli sviluppatori di creare ambienti similari alla produzione secondo necessità, attraverso un processo di build automatico
Per garantire risultati ripetibili, il meccanismo di build deve essere controllato all’interno del controllo di versione, così come tutte le sue dipendenze. Grazie a ciò, chiunque può ricreare ambienti basati solo su ciò che è all’interno del sistema di version control.
– Il controllo di versione incoraggia la responsabilità e la fiducia reciproca tra Development e Operations
Se tutto passa attraverso il controllo di versione, si determina il modo in cui gli ambienti di sviluppo, di test e di produzione sono costruiti, favorendo una responsabilità reciproca. Così come il controllo di versione è necessario per generare una fiducia reciproca tra gli sviluppatori, è altrettanto necessario che il version control generi tra Development, Test e Operations, una responsabilità e un senso di visibilità e fiducia reciproci.
Per questa ragione è necessario che l’approccio DevOps integri il controllo di versione sia per le Operations che per il Development, e che il sistema di versioning sia lo stesso per entrambi i dipartimenti. Il team di Operations dovrebbe eseguire il controllo di versione su tutti gli artefatti di produzione, così come il team di Development dovrebbe effettuare il controllo di versione su qualsiasi cosa.
Dalle raccomandazioni emerse, al fine di ottenere un servizio di delivery ottimale, si consiglia di:
– Ottimizzare sui costi, utilizzando tool e tecnologie in grado di consentire processi ripetibili e handoff automatici, e ridurre i costi di sviluppo e manutenzione legati allo scripting.
– Raggiungere una maggiore velocità di delivery, automatizzando l’handoff tra le fasi e gli strumenti durante le principali fasi del ciclo di vita, fino ad ottenere una piena automazione di quest’ultimo.
– Incrementare la qualità con tool in grado di sviluppare e verificare che i processi producano risultati di qualità.
– Rimuovere i processi manuali, che per definizione sono soggetti a errori, e utilizzare tool volti ad automatizzare i processi e ottenere risultati ripetibili.
Accelerare il processo di rilascio software è il tuo obiettivo? Leggi il report e scoprirai quali sono le metodologie e le tecnologie consigliabili per ottimizzare la tua software delivery.
Per maggiori informazioni contatta Emerasoft all’indirizzo mail sales@emerasoft.com o telefonicamente allo 0110120370 (sede di Torino) o allo 0687811323 (sede di Roma).