NBCUniversal
Scalabilità del DevOps in una grande azienda IT a più velocità

NBCUniversal utilizza il software IBM® UrbanCode Build e IBM UrbanCode Deploy con IBM Cloud for Skytap Solutions come motore di DevOps, combinando integrazione continua, distribuzione, test, feedback e monitoraggio in un unico workflow automatizzato, collegando processi, cultura e tecnologie all'interno dell'organizzazione.

Sfida di business

NBCUniversal ha cercato di adottare un approccio DevOps allo sviluppo di applicazioni in tutta la sua complessa azienda, che comprende 17 unità di business, al fine di migliorare la qualità del codice, semplificare lo sviluppo e ridurre i costi.

Trasformazione

NBCUniversal utilizza il software IBM® UrbanCode e IBM Cloud for Skytap Solutions per promuovere un approccio DevOps, combinando integrazione continua, distribuzione, collaudo, feedback e monitoraggio in un unico workflow automatizzato.

Risultati Riduzione del 75%
del tempo necessario per il rilascio di nuove applicazioni
Riduzione dei tempi per i test di regressione
da settimane a ore
Accelera
le risposte alle nuove esigenze
Storia di una sfida aziendale
Unire i silos

Fino a poco tempo fa c'era la percezione generale che solo la nuova generazione di organizzazioni cloud-native, quelle concepite per rivoluzionare il mercato e costruite in modo da consentire una rapida innovazione, avessero intrapreso il percorso DevOps. Ma non è così. Per ogni Etsy, Uber o Netflix ci sono decine di aziende affermate, come NBCUniversal, che cercano di ottimizzare il time to market delle nuove applicazioni, di aumentare la qualità del codice delle applicazioni e di ridurre i costi di sviluppo, test e distribuzione attraverso DevOps.

Queste società rappresentano uno spaccato di settori. E indipendentemente dalla complessità dell'organizzazione e dell'IT, stanno adottando un approccio DevOps perché l'agilità, ovvero la capacità di accelerare l'innovazione e rispondere più rapidamente alle esigenze aziendali in costante evoluzione, è fondamentale.

Il percorso DevOps di una grande impresa è probabilmente molto diverso da quello di un'azienda nata sul cloud. Le questioni più significative riguardano il modo migliore per inaugurare un cambiamento culturale diffuso e trasformare processi e paradigmi di lunga data.


NBCUniversal è cresciuta in gran parte attraverso le acquisizioni e, attualmente, comprende 17 singole società e unità di business, compresa la sua impronta internazionale. L'ambiente applicativo caratteristico della maggior parte delle grandi organizzazioni è diversificato e a più velocità, con un mix di ambienti on-premise, privati e di cloud pubblico, con applicazioni aziendali principali integrate con nuove applicazioni web e mobili. Il team DevOps dell'azienda aveva bisogno di colmare l'ampia variabilità in termini di velocità, processi, strumenti, competenze e cultura tra gli sviluppatori di System of Record (spesso mainframe) e gli sviluppatori di System of Engagement (applicazioni basate sul cloud e rivolte ai clienti) per ottenere integrazioni tra questi sistemi.

John Comas, Manager of Platform DevOps di NBCUniversal, è responsabile dei processi e degli strumenti alla base del ciclo di vita dello sviluppo software DevOps (SDLC) di NBCUniversal. "Avevamo bisogno di fornire ai nostri clienti applicazioni con un unico SDLC standardizzato per una serie di motivi: innanzitutto, per ridurre i costi di licenza delle applicazioni eliminando le istanze multiple. In secondo luogo, volevamo fornire un sistema standard, on-premise e consolidato a livello aziendale e migrare su di esso il maggior numero possibile di utenti, in modo da poter standardizzare il supporto e la formazione. Volevamo anche migliorare la qualità del codice sviluppato, e volevamo svilupparlo più velocemente, in modo più efficiente e a costi inferiori", afferma. "Le nostre build e implementazioni presentavano tassi di errore elevati e, poiché i nostri team addetti alle applicazioni eseguivano pochi o nessun test, c'erano release che probabilmente non sarebbero mai dovute entrare in produzione, e ciò provocava numerose interruzioni".

Intraprendere il percorso DevOps è diventato lo stimolo per costruire un workflow tra quattro gruppi che non erano mai stati ben integrati: i team di sviluppo, QA, esecuzione e SDLC. Questo percorso è una questione di tecnologia e mentalità e mira ad accelerare l’innovazione scomponendo processi complessi in unità di lavoro più piccole ed eseguendole in parallelo quando possibile.

Avevamo bisogno di fornire ai clienti delle nostre applicazioni un unico SDLC standardizzato... Volevamo anche migliorare la qualità del codice sviluppato, e volevamo svilupparlo più velocemente, in modo più efficiente e a costi inferiori. John Comas Manager of Platform DevOps NBCUniversal
Storia della trasformazione
Consentire un'innovazione più rapida

Charles Williams, Senior Director of Service Strategy and Collaboration di Comas e NBCUniversal, ha posizionato DevOps internamente come una piattaforma/struttura condivisa per accelerare l'innovazione. La piattaforma IBM UrbanCode—UrbanCode Build (software per automatizzare la creazione di applicazioni) e UrbanCode Deploy (software per automatizzare il rilascio di applicazioni)—funge da motore di DevOps, consentendo a NBCUniversal di combinare integrazione continua, distribuzione continua, test continui, feedback continuo e monitoraggio continuo in un unico workflow automatizzato, collegando processi, cultura e tecnologie in tutta l'organizzazione.

La piattaforma UrbanCode supporta una serie diversificata di ambienti IT e offre funzionalità di audit complete, fondamentali per un'azienda complessa come NBCUniversal. "Con i prodotti UrbanCode siamo in grado di fornire un servizio build-as-a-service per l'organizzazione. Posso riprodurre qualsiasi build che arriva in UrbanCode con un clic di un pulsante", afferma Comas. "Disponiamo di una dashboard unica e unificata in cui si possono vedere tutte le attività. Inoltre, abbiamo dati chiari su tutto: su ciò che è stato costruito, sui file binari relativi a quella build, su ciò che è stato fatto, come è stato testato e su quale ambiente è stato distribuito. Prendendo una data qualsiasi, posso sapere esattamente cosa è stato mandato in produzione in quel giorno esatto".

NBCUniversal utilizza IBM Cloud for Skytap Solutions (ICSS), sviluppato dal business partner IBM Skytap, in combinazione con il software IBM UrbanCode Deploy per automatizzare la configurazione e la gestione dell'ambiente di test durante l'intero ciclo di vita dello sviluppo del software e per parallelizzare i test di regressione come parte dell'automazione QA.

In un caso, il gruppo televisivo di NBCUniversal ha utilizzato ICSS per ridurre i test di regressione da 6-8 settimane a sole 3 ore per Compass, una grande applicazione utilizzata per la programmazione di programmi televisivi. A Compass è associata un'enorme suite di test di regressione che comprende 1.000 casi di test. Prima di utilizzare ICSS, il team QA dell'organizzazione eseguiva questi test a livello locale: ogni test veniva eseguito in serie. Ora hanno configurato un ambiente di 50 macchine di test, tutte indirizzate all'ambiente QA di Compass on-premise, con 20 test in esecuzione per macchina in parallelo.

Attraverso DevOps, NBCUniversal ha scomposto quello che in precedenza era un processo monolitico in diversi componenti. Il team DevOps di Comas ne ha assunto la guida fornendo l'infrastruttura che supporta gli strumenti DevOps, gestendo gli strumenti stessi e gestendo le best practice per l'utilizzo di tali strumenti. Il team crea anche le automazioni per i team di sviluppo.

Sostenere l'approccio DevOps non è stato facile all'inizio; non tutti erano ricettivi, quindi Comas e Williams avevano alcuni ostacoli culturali da superare. "John e io abbiamo parlato di DevOps per un po' di tempo, ma le nostre parole cadevano nel vuoto. È stato quando abbiamo iniziato a parlare delle funzionalità e poi a mostrarle ai proprietari delle app e poi all'ambiente QA che abbiamo iniziato a notare un certo interesse", afferma Williams. "A un certo punto penso che io e John abbiamo persino deciso di smettere di usare la parola 'DevOps', perché non significava nulla per la maggior parte delle persone. Migliore velocità di distribuzione nello sviluppo delle applicazioni; essere in grado di eseguire test ripetutamente e in modo coerente e ottenere risultati rapidamente: questo è ciò che è importante. Quando abbiamo parlato in questi termini abbiamo iniziato a cambiare la cultura. E quando abbiamo avuto un paio di opportunità per dimostrare le nostre capacità di sviluppo agile, abbiamo iniziato a sentire: "Oh, quindi questo è DevOps". Questo è quello che volevo".

In questo senso, gli strumenti e la tecnologia, come il software UrbanCode, hanno guidato il cambiamento della cultura e dei processi. "Penso che gli strumenti abbiano contribuito a rafforzare ciò verso cui la cultura si stava spostando, ovvero sviluppo più agile e più test shift-left", afferma Williams. "Gli strumenti hanno sostenuto il processo DevOps che avevamo immaginato, ovvero un workflow end-to-end".
 

Quando abbiamo avuto un paio di opportunità per dimostrare le nostre capacità di sviluppo agile, abbiamo iniziato a sentire: "Oh, quindi questo è DevOps". Questo è quello che volevo". Charles Williams Senior Director of Service Strategy and Collaboration NBCUniversal
Storia dei risultati
Automatizzare per aumentare la velocità e la qualità

Il gruppo televisivo di NBCUniversal a New York è un esempio di come il percorso DevOps dell'organizzazione abbia preso forma. Questa particolare unità di business è il braccio di distribuzione televisiva di NBCUniversal ed è, in parte, responsabile della programmazione dei contenuti in onda per tutte le emittenti di proprietà di NBCUniversal. Come notato in precedenza, l'applicazione Compass è fondamentale in tutto questo.

Comas e il suo team hanno migrato lo sviluppo di Compass, una grande applicazione basata su .net. app, alla piattaforma UrbanCode circa 18 mesi fa. "Descriverei il precedente processo di Compass come un processo in parte manuale e in parte automatico: si eseguiva il commit del codice nel repository, si faceva clic manualmente sul pulsante di build e poi si distribuiva in un ambiente. Una volta distribuito in un ambiente, la gestione veniva sostanzialmente lasciata al team di controllo qualità", afferma. "Quindi trascorreva una settimana o giù di lì e si ottenevano alcuni risultati, si faceva un'altra build e si mandava di nuovo al QA, e così via. Di conseguenza, il time to market di un'applicazione era molto elevato: 20 settimane per rilasciare una release. Uno dei motivi per cui ci voleva così tanto tempo è che il team QA eseguiva test su larga scala su una release che poteva o meno soddisfare i requisiti aziendali".

L'obiettivo del team di Compass era di ridurre questo tempo del 75%, fino a cinque settimane. "Dopo essere passati alla piattaforma UrbanCode, sono riusciti a raggiungere questo obiettivo. In effetti, ora stiamo cercando di ridurre il time to market a due settimane", afferma Comas. Innanzitutto, il suo team ha integrato l'automazione QA con il workflow di Compass, eliminando la necessità di eseguire manualmente numerosi test QA per ogni distribuzione. “Abbiamo iniziato con i test shift-left. Abbiamo testato la release dell'applicazione e fatto un'analisi di copertura del codice, avviando anche un piccolo test funzionale in cui abbiamo osservato i diversi requisiti aziendali e creato test che li esercitassero. In questo modo, prima ancora che la release arrivasse al team QA affinché fosse resa operativa e sottoposta a test di regressione, potevamo ottenere un feedback immediato sulla qualità della release. Questo, di per sé, ha accelerato notevolmente le cose".

L'approccio DevOps di NBCUniversal ha anche abbattuto i silos nell'implementazione. "In passato, i rilasci potevano avvenire solo in determinati giorni della settimana, in genere martedì e giovedì sera, e se si perdeva quella finestra non si potevano rilasciare release fino alla finestra successiva", afferma Comas. "Quindi, lavorando con il team Compass Run, ora possiamo effettuare lanci in produzione molto più frequentemente, con conseguenti rilasci più piccoli e più frequenti. Hanno quindi un’agilità molto maggiore e possono soddisfare i requisiti aziendali molto più velocemente. In breve, la qualità del codice è migliorata, il processo è più veloce e siamo in grado di soddisfare le esigenze aziendali molto più rapidamente".

Da un punto di vista tecnologico, Comas afferma che la piattaforma UrbanCode offre al suo team la possibilità di integrare un'ampia gamma di strumenti in un unico workflow automatizzato, eliminando l'eccessiva dipendenza dagli sviluppatori. “Con UrbanCode, quando uno sviluppatore esegue il commit del codice senza adeguati test unitari, viene segnalato. Se non facesse parte del workflow di uno sviluppatore, non sarebbe possibile saperlo. Non ci sarebbe alcun feedback, nel processo, a indicare lo stato della domanda. Il nostro workflow Compass è probabilmente l'automazione più completa di cui disponiamo e la tecnologia ci aiuta a migliorare la qualità delle applicazioni, migliorando la qualità della build in modo esponenziale. Non solo: stiamo apportando i cambiamenti che l'azienda desidera molto più velocemente. Questi sono gli obiettivi finali, i motivi per cui abbiamo intrapreso questo percorso DevOps".

Per Williams e Comas, DevOps significa promuovere fiducia e sicurezza e istituire prevedibilità, velocità e qualità nel ciclo di vita della distribuzione software. "Stiamo fornendo una solida infrastruttura che garantisce un certo livello di qualità e di servizio ai nostri team addetti alle applicazioni", afferma Comas. In effetti, il team DevOps si sta guadagnando abbastanza fiducia da spingere le unità di business a rivolgersi a loro per progetti più ampi. "Avendo dimostrato che le funzionalità sono flessibili ed espandibili e che ci consentono di rispettare tempi molto stretti, abbiamo visto aumentare di sei volte il volume dei progetti, passando da dieci a oltre 60 applicazioni. Stiamo fornendo un percorso verso la produzione di applicazioni che genera un livello di fiducia che non abbiamo mai avuto prima".
 

…la qualità del codice è migliorata, il processo è più veloce e siamo in grado di soddisfare le esigenze aziendali molto più rapidamente. John Comas Manager of Platform DevOps NBCUniversal
NBCUniversal

NBCUniversal è un conglomerato multinazionale e multimediale con sede a New York. L'azienda, con un fatturato di circa 30 miliardi di USD, è coinvolta principalmente nei settori dei media e dell'intrattenimento; tra le sue divisioni più significative ci sono la rete televisiva NBC e il più grande studio cinematografico, Universal Studios. Attraverso la sua divisione Universal Parks & Resorts è anche il terzo operatore di parchi di divertimento al mondo.
 

Fasi successive

Per maggiori informazioni sul software IBM UrbanCode o IBM Cloud for Skytap Solutions, contatta il tuo rappresentante IBM o business partner IBM oppure visita i seguenti siti web: 


Visualizza altre storie di clienti o scopri di più su IBM Cloud

Visualizza PDF Guarda il video: NBCUniversal applica l'approccio DevOps in un'azienda di grandi dimensioni a più velocità
Note a piè di pagina

© Copyright IBM Corporation 2016. IBM Cloud, Route 100, Somers, NY 10589 Prodotto negli Stati Uniti d'America, ottobre 2016. IBM, il logo IBM, ibm.com e UrbanCode sono marchi di International Business Machines Corp., registrati in diverse giurisdizioni del mondo. Altri nomi di prodotti e servizi potrebbero essere marchi di IBM o di altre società. Un elenco aggiornato dei marchi IBM è disponibile sul web alla pagina "Copyright and trademark information" all'indirizzo ibm.com/legal/copytrade.shtml. Le informazioni contenute nel presente documento sono aggiornate alla data della prima pubblicazione e possono essere modificate da IBM senza preavviso. Non tutte le offerte sono disponibili in ogni Paese in cui opera IBM. È responsabilità dell'utente valutare e verificare il funzionamento di altri prodotti o programmi con i prodotti e programmi IBM. LE INFORMAZIONI RIPORTATE NEL PRESENTE DOCUMENTO SONO DA CONSIDERARSI "NELLO STATO IN CUI SI TROVANO" SENZA GARANZIE, ESPLICITE O IMPLICITE, IVI INCLUSE GARANZIE DI COMMERCIABILITÀ, DI IDONEITÀ A UN PARTICOLARE SCOPO E GARANZIE O CONDIZIONI DI NON VIOLAZIONE. I prodotti IBM sono coperti da garanzia in accordo con termini e condizioni dei contratti sulla base dei quali vengono forniti. Qualsivoglia dichiarazione relativa a direzione e intenzioni future di IBM è suscettibile di modifiche o smentite senza preavviso e rappresenta unicamente obiettivi e scopi.