Gestire un set di strumenti DevOps in continua espansione può essere sia una benedizione che un peso. Con le organizzazioni che navigano un panorama IT sempre più diversificato e cercano di restare competitive, sorge spontanea la domanda: stiamo complicando eccessivamente i nostri stack tecnologici, oppure stiamo davvero sfruttando questi strumenti per fare progressi significativi?
Per comprendere più a fondo queste sfide e capire quale sia la direzione da prendere, abbiamo parlato con Prashanth Nanjundappa, VP of Product Management presso Progress. Con oltre 20 anni di esperienza nel settore tecnologico, Prashanth condivide i suoi consigli su come ottimizzare l'integrazione degli strumenti, bilanciare l'automazione con l'esperienza umana e garantire che le pratiche DevOps moderne offrano valore reale.
- Con i team DevOps sommersi dagli strumenti, stiamo arrivando al punto in cui l'integrazione fa più danni che benefici? Come possiamo ripensare l'integrazione per restituire tempo ai team mantenendo comunque coesione al sistema?
L’attuale panorama IT è eterogeneo, composto da cloud pubblici, cloud privati, prodotti SaaS e dispositivi edge. Inoltre, le decisioni di acquisto sono decentralizzate dai CIO verso più team all’interno dell’organizzazione. Questo richiede un approccio strategico per semplificare l’integrazione degli strumenti.
- Implementare una strategia ampia a livello aziendale o organizzativo. Ad esempio adottare la policy as code, dare priorità all’integrazione API-first, creare un portale self-service interno, o integrare tutto in una piattaforma unificata come ServiceNow, Salesforce o Jira.
- Scegliere prodotti che supportino la strategia adottata, invece di acquistare strumenti e poi cercare di adattarli. Ad esempio, considerare strumenti API-first, Code-first, SaaS, o strumenti che si integrano con il proprio toolchain esistente, come Jira, ServiceNow, IaC o Salesforce.
- Minimizzare il numero di fornitori. Poiché molti fornitori offrono soluzioni multiple, esplora le offerte degli attuali fornitori prima di acquistare nuovi strumenti per ogni nuova esigenza. Questo ridurrà sia la complessità della gestione dei fornitori, sia le sfide di integrazione.
- Sembra inevitabile avere task non pianificati in infrastrutture complesse, ma come evitiamo che diventino la norma? Stiamo complicando troppo le soluzioni affidandoci a fix sviluppati internamente, e quali alternative esistono che possono scalare senza dover sempre correre ai ripari?
Le organizzazioni spesso cadono nella trappola di pensare di poter costruire i propri strumenti. Se la tua azienda non è specializzata nella gestione delle infrastrutture, evita di creare strumenti per questo scopo. Sebbene il software open-source sembri gratuito, richiede un grande sforzo ingegneristico per svilupparlo, mantenerlo, scalarlo e garantirne la sicurezza. Per evitare questi costi, è preferibile collaborare con un fornitore affidabile così che il team possa concentrarsi sugli obiettivi principali del business.
Inoltre, gli strumenti dovrebbero essere integrati nei sistemi di record o nei tool per la gestione delle configurazioni (CMDB) già durante la fase di implementazione iniziale. Ciò offre al management una panoramica sull’utilizzo dell’infrastruttura, degli strumenti e sui task pianificati o in corso. Grazie a questa visibilità, le organizzazioni possono comprendere meglio e ottimizzare i processi in modo continuo.
- Il controllo dell'orchestrazione spesso viene trascurato, eppure è la spina dorsale dell’efficienza. Qual è il collo di bottiglia nell’orchestrazione di cui i team DevOps non parlano, e come ci si libera da questi rallentamenti?
Non direi che l’orchestrazione viene trascurata; piuttosto, lo sforzo richiesto per l’orchestrazione è quasi sempre sottovalutato. La presenza di più strumenti e workflow rende difficile agli amministratori mantenere e gestire i dispositivi IT in ambienti grandi e complessi. In questi casi, l’orchestrazione è necessaria. L’orchestrazione mette insieme persone, strumenti e workflow e semplifica i processi IT. Con una piattaforma di orchestrazione aziendale, gli amministratori dispongono di un controllo flessibile e granulare su molteplici azioni, includendo la selezione e la tempistica. I processi, dalle attività di routine alle risposte agli incidenti critici, diventano rapidi ed efficienti.
In caso di incidente, seguire questi passaggi aiuterà a ridurre l’impatto dell’incidente e a risolvere la causa principale:
- Orchestrare le risposte agli incidenti di sicurezza degli endpoint isolando automaticamente i dispositivi compromessi oppure avviando un processo di threat hunting.
- Orchestrare la distribuzione delle patch di sicurezza sui sistemi vulnerabili oppure isolare i sistemi finché non vengono aggiornati.
- Sviluppare e implementare dei playbook di risposta agli incidenti che definiscano azioni specifiche da intraprendere a seconda del tipo di incidente.
- Lanciare un job che risponda a situazioni come account compromessi o errori di accesso, ad esempio, reimpostando automaticamente le password, effettuando il logout dalle sessioni o compiendo altre azioni predefinite.
- Mantenere una responsabilità condivisa tra i team di risposta agli incidenti favorendo comunicazione e collaborazione.
- Il passaggio dal DevOps tradizionale agli ambienti moderni sta davvero mantenendo le sue promesse, o stiamo semplicemente aggiungendo più strumenti senza migliorarne l’efficacia? Come possiamo assicurarci che una configurazione "moderna" sia davvero più efficiente e non semplicemente più complessa?
L’adozione di DevOps è un percorso volto ad accelerare i processi di sviluppo e distribuzione, riducendo il time-to-market senza compromettere la qualità. Il DevOps tradizionale si concentra sull’integrazione efficace tra i team di Sviluppo e Operazioni, senza considerare i team di Sicurezza come collaboratori chiave. Il DevOps moderno, invece, integra la sicurezza nei processi essenziali fin dall'inizio; per questo viene anche definito DevSecOps.
DevSecOps consente alle organizzazioni di ottimizzare la distribuzione di software sicuro, efficiente e reattivo. Integrando la sicurezza sin dalle prime fasi con i team di sviluppo e operazioni, si rafforza il software contro le minacce, garantendo una protezione solida. Questo approccio porta anche a tempi di consegna più rapidi, offrendo alle aziende un vantaggio competitivo in mercati dinamici.
Il lavoro collaborativo tra i reparti migliora l'efficienza e la resilienza, mentre il monitoraggio continuo rafforza la capacità di risposta rapida agli incidenti. L'automazione snellisce i processi, riduce gli errori e promuove una qualità costante. Il DevOps moderno (noto anche come DevSecOps) non si limita ad adattarsi al cambiamento, ma prospera in esso, allineando il software alle necessità attuali e agli obiettivi futuri.
- Come possiamo ottimizzare l’utilizzo di diversi strumenti di automazione per aumentare la produttività invece che aggiungere solo ulteriore carico di lavoro ai team IT?
Il passaggio a un modello completamente integrato è un percorso continuo, anche per le organizzazioni più avanzate. Il modello di maturità DevOps è uno degli strumenti che guida questo percorso, aiutando a valutare e potenziare l’integrazione della sicurezza nelle pratiche DevOps.
Una delle principali sfide consiste nell’individuare ed efficientare le aree cruciali nelle pratiche DevSecOps, attraverso valutazioni periodiche, adattamento dei processi e identificazione dei gap. Grazie a valutazioni e miglioramenti continui, le organizzazioni puntano a raggiungere velocità e solidi standard di sicurezza nelle pratiche DevOps, massimizzando così i benefici degli strumenti di automazione e la produttività.
Un tipico processo di automazione basato su DevOps comprende varie operazioni, sintetizzate nell’immagine seguente.
Raccomandiamo alle organizzazioni di concentrarsi su questi elementi del modello di Maturità DevSecOps per valutare la propria maturità e identificare le aree di miglioramento per ridurre il time-to-market e ottimizzare i costi:
- Allineamento Culturale dell’Organizzazione: L’individuazione di un champion, il livello di collaborazione e comunicazione tra i team.
- Agilità di Sviluppo: Capacità di fornire funzionalità incrementali con una frequenza in grado di rispondere alle pressioni del mercato.
- Automazione: Quanto sono automatizzati i processi e quale sia il grado ed efficacia dell’automazione nell’intero ciclo di vita.
- Sicurezza: Integrazione della sicurezza con le altre aree funzionali e nell’intero ciclo di vita.
- Testing: Integrazione delle metodologie di test nei processi generali ed efficacia delle pratiche coinvolte.
- Monitoraggio: Come il monitoraggio è integrato nei processi globali e quanto sia efficace.
- Misurazione Operativa e Conformità: Efficacia operativa, inclusa la governance, che comprende misurazione e conformità.
La DevSecOps Maturity Assessment è uno strumento indispensabile per le organizzazioni che desiderano valutare e migliorare la propria implementazione delle pratiche DevSecOps. Questa valutazione fornisce una panoramica di alto livello sulla maturità operativa di un’organizzazione, specificamente adattata all’utilizzo degli strumenti DevSecOps. Analizza quanto efficacemente l’organizzazione utilizzi queste metodologie al massimo delle loro potenzialità, fornendo indicazioni sulle aree da sviluppare e su quelle già mature.
Conclusioni
Con l’evoluzione continua di DevOps, un’integrazione ragionata, una valutazione costante e il giusto equilibrio tra automazione e competenze umane ti permetteranno di restare sempre un passo avanti.
Prashanth sottolinea l’importanza di adottare una strategia coesa e ricorda che usare più strumenti non porta per forza a risultati migliori. Il successo dipende invece dall’ottimizzazione sia degli strumenti sia dei team che li utilizzano.
Focalizzandosi sulla maturità DevSecOps e allineando l’automazione alla cultura aziendale, i leader DevOps possono costruire un sistema che potenzia la produttività e la resilienza, prosperando davvero anche nel cambiamento più rapido.
Iscriviti alla newsletter di The CTO Club per altre interviste DevOps, strumenti e best practice.
