Secondo studi recenti il mercato DevOps ha superato i 7 miliardi di dollari nel 2021 ed è in costante crescita. In questo articolo entriamo nel cuore della metodologia DevOps e cerchiamo di capire perché sempre più aziende ne stanno adottando le pratiche.
Cosa si intende per Metodologia DevOps
La metodologia DevOps rappresenta un nuovo modo di lavorare dove persone, processi e tecnologia operano in un continuum con l'obiettivo di portare valore all’organizzazione.
La parola DevOps nasce dalla combinazione del termine Dev (in riferimento alle attività di sviluppo/coding) e Ops (in riferimento alle attività di operation richieste dagli applicativi nei vari stage di realizzazione).
Benché l'adozione delle procedure DevOps automatizzi e ottimizzi i processi tramite la tecnologia, sono le persone che determinano il successo della metodologia DevOps. Le persone che incarnano il management devono introdurre la cultura DevOps senza friction, mentre le persone che lavorano nei vari team aziendali devono aprirsi al cambiamento ed essere disposte a rinnovare i propri processi.
I principi della metodologia DevOps
Per stabilire una cultura DevOps in azienda sono necessarie profonde modifiche al modo in cui le persone lavorano e collaborano e il rispetto condiviso di una serie di principi fondamentali. Vediamoli di seguito.
Collaborazione, visibilità e allineamento
Uno degli aspetti fondamentali della cultura DevOps è il principio della collaborazione tra i team, che inizia dalla visibilità di flusso di lavoro. Diversi team, ad esempio quelli addetti a sviluppo e operations, devono condividere i rispettivi processi DevOps, le priorità e le preoccupazioni. I team devono inoltre pianificare insieme il lavoro e allineare obiettivi e indicatori di successo correlati al business.
Cambiamenti di ambito e responsabilità
Grazie all'allineamento, i team vengono coinvolti in fasi aggiuntive del ciclo di vita dello sviluppo dell'applicazione, non solo nelle fasi strettamente collegate ai rispettivi ruoli. Ad esempio, gli sviluppatori diventano responsabili non solo dell'innovazione e della qualità della fase di sviluppo, ma anche delle prestazioni e della stabilità offerte dalle loro modifiche nella fase operativa. Al tempo stesso, i responsabili delle operazioni IT devono includere governance, sicurezza e conformità nella fase di pianificazione e sviluppo.
Cicli di rilascio più brevi
I team DevOps prediligono cicli di rilascio più brevi. In questo modo semplificano la pianificazione e la gestione dei rischi perché il progresso è incrementale. La riduzione del ciclo di rilascio consente di avere un sistema più stabile. Inoltre, permette alle organizzazioni di adattarsi e reagire all'evoluzione delle esigenze dei clienti e alla pressione della competizione.
Apprendimento continuo
I team DevOps a prestazioni elevate si concentrano sulla crescita. Falliscono e rispondono immediatamente agli errori e incorporano le lezioni apprese nei processi, migliorando continuamente il flusso di lavoro, incrementando la soddisfazione dei clienti e accelerando l'innovazione e l'adattabilità al mercato.
Per approfondire ti consigliamo la lettura della nostra guida completa sul tema DevOps.
LEGGI ANCHE:
Cos'è GitOps e quando adottarne le pratiche?
Cos’è Infrastructure as code e quali sono i vantaggi?
Perché i team di sviluppo e operation devono collaborare?
I team che riescono a cambiare mindset e adottare sia la cultura sia le pratiche tecnologiche tipiche del modello DevOps sono in grado di migliorare le proprie prestazioni. In altre parole riescono a portare maggior valore alla propria organizzazione, sia in termini di evoluzione di prodotto, sia in termini di miglioramento di funzionalità esistenti. In ultima battuta, le aziende che utilizzano modalità di sviluppo basate sulla metodologia DevOps riescono a soddisfare meglio le esigenze della propria customer base.
È evidente che il cambio di mentalità e di processi impatti direttamente sulla competitività dell'organizzazione.
I benefici fondamentali dall’adozione del metodo DevOps sono:
- Accelerazione del time-to-market
- Maggiore capacità di adattamento al mercato e alla competizione
- Maggiore resilienza e stabilità del prodotto
- Miglioramento, in caso di fallimento, della capacità del sistema di tornare operativo
Piattaforme e strumenti utili
Esistono vari strumenti che permettono di supportare un’organizzazione nell’adozione del modello DevOps dal punto di vista tecnologico. Ogni strumento porta con sé vantaggi e svantaggi e funzionalità che sono più o meno rilevanti data una organizzazione. A questo proposito Gartner ha stilato la classifica delle “Value Stream Delivery Platform”, ecco una selezione degli strumenti più noti a supporto della metodologia DevOps:
- GitLab: una piattaforma DevOps completa con licenza Open Source. Potenzialmente è in grado di coprire l'intero ciclo di vita del flusso DevOps: la pianificazione dei progetti, il codice sorgente fino alla CI/CD e relativo monitoraggio.
Utilizzare la piattaforma GitLab consente ai team di velocizzare il ciclo DevOps e aumentare la produttività degli sviluppatori. Questi ultimi possono usufruire di funzionalità molto utili come metriche e insights, strumenti di planning e branching tools, trovi un elenco completo delle migliori features nell’articolo dedicato agli strumenti DevOps.
- GitHub: una piattaforma SaaS cloud-based per un approccio collaborativo alla gestione del codice, anche in questo caso si tratta di uno strumento utile per la gestione di tutto il ciclo di vita del software. La sua evoluzione GitHub Enterprise è studiata per le esigenze delle grandi aziende. Oltre alle funzionalità di gestione del codice mette a disposizione una funzionalità denominata GitHub Action che permette di implementare la CI/CD dei propri applicativi.
- Microsoft Azure DevOps: Suite Microsoft che fornisce a team di ogni dimensione tutti gli strumenti per pianificare, collaborare e per la distribuzione del software. Essendo una suite, al suo interno include prodotti specializzati per supportare nell’end to end del ciclo di vita e rilascio del software, come Azure Repos, Azure Pipelines (motore di CI/CD), Azure Boards, Azure Test Plans (funzionalità di test automatizzato) e Azure Artifacts.
LEGGI ANCHE:
- DevOps tools: la nostra selezione per ogni ambito applicativo
- CI/CD best practice: 4 consigli per i team DevOps
Da DevOps a DevSecOps
La cultura DevOps offre vantaggi in termini di velocità e qualità, ma non garantisce che il valore prodotto sia conforme ai moderni standard di sicurezza. La sicurezza è ormai un tema centrale, ed è qui che si inserisce un nuovo framework: il DevSecOps.
DevSecOps estende l’idea alla base di DevOps e rimuove la separazione tra i team di sicurezza e i team DevOps. In questo modo ottimizza ulteriormente la strategia DevOps automatizzando la sicurezza e implementandola su larga scala.
L’obiettivo è spostare le attività di sicurezza durante il ciclo di vita dello sviluppo e fornire pratiche di sicurezza integrate nella pipeline di CI (Continuous Integration). DevSecOps uscisce sviluppo, sicurezza e operations ed è una delle strategie che abbiamo approfondito nell’ebook gratuito Guida alla Cloud Native Security.
Il futuro del mercato DevOps
Secondo uno studio pubblicato a Marzo 2022, la dimensione del mercato DevOps ha superato i 7 miliardi di dollari nel 2021 e si prevede che registrerà un aumento di oltre il 20% dal 2022 al 2028. Questo indicatore fa capire come sia l’evoluzione tecnologica, sia il cambiamento nel modo di lavorare post pandemia abbiano stimolato metodi di sviluppo sempre più vicini alla metodologia DevOps.
E se è vero che lo studio parla di mercato quindi della crescente adozione di tool e piattaforme DevOps, il tema culturale rimane indispensabile per l’evoluzione delle aziende. Lo confermano i dati diffusi dal Research Innovation Council. Il consiglio dei nove big del DevOps (tra cui Microsoft e CloudBees) ha infatti rivelato che circa il 40% delle organizzazioni crede che il più grande ostacolo nella gestione delle sfide tecnologiche imposte dal COVID-19 sia stato la mancanza di cultura agile (strettamente collegata a DevOps).
In altre parole, la cultura DevOps/Agile aiuta a raggiungere la collaborazione tra team indispensabile per affrontare le sfide tecnologiche. Molte aziende sembrano averlo capito a proprie spese proprio nel periodo dell’emergenza sanitaria.
LEGGI ANCHE: Digital Transformation e resilienza: la lezione del Coronavirus.
Come adottare il modello DevOps in azienda
Portare la metodologia DevOps in azienda non è facile, anche se ne vale la pena. Lo dice anche lo studio che abbiamo citato nel paragrafo precedente, in cui le aziende, interrogate sulle difficoltà nell’adozione dell'approccio DevOps, hanno riportato che la complessità nella sua implementazione è uno dei principali ostacoli.
Che non sia una passeggiata lo si capisce intuitivamente. Del resto come si introduce contemporaneamente una nuova cultura aziendale, una modalità di lavoro diversa e un nuovo stack tecnologico?
Non esiste una risposta adatta a tutte le organizzazioni e a contentesti di dimensione diverse. Tuttavia, esistono delle best practice e linee guida ormai istituzionalizzate che ci aiutano in questo nuovo percorso.
Se ti interessa calare la metodologia DevOps nel tuo contesto aziendale potresti iniziare leggendo l’articolo Le best practice DevOps da adottare subito in azienda. E poi, perché no, approfittare di una call gratuita con un esperto del framework DevOps per approfondire ulteriormente.
- Post precedente
- Vedi tutti i post
- Post successivo