DevOps: perchè è importante

DevOps è una metodologia, una cultura, un insieme di pratiche che promuovono la collaborazione e la comunicazione tra sviluppatori software e professionisti operations IT, favorendo l’automazione del delivery e dei relativi adattamenti infrastrutturali. DevOps ha l’obiettivo dunque di creare una cultura, un ambiente nel quale progettazione, collaudo e rilascio del software avvengano in maniera dinamica, efficiente e sicura.

La combinazione di software Open Source sempre più affidabili e di infrastrutture Cloud costantemente disponibili ha dato impulso allo sviluppo di nuovi servizi, ad una velocità che fino a qualche anno fa era impensabile e con costi estremamente ridotti rispetto a quelli tradizionali.

L’approccio tradizionale all’interno dei dipartimenti IT è quello di avere un team di sviluppo software, un team per controllo qualità ed un team di operation. Questo modello risulta poco efficiente in presenza di situazioni in cui è necessario rilasciare frequentemente nuovi aggiornamenti o nuove versioni del software, in quanto genera silos e di conseguenza frizioni e problemi di responsabilità. 
L’approccio DevOps si basa sull’adozione di alcune pratiche e valori base:

  1. Continuous deployment: il processo di messa in produzione del codice diventa automatico, una volta superato il collaudo. In questo modo si accelerano i tempi di rilascio. Idealmente ogni fase può durare anche minuti.
  2.  Infrastructure as code: riguarda la possibilità di definire e manutenere l’infrastruttura tramite il codice invece di configurare le macchine manualmente. Questo rende l’infrastruttura estremamente flessibile, ripetibile e scalabile. Questo approccio si rende possibile grazie a tool come Docker, Vagrant, Chef, Puppet e molti altri.
  3. Lean principles: DevOps porta con sè anche i principi agili in ambito Operation, come ad esempio superare i processi IT lenti con approcci agili e più veloci che a loro volta permettono alla Operation, allo Sviluppo e al QA di lavorare efficientemente e in sinergia grazie ad iterazioni brevi e veloci. Inoltre DevOps rappresenta tutto ciò che rompe i silos tra sviluppo, test, deploymente e software operativo.
  4. Experience operating it: i team di sviluppo di servizi su cloud lavorano insieme ai professionisti delle Operation IT. Questo consente agli ingegneri di abilitare servizi cloud, raccogliendo importanti dati operativi e metriche, fondamentali per il processo decisionale e per rendere il servizio più flessibile e più fruibile
  5. DevOps team: ossia un team multidisciplinare che gestisce la definizione e il mantenimento di un’infrastruttura costantemente flessibile (il sistema di gesione del versioning, ad esempio GitHub; il sistema per eseguire il building, ad esempio Jenkins; l’ambiente di sviluppo e gestione deli script di performance, il codice che abilita il previsioning dei sistemi cloud, ad esempio Amazon Web Services).

Il team DevOps deve anche essere presente un ingegnere dedicato alle Performance/Network che sappia eseguire in modo opportuno i test di performance e risolvere le relative problematiche a livello di rete.

 

 

Contatta il nostro Team! Contattaci senza impegno per richiedere maggiori informazioni sui prodotti e servizi, ti ricontatteremo nel più breve tempo possibile.
 I dati che ci fornirai saranno trattati nel rispetto della tua privacy, e non verranno per alcun motivo ceduti a terzi.
Messaggio inviato correttamente.