La definizione di un processo chiaro, la riduzione dei tempi di sviluppo del software, il miglioramento della sua qualità, la riduzione della complessità di gestione delle infrastrutture per l’erogazione dei servizi, il miglioramento della collaborazione e condivisione all’interno dei gruppi di sviluppo software: con questi focus, nel 2020, Insiel ha avviato un percorso sperimentale innovativo per introdurre il paradigma “cloud native” nella produzione del software.
A seguito della prima fase, il 2023 è stato per Insiel l’anno di adozione del paradigma completo DEVOPS, insieme di pratiche e strumenti che integrano e automatizzano il lavoro di sviluppo software (Dev) e operation IT (Ops) come mezzo per migliorare e abbreviare il ciclo di vita dello sviluppo dei sistemi e che si traducono in una filosofia e una cultura che mira a colmare il divario tra i team di sviluppo e operation, per aumentare la produttività e la collaborazione automatizzando l’infrastruttura, i deployment del codice e il monitoraggio continuo delle applicazioni.
Parallelamente, l’azienda ICT in house della Regione Friuli Venezia Giulia ha introdotto la metodologia Agile, che promuove lo sviluppo iterativo e incrementale, la collaborazione tra team multifunzionali e la risposta flessibile ai cambiamenti. Questa metodologia ha permesso ai team di concentrarsi sullo sviluppo di piccole parti di funzionalità software in modo iterativo, permettendo una maggiore flessibilità e adattabilità ai cambiamenti.
L’implementazione parallela di Agile e DevOps ha permesso di sfruttare i punti di forza di entrambe le metodologie: Agile ha guidato lo sviluppo del software, mentre DevOps ha assicurato che il software sviluppato venisse consegnato e gestito in modo efficiente. Questa combinazione ha portato a un ciclo di vita dello sviluppo del software più fluido e produttivo.
Un altro concetto fondamentale, introdotto e messo in pratica in azienda, è stato il CI/CD (Continuous Integration/Continuous Delivery): anche questa pratica è stata adottata da Insiel per permettere ai membri di un team di sviluppo di integrare continuamente il loro codice, facilitando la collaborazione, e di rilasciare nuove funzionalità e correzioni di bug più rapidamente e con maggiore frequenza.
L’implementazione di Agile e DevOps in parallelo, supportata da pratiche di CI/CD, ha creato dunque un ambiente adatto per lo sviluppo di soluzioni Cloud Native che devono essere progettate per sfruttare al meglio le infrastrutture di tipologia cloud (a valenza anche in infrastrutture on-premise) fortemente distribuite e scalabili.
Indice degli argomenti
Come ha agito Insiel
La Divisione Innovazione e Governo ICT, in collaborazione con la Divisione Infrastrutture di Insiel, ha implementato diversi ambienti container Openshift (test, collaudo, produzione). In particolare, l’area Innovazione ha creato una toolchain completa DevOps CD/CI, costituita da diversi strumenti enterprise tra loro integrati grazie ad un ecosistema di pipeline di automazione aziendali il cui fine ultimo è il deploy controllato e automatizzato negli ambienti Container.
Un’attività impegnativa è stata certamente quella dedicata all’individuazione e alla scelta degli strumenti più idonei, in un panorama di proposte di mercato estremamente vasto così come l’estesa e continua attività di divulgazione di una nuova cultura aziendale verso il Cloud Native.
Evoluzioni: platformOPS e DevSecOps
Rispetto alla definizione originale del progetto, Insiel ha adottato anche il paradigma platformOPS, quale naturale evoluzione del DevOps, ovvero la definizione di un numero finito di template aziendali di pipeline a disposizione dei team di sviluppo in modalità Self-Service. Il controllo dei template disponibili è fondamentale per il governo di ambienti DevOps poiché aiuta a standardizzare i processi, migliorare l’efficienza, garantire la sicurezza e facilitare la gestione.
Un’altra evoluzione è l’adozione del DevSecOps, ovvero il DevOps che coinvolge gli esperti di sicurezza nel processo. Di particolare rilevanza la definizione e l’inserimento nella pipeline e nei processi aziendali del cosiddetto “QualityGate” per l’analisi generale della qualità del codice ma soprattutto per l’analisi ex-ante delle vulnerabilità del codice secondo standard OWASP. Allo stesso modo, il controllo degli artefatti e del loro aggiornamento disponibili su Nexus è fondamentale, poiché è noto come la maggior parte delle vulnerabilità sono riconducibili alle dipendenze presenti nel codice sorgente.
Nei prossimi mesi verrà attivata una sperimentazione per la gestione a livello Enterprise dei secrets applicativi, fondamentale passo per la gestione della sicurezza tramite crittografia delle password applicative e gestione delle logiche di rotazione.
Obiettivi raggiunti
L’industrializzazione del processo produttivo per ampiezza, complessità e ambizione si configura come un percorso di indirizzo strategico. Il primo passo per avere successo e per rappresentare la direzione verso il cambiamento (Vision) è l’utilizzo del modello di “Differenziazione strategica Treacy and Wiersema” dove sono indicati i principali driver su cui tipicamente si sviluppa la competizione. L’iniziativa innovativa è quindi riuscita a svilupparsi principalmente nella direttrice strategica dell’operational Excellence, che si configura quindi come la priorità prevalente per il programma di cambiamento.
Insiel è riuscita a incidere su alcuni pilastri fondamentali sul quale si basa il processo di cambiamento, in particolare, tools, performance, modello di lavoro. Un obiettivo importante, per l’azienda, era quello di razionalizzare e ottimizzare gli strumenti già in uso o necessari per l’attuazione del DevOps e dell’approccio Cloud Native, integrandoli con quanto già presente in azienda. Sono state introdotte tecnologie e metodologie prima non presenti, al fine di ridurre la complessità del processo produttivo, automatizzando e snellendo le attività proprie dello sviluppo applicativo, creando tutte le condizioni ottimali per un aumento della produttività aziendale, oltre all’acquisizione di una profonda competenza in un settore estremamente dinamico e in continua evoluzione.
Insiel non vede l’adozione di metodologie come Agile e DevOps solo come una soluzione alle sfide attuali: si tratta piuttosto di un investimento strategico nel futuro, di un cambiamento che non riguarda solo la tecnologia o i processi di lavoro. Il cambiamento riguarda l’intera cultura aziendale e la creazione di un ambiente di lavoro che valorizza l’apprendimento, la collaborazione e l’adattabilità, valori fondamentali di una cultura Agile e DevOps.