DevOps, SecOps e DevSecOps: Di cosa si tratta?

DevOps, SecOps e DevSecOps: Di cosa si tratta?

Orientamento al risultato: 10 regole per migliorarsi
Orientamento al risultato: 10 regole per migliorarsi
21 Luglio 2021
Piattaforme di tutto il mondo unitevi
Piattaforme di tutto il mondo unitevi
30 Luglio 2021
DevOps, SecOps e DevSecOps: Di cosa si tratta?

Nei precedenti appuntamenti dedicati a DevOps (tra gli altri segnaliamo DevOps compie 10 anni, DevOps: Dalle macchine virtuali ai container, Un’organizzazione DevOps, DevOps: La cultura, DevOps: L’automazione, DevOps: Il Lean, DevOps: La misurazione, DevOps: La condivisione) abbiamo visto come la creazione di software sia, oltre ad un esercizio di tecnica, soprattutto il frutto del lavoro di un’organizzazione. Lo sviluppo di software è il risultato dello sforzo collettivo di un insieme di persone che fa parte di un’organizzazione.

In passato, l’area IT aziendale doveva costruire manualmente l’infrastruttura sulla quale il codice potesse essere sviluppato, testato e distribuito, mantenendo una distanza tra i team dei developer, delle IT operations e della sicurezza.

Vediamo di fare chiarezza, prima di addentrarci nei prossimi appuntamenti dedicati a DevSecOps, su quali siano le differenze tra DevOps, SecOps e DevSecOps.

DevOps

L’ICT propone modelli di ciclo di vita ed esecuzione del software sempre più integrati e sempre più stringenti in termini temporali e di qualità per il successo del business.

Per questo l’infrastruttura è stata resa accessibile via software, permettendo l’integrazione dei team di sviluppo e delle operazioni, giungendo all’approccio DevOps, nel quale l’intero processo è stato automatizzato.

Con DevOps si intende proprio la combinazione di strumenti, pratiche ed organizzazione che consentono di fornire servizi e applicazioni ICT con cicli di lavoro integrati e di breve durata. Le risorse infrastrutturali vengono dunque definite direttamente nella fase di sviluppo attraverso il ricorso a Continuous Integration (CI) e Continuous Delivery (CD).

SecOps

Così come DevOps considera la fusione dei team e delle competenze di IT Operations e Development, SecOps vede la fusione i team di Security e IT Operations. SecOps è quindi una metodologia che vede le attività di sicurezza combinate con le competenze IT Operations. Analogamente a quanto accade nel caso di DevOps, risorse generalmente organizzate come distinti silos monolitici, vengono condivise durante le fasi di sviluppo e distribuzione di soluzioni.

La sicurezza è certamente una attività mission critical, che vede continue evoluzioni imposte sia dallo sviluppo tecnologico che dai mutamenti normativi a livello nazionale ed internazionale.

I team SecOps sono in grado di considerare le minacce alla sicurezza durante l’intero ciclo di sviluppo del prodotto o del servizio.

L’azione di sicurezza in SecOps cerca di essere proattiva, prevenendo i rischi nella loro fase iniziale, prima che diventino un problema difficile da gestire in termini tecnici, economici e di immagine.

DevSecOps

Il processo di integrazione dei team all’interno dell’organizzazione può ulteriormente evolvere verso l’integrazione, oltre che dei team di IT Operations e Security come visto in SecOps, anche dei Developers. Si parla in questo caso di DevSecOps.

Con la metodologia DevSecOps gli aspetti critici del controllo sulle vulnerabilità del codice e delle modalità di erogazione del servizio vengono considerati in modo integrato by design, fin dalle fasi iniziali dello sviluppo. Tale approccio aiuta l’integrazione non solo nello sviluppo del software, ma anche nello sviluppo di competenze e sensibilità che devono essere ben distribuite nei membri del team nel suo complesso.

L’implementazione di DevSecOps deve porre molta attenzione in merito al fatto che la sicurezza non costituisca un collo di bottiglia nel ciclo di sviluppo e di rilascio DevOps, permettendo a tutti i membri dei team di condividere l’impegno nella tutela dei dati e trarre grande vantaggio dall’automazione.

L’automazione ottenuta in questo modo rende la sicurezza un elemento chiave, facendo rientrare il software così sviluppato nella categoria del security by design per l’intero ciclo di vita del software.

Come per DevOps, DevSecOps si sposa con l’introduzione delle pratiche agili in azienda, quindi con processi di sviluppo e di delivery più rapidi, fondati su iterazioni successive di miglioramento che rispondono alle necessità dei clienti ed alle sollecitazioni del mercato.

La focalizzazione sui tre aspetti di Dev, di Sec e di Ops, implica che si debbano creare le condizioni affinché sicurezza e velocità possano coesistere nel ciclo di sviluppo.

DevSecOps risolve questo nodo, implementando dei test che permettano di identificare sezioni vulnerabili del codice e rimandarle al team di sviluppo prima che vengano distribuite e messe in produzione.

DevSecOps trae vantaggio dalla condivisione, tra i membri del team, di strumenti integrati capaci di automatizzare processi diversi, tra i quali l’applicazione dei criteri di sicurezza, evitando che rallentino il flusso di lavoro di DevOps. Integrazione continua (Continuous Integration, CD) e distribuzione continua (Continuous Delivery, CD) sono le pratiche che automatizzano le procedure di rilascio del software, dalla build alla distribuzione, utilizzabili per agevolare l’innovazione e il miglioramento dei prodotti, diminuendo i costi operativi.

DevSecOps assume che, per ottenere elevati livelli di sicurezza e quindi 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, ai test, alle fasi di produzione, alla manutenzione con aggiornamenti funzionali o al sopraggiungere di nuove minacce.

Perché DevSecOps sia un successo, è necessario 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 di network, computing, storage e sicurezza, con l’estensione degli strumenti di monitoraggio e di valutazione delle metriche di servizio.

Conclusioni

Originando da DevOps, le metodologie SecOps e DevSecOps si rivelano sostanzialmente molto simili, in particolare se l’organizzazione già adotta un approccio DevOps.

La velocità del business 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 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.

In fondo non si tratta di una scelta. Lo scenario dettato dal mercato e dalle possibili minacce suggerisce un’inevitabile adesione al modello completo DevSecOps.

Se la vostra azienda costituisce un nuovo team di sviluppo, o qualora si costituisca una nuova azienda, la scelta più opportuna è sicuramente quella di aderire fin dall’inizio alla metodologia DevSecOps. In questo caso, il vantaggio competitivo nei confronti della concorrenza è determinante nel successo sul mercato.

Da ultimo si sottolinea come, omettere di porre in essere, 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), ci possa esporre all’inosservanza dell’art. 25 del GDPR.

 

Bibliografia:
Condividi su:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

EnglishFrenchGermanItalianRussianSpanish