Naturale estensione di DevOps, ossia del modello più accreditato per recuperare efficienza nella gestione del ciclo di vita del software, mettendo insieme sviluppo e operation, il DevSecOps riunisce sotto lo stesso cappello anche la security.

Un’unione che trova motivazione nella constatazione che la gran parte dei problemi che mettono a rischio la cybersecurity delle applicazioni in produzione abbia radici nella progettazione iniziale, e quindi nelle difficoltà di rilevarli e mitigarli nelle fasi a cascata successive. Anticipare significa anche ridurre il time-to-market e i relativi costi di correzione a valle.

La velocità del business digitale e l’evoluzione dei canali di contatto con i clienti stanno sollecitando cambiamenti radicali nei modi con cui si affrontano i diversi processi che riguardano lo sviluppo del software, la gestione delle operation IT e la security. C’è infatti l’esigenza business di accorciare i tempi della messa in produzione e di aggiornamento continuo del software, un problema affrontabile solo con la piena sinergia dei processi coinvolti, attraverso metodi come DevSecOps: sintesi tra developer, security & operation.

DevSecOps porta con sé l’idea che per ottenere più alti livelli di sicurezza, e quindi di conseguenza riuscire a proteggere i dati e la continuità dei business digitali, serva portare il tema della security in tutte le fasi del ciclo di vita. Dalle fasi di scrittura del codice (quando è più facile per il programmatore intervenire sulle vulnerabilità e quindi imparare a scrivere codice sicuro), quindi nei test, nelle fasi di produzione, e anche nel corso del tempo, con gli aggiornamenti funzionali o con l’emergere di nuove minacce.


Cosa significa passare dal DevOps al DevSecOps

L’evoluzione delle esigenze aziendali richiede oggi ai team di sviluppo e produzione di collaborare più strettamente, condividere le responsabilità e integrare i flussi di lavoro. In questo modo, vengono ridotte le cause d’inefficienza e migliorati i tempi di esecuzione, scrivendo codice che tenga conto dell’ambiente in cui verrà eseguito.

L’estensione della collaborazione alla security con DevSecOps permette di recuperare ulteriore efficienza, migliorare la qualità dei prodotti e dei servizi rispetto ai tradizionali approcci di sviluppo e gestione evolutiva del software. Come per DevOps, DevSecOps si sposa con l’introduzione delle pratiche agili in azienda, quindi con processi di sviluppo e di deploy più rapidi, fondati su iterazioni successive di miglioramento che rispondono all’evoluzione delle necessità dei clienti e alle sollecitazioni competitive dei mercati.

Integrazione in azienda con il DevSecOps

Con DevSecOps, i team dedicati a sviluppo, sicurezza e produzione operano in modo coordinato e integrato, spesso all’interno di un unico team dove i componenti hanno parte attiva sull’intero ciclo di vita dell’applicazione – dallo sviluppo al testing, dalla distribuzione alla messa in produzione – scambiando gli elementi che concorrono a creare applicazioni efficaci e resilienti, meno vulnerabili nel codice, ma anche nella struttura, nella gestione delle modalità d’accesso e del deploy.

Senza dimenticare che di mettere in atto, sin dalla progettazione, e prima che inizi il trattamento dei dati, tutte le misure tecniche ed organizzative necessarie ad attuare i principi di protezione dei dati (by design), come da art. 25 del GDPR.


Mettere in pratica il DevSecOps

Far lavorare insieme le persone, che si occupano della security con chi fa sviluppo e operation con il DevSecOps, mette a fattor comune le competenze e consente di affrontare molti compiti che, in processi a cascata, richiederebbero tempi più lunghi e renderebbero difficile riportare le istanze di miglioramento a ritroso nella catena di produzione.

Perché funzioni, serve garantire la formazione dei team sullo sviluppo di applicazioni cloud-native in container, oltre a un forte impegno nell’integrazione delle pipeline dello sviluppo. Sul fronte delle operation, è utile l’integrazione delle infrastrutture per network, computing, storage e sicurezza, con l’estensione degli strumenti di monitoraggio e di valutazione delle metriche di servizio.

DevSecOps, integrazione e ottimizzazione

DevSecOps si avvantaggia della condivisione tra i membri del team di strumenti integrati capaci di automatizzare processi diversi, tra i quali l’applicazione dei criteri di sicurezza (per test di sicurezza delle applicazioni statici e dinamici, interattivi), evitando che, in un diverso momento, rallentino il flusso di lavoro di DevOps. Integrazione continua e distribuzione continua (CI/CD) sono le pratiche che automatizzano le procedure di rilascio del software, dalla build alla distribuzione, utilizzabili per aiutare l’innovazione e il miglioramento dei prodotti, diminuendo i costi operativi.