DevOps: vantaggi, svantaggi e best practice della metodologia

Nata per velocizzare lo sviluppo di applicazioni, la metodologia DevOps viene ora anche applicata ai progetti di business, anche in modalità data-driven. Cosa bisogna sapere per cominciare.

devops

Entro i prossimi 5 anni, le figure specializzate più richieste saranno i Data Analyst, seguiti dagli sviluppatori web/mobile e dagli esperti di soluzioni DevOps, dichiara la Hayes Salary Guide 2018.

Secondo Service Now, in Italia a fine 2017 la percentuale di aziende già impegnate in qualche forma di DevOps era di ben il 94%, ma solo il19% dei casi mostrava impatto sui processi.

Seguire queste ultime tendenze è quindi interessante sia per l’azienda, sia per il professionista.

Leggi anche: Le nuove professioni dell’IT tra Data Analyst e DevOps (Hayes Salary Guide)

Come lo stesso nome suggerisce, l’approccio DevOps fonde insieme sviluppo (development) ed operazioni (operations). Nasce per rendere più veloce e controllabile lo sviluppo e l’implementazione di applicazioni in azienda enfatizzando la collaborazione tra team di sviluppo e quello delle operations, ossia i sistemisti che gestiranno le applicazioni dopo il loro rilascio.

Nel modello tradizionale di sviluppo questa collaborazione è limitata: chi sviluppa recepisce all’inizio dello sviluppo i requisiti che il software deve soddisfare, scrive il codice, produce l’applicazione e la testa in un ambiente controllato per poi rilasciarla. Molti problemi che impediscano all’applicazione di operare come previsto si evidenziano solo a questo punto, dopo il rilascio. Anche molti di quelli che potevano essere evidenziati direttamente dal team delle operations, perché legati al funzionamento quotidiano dell’infrastruttura IT e dei suoi componenti.

DevOps

L’approccio DevOps mira a eliminare questa distonia introducendo una più stretta collaborazione fra i due team e si è affermato con la diffusione dello sviluppo per le applicazioni cloud e delle architetture software-defined. In entrambi questi ambiti il software ha una concezione modulare e strettamente integrata con i processi aziendali, perché questi sono sempre più digitalizzati: uno scenario che rende poco efficace il modello dello sviluppo monolitico e sequenziale.

Poiché il metodo enfatizza l’individuazione di responsabilità e la collaborazione dentro il team e tra team, questo approccio sta trovandosi a suo agio anche in altri ambiti che necessitino di processi digitali, veloci e controllabili, come per esempio il cloud computing, la agile methodology e i big data.

DevOps e cloud

Il cloud raddoppia l’effetto DevOps nel software delivery, almeno secondo una ricerca Freeform Dynamics sviluppata all’inizio del 2017. Nel settore specifico il cloud in azienda (senza DevOps) migliorerebbe i tempi del 67%, l’approccio DevOps (senza cloud) dell’81%, mentre la combinazione tra cloud e DevOps di ben il 129%.

DevOps e metodologia Agile

La caduta del muro tra development e operations ha rimappato molte altre funzioni, trovando nuove contiguità che prima della fusione DevOps non erano così immediate. L’approccio DevOps amplifica l’effetto dell’agilità. Senza questa integrazione, infatti, i vantaggi nello sviluppo della applicazioni verrebbero rallentati se non vanificati. L’adozione delle metodologie Agile e DevOps deve essere guidata dal business, integrata tra i vari team e iterativa. Deve inoltre sfruttare le analisi e i loop di feedback appropriati, per consentire miglioramenti rapidi e costanti, a ogni livello.

Leggi anche: Far bene l’Agile fa bene al business, anche in Italia

Gli svantaggi dell’approccio DevOps

La filosofia DevOps potrebbe, in alcuni casi, avere delle controindicazioni. Dovendo coinvolgere più persone, aumentano la complicazioni nell’organizzazione e gestione delle riunioni del team.

Siccome il team è composto da persone eterogenee, ciascuna specialista in campi diversi (sviluppo, gestione sistemi, erogazione dei servizi, responsabili di business…), potrebbe essere necessario impiegare del tempo per spiegare concetti che per alcuni sono scontati, o che in ogni caso non interessano tutti i componenti del gruppo. Per questo, è importante ridurre il team al minimo e organizzare semmai riunioni in cui partecipano solo le persone direttamente coinvolte nella particolare fase del progetto trattata nel meeting.

devops

La flessibilità nel poter cambiare direzione al progetto in ogni momento, può inoltre portare all’aggiunta in corso di così tante modifiche da costringere a rimandare le scadenze dei rilasci. È quindi opportuno tenere traccia dell’avanzamento dei lavori e definire milestone inderogabili, fissando a un certo punto le specifiche di ogni fase. A questo scopo, e per valutare l’andamento di un processo, esistono quattro metriche principali.

Leggi anche: Tendenze nei DevOps

DevOps, Big Data e Data Driven DevOps

La più recente integrazione al modello DevOps è orientata alla data scienze e ad un pesante approccio data driven. Questo recente sviluppo, spesso citato come Data-Driven DevOps, merita un minimo di dettaglio.

Si parte dalla Data-Driven Culture, nella quale ogni figura coinvolta nel processo decisionale basa ogni sua scelta su dati certi e metriche condivise da tutti. Le culture basate sui dati quantificano il maggior numero possibile di obiettivi e lavorano in tempo reale.

L’approccio DevOps, che favorisce una rete di collaborazione più piatta all’interno di team interfunzionali piuttosto che modelli gerarchici tradizionali, è particolarmente adatto a questo approccio. I team di sviluppo e quelli operativi lavorano fuori dal silo delle informazioni e condividono costantemente la conoscenza. La natura flessibile e collaborativa di DevOps amplifica la collaborazione tra le aree di competenza.

Leggi anche: Come il DevOps migliora i risultati di business

In una cultura basata sui dati, ciascuna decisione viene presa analizzando i dati relativi. Ciò significa che i decisori hanno accesso ai dati e agli strumenti per analizzarli. Un’infrastruttura DevOps offre al team un flusso di lavoro collaborativo per agire in base ai dati, aumentando l’efficienza e l’agilità.

Quattro metriche per i DevOps

Ci vuole tempo per costruire una cultura basata sui dati, soprattutto in un sistema che parte da segnalazioni o “incidenti”. La risposta agli incidenti è essenziale per l’attività ed è un ambiente ideale per il miglioramento del team. La scelta delle metriche di mappatura dell’IT sul business è essenziale. Le metriche principali sono quattro:

  1. Conteggio degli incidenti grezzi
    È necessario conoscere il numero di incidenti che ogni squadra incontra nel periodo di riferimento. Si monitorano i picchi, che indicano un punto debole nel team o l’inadeguatezza degli strumenti.
  2. (Mean) Time to Acknowledgment
    Il Time to Acknowledgment è un buon modo per misurare le prestazioni individuali.
  3. Escalation
    La gestione degli incidenti comprende il modo in cui vengono allertate le singole persone o funzioni e i ritardi tra gli allarmi stessi. Per la maggior parte delle organizzazioni che utilizzano software di gestione delle operazioni IT, le escalation sono rare. Sono un segno di inadeguatezza: o un rispondente non è stato in grado di arrivare a un incidente in tempo, o che non sono disponibili strumenti o competenze per gestirlo.
  4. (Mean) time to resolution
    Gli incidenti aumentano con l’attività e diminuiscono con l’organizzazione. Dopotutto, la metrica di base più importante per l’azienda è il tempo medio di soluzione dell’incidente. È anche uno dei numeri più complessi da maneggiare.

Evitare lo stallo decisionale nel DevOps

Un problema basilare dell’analisi dei dati è il rumore di fondo. La sua presenza rende pesante separare le informazioni utili da quelle inutili. Un team DevOps guidato dai dati riduce il rumore e la conseguente fatica di analisi grazie a metriche orientate al business.

Partire dai dati ha un immediato vantaggio nello sviluppo del processo: l’individuazione delle responsabilità dirette e collegate è chiara e immediata e il manager sa a quale team o professionista rivolgersi per ogni punto carente.

È qui che s’innesta l’importanza della cultura DevOps applicata ai dati. Grazie a metriche chiare, infatti, la risposta agli incidenti è sotto controllo e viene migliorata continuamente.

È necessario collegare le metriche con specifici obiettivi aziendali, incoraggiando i team ad agire, prendere decisioni data-driven e agire in base a tali decisioni.

Le metriche sono un mezzo per capire come migliorare i processi futuri, non per assegnare responsabilità di imprecisioni passate. Un’analisi errata porterebbe alla paralisi del processo decisionale: bisogna evitare il tipico stallo che proviene dal tentativo di lavorare con troppi dati in un momento troppo anticipato.

Leggi anche: DevOps: 10 consigli per lanciare al meglio un progetto

Strumenti e framework per DevOps

L’approccio DevOps richiede ovviamente l’uso di sistemi di sviluppo e gestione delle applicazioni più integrate rispetto al passato e che abbiano anche recepito i modelli di Agile Development e Continuous Delivery, ambiti strettamente collegati ma distinti tra loro.

Alcuni software vendor hanno presentato piattaforme per DevOps che cercano di raccogliere tutte le funzioni necessarie. Tra le aziende impegnate in DevOps troviamo RedHatCA TechnologiesHPE e molte altre. E’ anche possibile adottare il modello DevOps facendo cooperare moduli distinti e più mirati, molti dei quali vengono dal mondo open source.

DevOps e sicurezza

Molti professionisti di cybersicurezza di aziende che fanno uso di DevOps nel cloud pubblico ritengono che si stia privilegiando la velocità a scapito della sicurezza. Per il 72% la velocità dell’adozione del cloud pubblico sta infatti introducendo prevenibili rischi di sicurezza negli aggiornamenti software.

C’è infatti preoccupazione tra i professionisti su come riuscire a far viaggiare la sicurezza alla stessa velocità e frequenza di aggiornamento di app e servizi DevOps nel cloud pubblico. Abbiamo pubblicato qui i risultati di una ricerca su DevOps e Cybersecurity.

Kubernetes: come stanno cambiando la sicurezza e il ciclo di vita delle applicazioni

Kubernetes: come stanno cambiando la sicurezza e il ciclo di vita delle applicazioni

Red Hat analizza la situazione attuale della sicurezza legata all’adozione di Kubernetes, tra strategie, incidenti e preoccupazioni aziendali.  »

Francesco Destri // 22.07.2024
Ricerca Cisco: gli sviluppatori sono più impegnati a fare debug che innovazione

Ricerca Cisco: gli sviluppatori sono più impegnati a fare debug che innovazione

Per gli sviluppatori la velocità con cui l'innovazione procede non è sostenibile, a meno che le aziende non dotino i team IT degli strumenti necessari per sostenere tale ritmo.  »

Francesco Destri // 23.05.2024
Red Hat Developer Hub promette di superare i colli di bottiglia del DevOps

Red Hat Developer Hub promette di superare i colli di bottiglia del DevOps

Red Hat Developer Hub punta ad accelerare il percorso dallo sviluppo alla produzione grazie a una maggiore produttività e collaborazione e riduce il carico cognitivo dei team ingegneristici.  »

Francesco Destri // 17.01.2024
Automazione IT aziendale guidata dall’IA con Red Hat e IBM watsonx

Automazione IT aziendale guidata dall’IA con Red Hat e IBM watsonx

Red Hat Ansible Lightspeed con IBM watsonx Code Assistant è un servizio di IA generativa che aiuta le aziende ad accelerare l’automazione IT in tutta l’organizzazione.  »

Francesco Destri // 17.11.2023
Aulab lancia il corso Hackademy Cybersecurity DevSecOps Expert

Aulab lancia il corso Hackademy Cybersecurity DevSecOps Expert

Con Hackademy Cybersecurity DevSecOps Expert, Aulab dà il via dal 19 giugno al primo corso nazionale sulla professionalizzazione dei developer di domani.   »

Francesco Destri // 30.05.2023
Il mainframe si apre al cloud: tecnologie e pratiche

Il mainframe si apre al cloud: tecnologie e pratiche

Come mettere a frutto i dati aziendali critici, custoditi ed elaborati nei mainframe, attraverso i servizi cloud moderni? La prospettiva di IBM, raccontata a CIO Italia da Francesco Casa, Vice President di zStack per l’Italia.  »

Andrea Grassi // 12.12.2022
DevSecOps: proteggere ogni livello del ciclo di vita dello sviluppo software

DevSecOps: proteggere ogni livello del ciclo di vita dello sviluppo software

Il modello DevSecOps evolve i concetti DevOps con strumenti e procedure che incorporano la sicurezza in ogni livello del ciclo di vita dello sviluppo software. Ecco perché sempre più aziende lo stanno adottando.  »

Infrastructure as code: automatizzare la creazione dell’infrastruttura

Infrastructure as code: automatizzare la creazione dell’infrastruttura

Adottare un modello infrastructure as code è un modo intelligente e moderno per eseguire il provisioning del software nel cloud. Ecco cos'è e perché andrebbe utilizzato.  »

La “nuova” NetApp spinge forte su DevOps e CloudOps

La “nuova” NetApp spinge forte su DevOps e CloudOps

Con acquisizioni e nuovi sviluppi, NetApp espande la sua influenza nel territorio del DevOps e delle CloudOps, diventando sempre più un'azienda orientata alla gestione ottimizzata dei dati ovunque essi si trovino  »

Andrea Grassi // 09.11.2021
Red Hat Summit 2021: più integrazione con IBM, Edge e open hybrid cloud

Red Hat Summit 2021: più integrazione con IBM, Edge e open hybrid cloud

Con Watson integrato negli strumenti di data science arrivano i frutti dell’acquisizione IBM, in un mondo che è sempre più strutturato su Open Hybrid Cloud ed Edge computing. In arrivo la versione 8.4 di Red Hat Enterprise Linux  »

Leo Sorge // 28.04.2021
KubeCon 2021: dal 4 al 7 maggio la conferenza su Kubernetes e il cloud-native approach

KubeCon 2021: dal 4 al 7 maggio la conferenza su Kubernetes e il cloud-native approach

Date, prezzi e principali argomenti della convention dell’ecosistema Kubernetes dedicata al cloud-native approach, con oltre trecento presentazioni sull’argomento.  »

Leo Sorge // 16.04.2021
6 rischi per la sicurezza nello sviluppo software e come affrontarli

6 rischi per la sicurezza nello sviluppo software e come affrontarli

Ecco come i team di sviluppo software possono migliorare la sicurezza e la governance dell'uso di componenti open source, della gestione del codice e dei dati, e della distribuzione dei servizi  »

Zero12: “Lo sviluppo software sartoriale oggi si fa in cloud”

Zero12: “Lo sviluppo software sartoriale oggi si fa in cloud”

La società veneta, SaaS Partner of 2020 di AWS Italia, punta su software-as-a-service su misura, migrazioni cloud e data analysis. Intervista al CEO Stefano Dindo  »

Daniele Lazzarin // 01.02.2021
DevOps e container insieme? Ne guadagnano stabilità e agilità

DevOps e container insieme? Ne guadagnano stabilità e agilità

Red Hat analizza le correlazioni tra DevOps e le piattaforme container e i vantaggi che la loro adozione combinata può portare alle organizzazioni.  »

Francesco Destri // 05.08.2020
Da Atlassian arrivano nuove funzionalità per favorire l’approccio DevOps

Da Atlassian arrivano nuove funzionalità per favorire l’approccio DevOps

Per aiutare i team nell’approccio Dev-Ops, Atlassian ha rilasciato nuove funzionalità, automazioni e integrazioni che consentiranno agli sviluppatori di risparmiare tempo da dedicare al coding e di offrire un maggior valore ai loro clienti.  »

Francesco Destri // 25.06.2020
Compuware: “Insieme a BMC per dare un futuro al mainframe”

Compuware: “Insieme a BMC per dare un futuro al mainframe”

Intervista al CEO di Compuware Chris O’Malley, che spiega le motivazioni dell’acquisizione, l’importanza dell’ecosistema e le prospettive in Europa  »

Daniele Lazzarin // 19.06.2020
Pagina 1 di 3
Condividi