Il sito DataLabor.Com utilizza i cookie per offrire una migliore esperienza di navigazione e per fini statistici anonimizzati. Consulta l'informativa sulla privacy oppure continua la navigazione del sito cliccando sul bottone OK qui a fianco.

Vai alla sezione Chi Siamo

Modello DevOps

DevOps è un nuovo metodo di sviluppo del software basato sulla sinergia fra sviluppatori e addetti ICT che punta a sviluppare in modo più rapido ed efficiente prodotti e servizi software

Il modello DevOps rappresenta un insieme di tecniche e metodologie che riguarda la collaborazione e la comunicazione tra sviluppatori software e professionisti di operations IT, con l’obiettivo di predisporre un ambiente nel quale si riesce a progettare, provare e quindi distribuire software in maniera rapida ed efficiente.

DevOps deriva da Development e Operations, ovvero Operazioni di Sviluppo. Infatti, nasce come filosofia di lavoro nell'apprendere un approccio allo sviluppo del software basato su comunicazione, collaborazione e integrazione tra i Team di sviluppo e i Team di Operations. Tale metodologia prevede interconnessioni tra le due divisioni, quella degli sviluppatori, che provvedono alla creazione del software e scrittura del codice, e quella dei Sistemisti, che gestiscono gli aspetti infrastrutturali e si occupano della stabilità del software.

La metodologia DevOps porta una profonda innovazione tecnologica e culturale all'interno delle aziende, perché se prima i due Team operavano distintamente, ora, grazie alla sinergia tra i due reparti, migliora l'abilità nel gestire e distribuire applicazioni e servizi. Le due figure infatti, lavorando a stretto contatto, riescono a conoscere l'uno il lavoro svolto dall'altro e comunicano direttamente.

Il DevOps supera i "12 principi del Manifesto Agile" proposto nel 2001 che prevedeva un modello di sviluppo focalizzato sull'obiettivo di consegnare al cliente, in tempi brevi e frequentemente, software funzionante e di qualità, in modo da ridurre il rischio di fallimenti, attraverso l'implementazione dei progetti in piccoli passi, chiamati appunto iterazioni.

La metodologia DevOps può essere considerata un miglioramento della metodologia Agile, perché consente la condivisione del lavoro delle due figure professionali, Developer e Operations. Mentre la metodologia Agile si fonda su principi come valori, principi, metodi e pratiche, il metodo DevOps aggiunge anche la sezione Strumenti. Infatti, gli strumenti assumono un'importanza notevole, in quanto sono il mezzo che le due figure utilizzano per lo sviluppo ed il test del software.

Il DevOps lavora attraverso un'integrazione continua (CI), ovvero nel processo di sviluppo i test su una porzione di codice sono continui e automatici, e una distribuzione continua (CD), cioè il processo di messa in produzione del codice validato dopo il dovuto collaudo diventa automatico. Il vero vantaggio derivante dall'adozione di questa metodologia è l'aspetto della sicurezza che non viene più affidato a un team separato, ma rientra a far parte del modello di sviluppo del software stesso e della sua relativa fase di test.

Il DevOps può essere così strutturato:

  • Pianificazione e misurazione: attraverso un'attenta pianificazione, gestione del processo, monitoraggio, sviluppo e test a preventivo facendo rientrare tutte le implicazioni possibili.
  • Sviluppo e test: innovazione continua attraverso capacità di sviluppo e test collaborativo per l'intera catena produttiva del software, analizzando la struttura del codice, il controllo delle varie versioni e quindi la verifica di questo.
  • Rilascio e ottimizzazione: erogazione continua delle innovazioni attraverso l'automazione dei processi di rilascio e distribuzione del software, eliminando e migliorando i vari sprechi che si possono creare.
  • Monitoraggio e ottimizzazione: apprendimento continuo e recepimento dei feedback dai clienti interni ed esterni, attraverso il monitoraggio e l’ottimizzazione delle innovazioni generate dal software.

L'approccio DevOps è la dimostrazione che solo attraverso collaborazione e comunicazione all'interno dei team, Developers e Operations, è possibile stare al passo con l'innovazione, inoltre, la collaborazione in tutto il ciclo di vita del prodotto porta sicuramente a un miglioramento della qualità del prodotto stesso e a una maggior velocità dei tempi di realizzazione.