Sebbene il termine DevOps stia oramai girando su internet da qualche anno, una gran parte dei professionisti del mondo IT non si è ancora fatta una idea chiara di cosa veramente significhi. Come tutti i movimenti grassroots, DevOps tende a rifuggire da una unica definizione standardizzata.
Il presupposto da cui è partito tutto è talmente semplice che sembra quasi banale: sviluppatori (developers) e sistemisti (operations team) si trovano sullo stesso lato della barricata e quindi devono cessare le ostilità e rimboccarsi le maniche per raggiungere gli obiettivi comuni. Durante il (lungo) discorso di apertura dell’edizione 2011 del convegno Large Installation System Administration, Ben Rockwood ha identificato a modo suo una sintesi efficace:
Beer is the best tool to implement DevOps.
Che esistano frizioni tra queste due categorie di professionisti potrà ad alcuni sembrare strano, ma esiste un vero conflitto tra l’esigenza di “stabilità”, che è uno dei principali obiettivi del sistemista, e la spinta al cambiamento, che è peculiare di chi scrive software e ha la necessità di aggiungere nuove funzionalità. Come potete immaginare, questo dualismo ha prodotto situazioni di stallo talmente esasperate da mettere in seria difficoltà anche aziende molto strutturate.
L’obiettivo che DevOps si è posto, quindi, è stato rimescolare le carte, cercando di mettere in comune metodologie e strumenti, andando a prendere ciò che di più innovativo i rispettivi campi avevano prodotto. Strumenti quali software versioning, monitoraggio dei servizi, principi dello sviluppo Agile, testing del software, configurazione automatica dei server si sono contaminati producendo nuovi approcci. Uno di questi è Infrastructure as Code. L’idea è che la configurazione di server e apparati di rete, così come quella di tutto il resto dell’infrastruttura, sia esprimibile sotto forma di codice e come tale essere versionata, condivisa, rivista e corretta e soprattutto eseguita – come un qualsiasi software – dando un risultato sempre ripetibile.
DevOps si sta affermando perché per alcune realtà – pensate a startup innovative come Github ma anche ai big player dei social network come Facebook e Twitter – non è più pensabile ragionare in termini più tradizionali: non se lo potrebbero permettere. Il sistemista “artigiano” che preleva gli artefatti software dagli sviluppatori, con le relative istruzioni per l’installazione, e che li mette in produzione sui server può forse avere un senso in piccole aziende, ma non certo in realtà come Facebook, dove i server sono decine di migliaia e ogni giorno vengono mandate in produzione nuove decine di bugfix e funzionalità.
La rivoluzione DevOps è in atto e come è avvenuto negli anni zero per il movimento Agile, cambierà le cose in modo irreversibile e decisamente in meglio. È il momento di smettere di guardare con diffidenza il vostro collega sistemista (o sviluppatore) e di andarci a bere una birra insieme: scommetto che gli argomenti di conversazione non mancheranno.
Un’ultima cosa: se vi interessa approfondire le tematiche DevOps, a ottobre ci sarà un’importante conference a Roma.