NoOps: cos’è e come cambierà l’IT Operation nel prossimo futuro
Il modello NoOps, non tanto come alternativa al DevOps quanto come sua possibile evoluzioneadottabile in taluni casi, è stato coniato da Forresternel 2011, solo due anni dopo l’entrata in scena del DevOps.
Se quest’ultimo ha introdotto metodologie Lean e Agile nello sviluppo del software, spingendo verso un maggiore dialogo fra i team di sviluppatori (Dev) e quelli dell’IT Operation (Ops), nel NoOps la necessità di questa interazione viene meno grazie all’automazione e al cloud computing. Infatti, le tecnologie IaaS (Infrastructure-as-a-Service) e PaaS (Platform-as-a-Service) messe a disposizione dalla nuvola consentono agli sviluppatori di accedere in autonomia alle risorse e agli strumenti che occorrono per creare le applicazioni. Questo non significa, però, che quelli che un tempo venivano definiti sistemisti resteranno senza lavoro. Cambia piuttosto il loro ruolo all’interno di una filosofia, come quella del NoOps, che punta a velocizzare ulteriormente, e a migliorare dal punto di vista qualitativo, il processo di deployment delle applicazioni.
Perché il NoOps è cresciuto durante la quarantena
Il periodo di quarantena che ci siamo lasciati alle spalle ha enfatizzato l’importanza dell’agilità nel campo dell’IT Operation. Un’agilità richiesta da un mercato la cui domanda di applicazioni e servizi digitali non solo è continua ma, durante il lockdown, ha fatto registrare un innalzamento ulteriore nell’asticella delle sue aspettative. La circostanza che anche i team lavorassero in modalità remota ha favorito l’adozione del NoOps quale modello funzionale all’ottimizzazione del tempo e delle risorse dedicate alle Operation. Oltre al cloud, è l’uso dell’intelligenza artificiale e del machine learning a rendere oggi possibile questo cambio di paradigma. Basti pensare alla crescita delle piattaforme AIOps (Artificial Intelligence for IT Operations) che, secondo una definizione di Gartner, a cui si deve l’invenzione del termine, servono a “migliorare e sostituire parzialmente tutte le funzioni primarie dell’IT Operation, compreso il monitoraggio della disponibilità e delle prestazioni, la correlazione e l’analisi degli eventi, l’IT service management e l’automazione”.
AIOps e NoOps: risposta a tutte le esigenze applicative?
È bene sottolineare che le piattaforme AIOps sono strumenti per analizzare e monitorare volumi di dati con una velocità incomparabile rispetto a un metodo manuale, ma non possono sostituirsi al personale IT nella sua capacità di identificazione dei problemi. Analogamente, il NoOps è un approccio in cui questioni di natura sistemistica, quali le risorse di elaborazione e la manutenzione dei server, sono risolte ab origine. Ma non va confuso con un rimedio universale per tutte le esigenze applicative delle aziende. Va comunque ricordato che il NoOps presuppone la sussistenza di piattaforme IaaS o PaaS accessibili a sviluppatori sprovvisti di competenze nell’IT Operation. Di conseguenza, non si presta a essere utilizzato per esempio nel caso di architetture legacy monolitiche, i cui interventi di ammodernamento e di riscrittura del codice contraddirebbero gli obiettivi di implementazione applicativa più celere per cui il NoOps è nato. Che poi sono gli stessi che hanno decretato sinora la fortuna del DevOps.
Tra NoOps e DevOps il legame è più forte delle differenze
Per comprendere il legame, e non la frattura o la “inimicizia”, che c’è fra DevOps e NoOps, va evidenziato che il primo realizza il principio del Continuous Delivery (CD), mentre il secondo lo porta all’estremo, trasformando l’acronimo anche in Continuous Deployment e rendendo automatica la fase di approvazione prima della messa in produzione. Va anche richiamato il fatto che la pipeline Continuous Integration (CI) del DevOps, con cui viene semplificata soprattutto l’attività di testing, vede nel NoOps gli sviluppatori concentrarsi esclusivamente nel loro lavoro, senza preoccupazioni inerenti gli aspetti infrastrutturali. Il che non coincide con un disimpegno dei team operativi. I quali, a loro volta, sono chiamati a contribuire all’innovazione del business aziendale in chiave più strategica, visto che le automazioni di cui si avvantaggiano gli sviluppatori sollevano contemporaneamente anche loro da compiti routinari e a scarso valore aggiunto. Non si tratta, perciò, di optare per il NoOps a scapito del DevOps, quanto piuttosto di ridisegnare assetti di collaborazione dinamica fra team multifunzionali focalizzati sul rilascio di un software sempre più a misura di business.