Cosa significa questo ennesimo acronimo informatico?
Dev = Developer (Sviluppatore, programmatore)
Ops = Operation (Tecnico sistemista)
Nell’IT tradizionale queste due figure lavorano in quello che si definisce modello a “silos”: gli sviluppatori da una parte producono codice e, dall’altra i sistemisti si occupano di rendere disponibili ai fruitori finali gli applicativi.
Oggi i livelli di complessità raggiunti dalle tecnologie “impongono” che queste due figure cooperino strettamente.
Indice
Cosa si guadagna a sviluppare in modalità DevOps?
I vantaggi dell’approccio DevOps sono tanti, ma i più significativi sono:
- Abbattere del 20% il rilascio applicativo
- Ridurre del 30% gli errori
- Ridurre del 30% la risoluzione dei bug
Ovviamente come, e forse più ancora che nella metodologia Agile, per portare “in casa” DevOps è necessario prima di tutto impostare un cambiamento culturale.
L’introduzione in azienda di DevOps inizia dalla formazione della parte manageriale e dalla definizione di nuovi processi sia a livello strategico, che a livello pratico.
L’approccio della metodologia DevOps, oltre che sui dettami dello sviluppo “Agile”, si basa sull’individuazione di strumenti e processi che facilitino il passaggio dal mondo dello sviluppo, per definizione progressista e sperimentatore, a quello dei sistemi sicuramente più conservatore e istituzionalizzato.
Un approccio molto utile per procedere sulla strada del Continuous Delivery è sicuramente la produzione di container.
Ma cosa sono i container?
Un container è sostanzialmente una virtualizzazione a più alto livello rispetto al sistema operativo. Di fatto con i software per realizzare container (in Max Mile usiamo Docker), sfruttando il kernel del sistema operativo si riesce a condividere in maniera più efficiente le risorse a nostra disposizione.
Non solo, una virtualizzazione di questo tipo rende di fatto indipendente il sistema operativo dai framework di sviluppo, dalle librerie software e da tutto quel set di strumenti che tipicamente gli sviluppatori installano “allegramente” sulle proprie macchine e poi chiedono ai sistemisti per la messa in produzione. In questo modo i sistemisti potranno presidiare la loro area “core” senza preoccuparsi (più di tanto) delle interazioni potenzialmente “destabilizzanti” generate dall’installazione di nuovo software e gli sviluppatori non saranno costretti a voli pindarici per far funzionare quello che hanno programmato con ciò che hanno a disposizione sul server di produzione.
La produzione di container aiuta quindi lo sviluppatore a trasportare il proprio codice dalla propria postazione “Public Cloud” riducendo in maniera sostanziale il “Time to Market”.
Il concetto di fondo verso cui ci porta la metodologia DevOps è quello di creare una vera e propria “Digital Factory”. Abbattere le barriere che sono sempre esistite tra chi sviluppa e chi manutiene i sistemi è una rivoluzione epocale.
Ponendo alla base dello sviluppo l’approccio TDD (Test Driven Develop) si potrà fruttare al meglio le indicazioni della metodologia “Agile” parzializzando sempre più i rilasci e trasformando la produzione di un nuovo software in qualcosa di molto simile ad una costruzione “Lego”. Ogni mattoncino andrà al suo posto senza incontrare ostacoli e garantendo di essere prodotto nel più breve tempo possibile.
Software più longevi, adattivi e facili da amministrare; questo è il futuro di tutti coloro che decideranno di scommettere su questo nuovo approccio.
Ricordiamo però che le grandi innovazioni sono “supportate” dalla tecnologia ma sono “fatte” prima di tutto dalle persone!
Contattaci per scoprire come possiamo fare la differenza insieme!