TUTTI GLI ARTICOLI  >  Cloud Transformation

Metodologia DevOps: come funziona e perché è fondamentale per le Direzioni IT

10 settembre 2020 / Di Redazione Osservatori Digital Innovation / Nessun commento

Quando le funzioni di Development e Operations si incontrano, nasce il DevOps, la metodologia agile di sviluppo software basata sull’integrazione e la multidisciplinarietà, che aiuta la Direzione IT a farsi fulcro dell’innovazione.

Per perseguire questo obiettivo, l’IT deve riuscire a gestire i progetti digitali garantendo time-to-market ridotti ed elevata qualità dell’output. Deve cioè velocizzare il rilascio del software, anticipandone e riducendone i problemi e migliorando l’allineamento alle aspettative del business. In che modo? Rompendo i soliti compartimenti stagni e favorendo l’integrazione tra sviluppatori e area Operations, con team autonomi, responsabili, votati al confronto, in grado di accelerare tempi di progettazione, testing e rilascio.

L’introduzione di una metodologia DevOps all’interno dell’azienda, dunque, è una sfida culturale in cui diventa fondamentale modificare il modo di lavorare e le gerarchie tradizionali.

 

Cosa si intende per DevOps

Ma in cosa consiste esattamente una metodologia DevOps? Possiamo definirla una filosofia di lavoro che, attraverso la rottura dei silos tra Sviluppo (Dev) e Operations (Ops), aumenta la collaborazione tra i team e, anche grazie ad una focalizzazione al cliente e all’utilizzo di nuovi strumenti di automazione, è in grado di abilitare l’azienda a un’erogazione di servizi con maggiore velocità e affidabilità.

Il DevOps rappresenta in un certo qual modo l’estensione dei principi Lean e Agile all’intera organizzazione secondo un principio di end-to-end. Inizialmente, l’Agile nasce in contrapposizione alle tradizionali metodologie di sviluppo “waterfall” (“a cascata”) delle quali cercava di superare i limiti proponendo un approccio iterativo ed incrementale che velocizzasse il raggiungimento dei risultati.

 

DevOps: oltre i limiti dei tradizionali modelli

In particolare nel mondo dello sviluppo software, i due ruoli coinvolti, ovvero Developer e Operations, tradizionalmente lavorano in modo sequenziale: lo sviluppatore concepisce e sviluppa il software fino alle fasi di rilascio, a valle delle quali la responsabilità per l’effettivo funzionamento dell’applicazione è in mano alle Operations. Questa modalità a cascata di gestire il ciclo di vita del software, unita ad una mancanza di strumenti di automazione, comporta continui ricircoli e disservizi, nonché malcontento a livello organizzativo.

Il DevOps cerca di superare questi limiti promuovendo due aspetti:

  • una modalità di lavoro in cui queste due figure siano effettivamente un team e si confrontino continuativamente nelle fasi di pianificazione, sviluppo, rilascio e gestione del software;
  • l’utilizzo di strumenti di automazione che permettano una più rapida identificazione dei problemi del software e realizzazione delle attività di rilascio in produzione.

 

Come funziona il modello DevOps

modello di funzionamento devopsSi può immaginare la catena distributiva del software in DevOps come un circolo infinito in cui le diverse fasi (Collaboration, Integration, Deployment, Operations, Monitoring) si concatenano in maniera continuativa e fluida supportate da specifici strumenti di automazione delle attività. Ad esempio:

  • Collaboration: strumenti di gestione del codice che tengono traccia delle modifiche realizzate nel tempo e delle diverse versioni, richiamandole al bisogno e permettendo agli sviluppatori di lavorare in modo concorrenziale e parallelo.
  • Continous Integration: strumenti per l’automatizzazione delle fasi di integrazione del codice e di testing, da un punto di vista funzionale e prestazionale, ogni qualvolta il software venga modificato (grazie ad un repository condiviso).
  • Continous Deployment: strumenti per l’automatizzazione del rilascio software in produzione che eseguono procedure standardizzate di configurazione delle infrastrutture, distribuzione del software e testing.
  • Continous Operations: strumenti che permettono di gestire la manutenzione del software e dell’hardware, parallelizzando le versioni, in modo che non generino disservizi per l’utente.
  • Continous Monitoring: strumenti di monitoraggio del software in produzione e conseguente gestione di eventuali feedback e problematiche.

 

Il ruolo del Cloud nell’adozione del DevOps

Nel progettare un percorso di adozione del DevOps, il Cloud può rappresentare un potente alleato, in quanto nativamente predisposto da un punto di vista di strumenti e architetture. Non è un caso che il 66% delle aziende che utilizza metodologie DevOps ha iniziato ad utilizzarle proprio in ambienti Cloud. Inoltre, il 61% di chi utilizza questa metodologia sta portando avanti strategie Cloud e DevOps in modo strettamente correlato.>

In particolare, il modello infrastrutturale del PaaS (Platform as a Service) mette a disposizione ambienti di sviluppo performanti, pronti in tempi rapidi e muniti di strumenti pre-configurati di gestione del ciclo di vita del software, ponendosi come layer tecnologico base su cui implementare strategie DevOps su larga scala.

Ad oggi tuttavia, secondo i dati dell’Osservatorio Cloud Transformation, solo il 36% delle aziende ha adottato DevOps, molte delle quali in maniera sporadica o comunque incompleta. Un’adozione così limitata non permette ancora di sfruttare quegli elementi di agilità che la nuvola mette a disposizione. Gestire quindi in modo sinergico le strategie Cloud e DevOps in azienda può essere il fattore chiave per aumentare la pervasività di queste due trasformazioni, dando quella spinta dall’alto che ancora manca per rendere l’IT veramente agile e pronto a promuovere la trasformazione digitale.

"Cloud e DevOps: nuove competenze, modalità di lavoro e strumenti per la direzione IT"

VAI AL WEBINAR

Redazione Osservatori Digital Innovation

Redazione Osservatori Digital Innovation

Gli Osservatori Digital Innovation della School of Management del Politecnico di Milano nascono nel 1999 con l’obiettivo di fare cultura in tutti i principali ambiti di Innovazione Digitale. Oggi sono un punto di riferimento qualificato sull’Innovazione Digitale in Italia che integra attività di Ricerca, Comunicazione e Aggiornamento continuo.