Recensione de 'DevOps'
In questa recensione, parliamo del volume “DevOps” edito da Apogeo: si tratta di un manuale che insegna l’arte della cultura dell’omonimo movimento, nonché il grande lavoro dietro ad un’organizzazione che decide di adottarlo, e crescere facendo crescere anche i suoi dipendenti.
Un lavoro eccellente -ops, spoiler-, di Fabio Mora, che mi ha convinto a decidere di (ri)leggere questo libro con una prospettiva diversa.
Cosa vedrai
Ranking
Anno 2019 Autore Fabio Mora Genere Manualistica Livello Per tecnici Scorrevolezza 10 / 10 Originalità 10 / 10 Valutazione 10 / 10
Recensione
Premessa: ho letto questo libro due volte, sia in versione e-book che fisica. Evento assai raro -non abbiamo abbastanza tempo per leggere tutti i libri del mondo in una sola vita, figuriamoci leggerne uno più di una volta.
La realtà è che la prima lettura è avvenuta quando il libro era uscito da appena qualche mese: incuriosita dalla tematica che ormai “spopola” nel settore da diverso tempo -ma solo da qualche anno in Italia-, ho deciso di acquistarlo.
L’aspetto che più ho apprezzato del libro è sicuramente la cura con cui è stato scritto: la scrittura è agevole, sempre argomentativa e ricca di spunti di riflessione. Non solo: la cultura di cui questo libro parla, il cosiddetto movimento DevOps, ha radice ben più antica del settore IT, e Fabio non se l’è fatto sfuggire.
I primi capitoli sono infatti dedicati proprio a questa ricchezza di lessons learned che l’industria di ogni genere ha raccolto negli ultimi due secoli: non a caso, molti dei filoni che derivano da questo movimento, provengono da campi completamente diversi da quello informatico.
Cosa c’entra la Toyota con l’informatica?
Eppure, questo livello di applicazione di una sorta di filosofia informatica ha fatto sì che nel settore nascessero delle figure professionali vere e proprie che riescano a standardizzare i processi attraverso i quali vengono prodotti dei servizi o dei beni con il massimo della resa e il minimo dello spreco.
L’autore parte infatti con un contesto storico molto ben delineato di tutto quello che è il movimento prima di essere tale e della sua evoluzione nel tempo: cosa vuol dire che è un’organizzazione è DevOps? Cosa vuol dire automatizzare? Come intraprendere questo percorso?
Il concetto di valore è il cuore pulsante del libro: Fabio decide di legare il contesto più teorico della cultura DevOps e quello più pratico mostrando la vera faccia di questo movimento: il valore che ogni servizio produce per l’utente finale, il valore dello sviluppo, e soprattutto il valore delle persone.
L’idea di valore, come riporta Fabio, in economia classica ha un significato ben preciso: si attribuisce a un bene in almeno due momenti distinti, ossia per scambiarlo, e per utilizzarlo. Si tratta di un’affermazione molto semplice, ma densa di significato.
Fermatevi a pensare a tutte le volte che qualcuno vi ha chiesto di sviluppare, -in qualche modo-, un prodotto senza averlo mai definito o descritto in maniera formale: quanto tempo avete impiegato a implementarlo? Quanto tempo impiegato a correggerlo in base alle richieste effettive? E soprattutto, quanto per manutenerlo dopo un tempo x che il prodotto veniva utilizzato?
La realtà, è che non esiste una risposta univoca su come misurare il valore: questo dipende molto dalle esigenze dell’utente finale e anche dalla domanda.
Il capitolo 5 è quello che sicuramente ho apprezzato di più proprio per aver eviscerato tutto ciò che si nasconde dietro al software e al suo sviluppo, ma la parte pratica non è da sottovalutare: l’autore mostra infatti come implementare un flusso DevOps passo dopo passo, senza dare per scontato nulla.
Come lavorare con Git, utilizzare Jenkins per fare Continuous Integration, sfruttare la potenza di Docker, e molto altro ancora. Tutti strumenti che richiedono molto lavoro, ma che rendono le attività che facciamo consistenti, efficienti e soprattutto, di valore.
La cultura DevOps insegna una grande lezione: lavorare nel settore significa imparare, studiare e misurarsi continuamente. Non a caso, di recente, grazie a diversi interventi a cui ho assistito, il concetto di Continuous Improvement prende sempre più largo nel settore.
Sarà un caso?
Lezione imparata
DevOps nasce con la necessità di far evolvere rapidamente i software garantendo bassi tempi di ripristino e certezza dei deploy, eliminando di fatto tutti i bias culturali tra sviluppatori e sistemisti.
L’importanza del feedback: negativo o positivo che sia, porta sempre ad una crescita a vantaggio del prodotto e di chi lo utilizza e sviluppa.
Cambiare prospettiva strategica ricordando che, nel mercato, è il cliente che produce bene, e il settore IT è il mezzo con il quale lo ottiene.
Quotes
“Per adottare DevOps è indispensabile mettere da parte le barriere e costruire un clima positivo e di collaborazione. Se pensiamo ad un prodotto come frutto di un lavoro in team, tutti i componenti (dev, ops, QA e manager) dovrebbero avere interesse a raggiungere un risultato e a mantenerlo nel tempo. […] La differenza […] rispetto ai metodi tradizionali è la corresponsabilità tra dev e ops nei confronti del prodotto in produzione.”
Disponibile su Amazon