NBCUniversal
Mise à l’échelle du DevOps au sein d’une grande entreprise à plusieurs vitesses

NBCUniversal utilise les logiciels IBM UrbanCode Build et IBM UrbanCode Deploy avec IBM Cloud for Skytap Solutions comme moteur du DevOps, ce qui lui permet de combiner l'intégration continue, la livraison, les tests, les commentaires et le monitoring dans un même workflow automatisé qui relie les processus, la culture et la technologie à travers toute l'organisation.

Défi

NBCUniversal souhaitait utiliser une approche DevOps pour le développement d’applications au sein de son entreprise complexe, comprenant 17 unités commerciales, afin d’améliorer la qualité du code, de rationaliser le développement et de réduire les coûts.

Transformation

NBCUniversal utilise le logiciel IBM UrbanCode et IBM Cloud for Skytap Solutions pour piloter le DevOps, ce qui lui permet de combiner l'intégration continue, la livraison, les tests, les commentaires et le monitoring dans un même workflow automatisé.

Résultats 75 % de réduction
du délai requis pour la publication de nouvelles applications
Durée des tests de régression
passant de plusieurs semaines à quelques heures
Accélération
réponses aux nouvelles exigences
Description du défi
Unifier les silos

Jusqu’à récemment, le public s'imaginait que l’aventure du DevOps était réservée à la nouvelle génération d’organisations cloud natives, celles conçues pour bousculer le marché et bâties pour innover rapidement. Mais cela est faux. Outre Etsy, Uber ou encore Netflix, de grandes entreprises établies, comme NBCUniversal, cherchent à rationaliser les délais de mise sur le marché des nouvelles applications, à améliorer la qualité du code applicatif et à réduire les coûts de développement, de test et de déploiement grâce au DevOps.

Ces entreprises sont présentes dans de nombreux secteurs et, quelle que soit la complexité organisationnelle et informatique, elles adoptent une approche DevOps parce que l'agilité, c'est-à-dire la capacité à accélérer l'innovation et à répondre plus rapidement à l'évolution des besoins métier, est essentielle.

La trajectoire de DevOps empruntée par ces grandes entreprises est probablement très différente de celle d’une société native du cloud. Pour elles, il n'est pas toujours simple d'instaurer un changement culturel généralisé et de transformer des processus et des paradigmes en place depuis longtemps.


NBCUniversal s'est grandement développée suite à des acquisitions et comprend actuellement 17 sociétés et unités commerciales distinctes, y compris à l'international. Comme dans la plupart des grandes entreprises, son environnement applicatif est diversifié et multi-vitesses. Il se compose d'un mélange d'environnements sur site, de cloud privé et public, avec des applications métier clés intégrées à de nouvelles applications web et mobiles. L'équipe DevOps de l'entreprise devait concilier une large variété de vitesses, de processus, d'outils, de compétences et de culture entre les développeurs du système d'enregistrement (souvent des mainframes) et les développeurs du système d'engagement (applications basées sur le cloud et orientées vers le client) afin de réaliser des intégrations entre ces systèmes.

John Comas, gestionnaire de la plateforme DevOps chez NBCUniversal, est responsable des processus et des outils qui sous-tendent le cycle de vie du développement logiciel DevOps (SDLC) chez NBCUniversal. Il explique : « Nous devions fournir à nos clients applicatifs un SDLC unique et standardisé pour plusieurs raisons : premièrement, pour réduire les coûts de licence des applications en éliminant les instances multiples. Deuxièmement, nous voulions fournir un système standard, sur site, renforcé par l’entreprise et migrer le plus grand nombre d’utilisateurs possible vers celui-ci, afin de normaliser l'assistance et la formation. Nous voulions également améliorer la qualité du code développé, et nous voulions le développer plus rapidement, plus efficacement et à moindre coût. » Il poursuit : « Nos versions et nos déploiements présentaient des taux d'échec élevés, et comme nos équipes chargées des applications n'ont effectué que peu ou pas de tests, certaines versions n'auraient probablement jamais dû être mises en production, ce qui a entraîné trop de pannes. »

Le parcours DevOps a motivé la création d’un workflow pour quatre groupes qui n’étaient pas traditionnellement bien intégrés : les équipes chargées du développement, de l’assurance qualité, de l’exécution et du SDLC. Le parcours englobe la technologie ainsi que la vision, accélérant l'innovation en décomposant les processus complexes en plus petites unités de travail et en les exécutant en parallèle chaque fois que cela est possible.

Nous devions fournir à nos clients applicatifs un SDLC unique et standardisé... Nous voulions également améliorer la qualité du code développé, et nous voulions le développer plus rapidement, plus efficacement et à moindre coût. John Comas Responsable de la plateforme DevOps NBCUniversal
Description de la transformation
Accélérer l’innovation

John Comas et Charles Williams, directeur principal de la stratégie de service et de la collaboration chez NBCUniversal, ont positionné DevOps en interne comme une plateforme/un cadre partagé pour accélérer l'innovation. La plateforme IBM UrbanCode, qui réunit UrbanCode Build (automatisation de la création d'applications) et UrbanCode Deploy (automatisation de la mise en production d'applications), agit comme moteur du DevOps, ce qui lui permet de combiner l'intégration continue, la livraison continue, les tests continus, les commentaires continus et le monitoring continu dans un même workflow automatisé qui relie les processus, la culture et la technologie à travers toute l'organisation..

La plateforme UrbanCode prend en charge un ensemble diversifié d'environnements informatiques et offre des capacités d'audit complètes, essentielles pour une entreprise complexe comme NBCUniversal. « Grâce aux produits UrbanCode, l'organisation peut suivre un modèle build-as-a-service. Je peux reproduire n'importe quelle construction qui arrive à UrbanCode en cliquant sur un bouton », se réjouit John Comas. « Nous disposons d'un tableau de bord unique et unifié où je peux voir toute l'activité. Et nous disposons d'enregistrements clairs sur chaque build et ses binaires, sur ce à quoi il a servi, comment il a été testé, dans quel environnement il a été déployé – tout cela. Donnez-moi une date, et je peux vous dire ce qui a été déployé à la production ce jour-là ».

NBCUniversal utilise IBM Cloud for Skytap Solutions (ICSS), développé par Skytap, partenaire commercial d'IBM, en conjonction avec le logiciel IBM UrbanCode Deploy pour automatiser la configuration et la gestion de l'environnement de test tout au long du cycle de développement du logiciel et pour paralléliser les tests de régression dans le cadre de l'automatisation de l'assurance qualité.

Le groupe de télévision de NBCUniversal a par exemple tiré parti d'ICSS pour réduire ses tests de régression, passant de 6 à 8 semaines à 3 heures seulement pour Compass, une grande application utilisée pour la programmation de programmes télévisés. Compass est associé à une énorme suite de tests de régression comprenant 1 000 cas de test. Avant d'utiliser ICSS, l'équipe d'assurance qualité de l'organisation effectuait ces tests localement – chaque test étant exécuté en série. Ils ont maintenant mis en place un environnement de 50 machines de test, qui pointent toutes vers l'environnement Compass QA sur site, avec 20 tests exécutés en parallèle par machine.

Grâce au DevOps, NBCUniversal a décomposé ce qui était auparavant un processus monolithique en éléments constitutifs, l'équipe DevOps de John Comas prenant le leadership en fournissant l'infrastructure qui supporte les outils DevOps, en gérant les outils eux-mêmes et en supervisant les meilleures pratiques dans l'utilisation de ces outils. L'équipe crée également les automatismes pour les équipes de développement.

Plaider en faveur de DevOps n'a pas été facile au début, car tout le monde n'était pas réceptif. John Comas et Charles Williams ont dû surmonter quelques obstacles culturels. « John et moi parlions de DevOps depuis un certain temps, mais nous n’arrivions pas à nous faire entendre. C'est lorsque nous avons commencé à parler des capacités, puis à les montrer aux propriétaires d'applications et ensuite à l'environnement d'assurance qualité que nous avons commencé à voir des signes d'intérêt », explique Charles Williams. « À un moment donné, je pense que John et moi avons même décidé d'arrêter d'utiliser le mot DevOps, car il ne disait rien à la plupart des gens. L'amélioration de la rapidité de livraison dans le développement d'applications ; la possibilité d'exécuter des tests de manière répétée et cohérente et d'obtenir des résultats rapidement – c'est cela qui est important. En parlant en ces termes, nous avons commencé à changer la culture. Lorsque nous avons eu l'occasion de faire la démonstration de nos capacités de développement agile, nous avons commencé à entendre "Oh, c'est donc ça le DevOps". C’est ce que je recherchais. »

En ce sens, les outils et la technologie, comme le logiciel UrbanCode, ont conduit au changement de culture et de processus. « Je pense que l'outil a contribué à renforcer ce vers quoi la culture évoluait, à savoir un développement plus agile et des tests plus précoces », explique Charles Williams. « Les outils ont étayé le processus DevOps que nous envisagions, à savoir un workflow de bout en bout. »
 

Lorsque nous avons eu l'occasion de faire la démonstration de nos capacités de développement agile, nous avons commencé à entendre "Oh, c'est donc ça le DevOps". C’est ce que je recherchais. Charles Williams Directeur principal de la stratégie de service et de la collaboration NBCUniversal
Description des résultats
Automatiser pour améliorer la vitesse et la qualité

La filiale de NBCUniversal à New York illustre bien la manière dont l’aventure de DevOps de l’entreprise a pris forme. Cette unité commerciale constitue la branche de distribution télévisuelle de NBCUniversal et est, en partie, responsable de la programmation du contenu à l'antenne pour toutes les chaînes appartenant à NBCUniversal. Comme indiqué précédemment, l’application Compass est au cœur de cette tâche.

John Comas et son équipe ont migré le développement pour Compass (une énorme application basée sur .net) vers la plateforme UrbanCode il y a 18 mois. « Je décrirais l'ancien processus Compass comme un processus "manu-matique" ; il fallait soumettre le code dans le référentiel, cliquer à la main sur le bouton de génération, puis le déployer dans un environnement. Une fois déployé dans un environnement, c’était à l’équipe d’assurance qualité de s’en occuper », explique-t-il. « Au bout d’une semaine environ, ils obtenaient des résultats, faisaient une autre version et la renvoyaient au service d’assurance qualité, et ainsi de suite. Le délai de mise sur le marché d’une application était donc très élevé : on parlait de 20 semaines pour la publication d’une version. L'une des raisons pour lesquelles cela prenait tant de temps est que l'équipe d'assurance qualité effectuait des tests complets sur une version qui ne répondait peut-être pas aux exigences de l'entreprise. »

L’objectif de l’équipe chargée de l’application Compass était de réduire ce délai de 75 %, pour atteindre cinq semaines. « Une fois que nous les avons transférés sur la plateforme UrbanCode, ils ont pu atteindre cet objectif. D'ailleurs, nous cherchons maintenant à réduire le délai de mise sur le marché à deux semaines », déclare John Comas. Tout d’abord, son équipe a intégré l’automatisation de l’assurance qualité au workflow de Compass, éliminant ainsi la nécessité d’exécuter manuellement de nombreux tests d’assurance qualité pour chaque déploiement. « Nous avons commencé par des tests shift-left. Nous avons effectué des tests unitaires sur la version de l’application et mené une analyse de la couverture de code, tout en lançant un petit test fonctionnel permettant d’observer les différentes exigences métier et de créer des tests qui les respecteraient. Ainsi, avant même que la version n’atteigne l’équipe d’assurance qualité en vue d'être soumise au test de régression, nous pouvions obtenir un feedback immédiat pour savoir si la version était bonne ou non. Cela a considérablement accéléré les choses ».

L’approche DevOps de NBCUniversal a également éliminé les silos dans le déploiement. « Historiquement, la mise en production ne pouvait avoir lieu que certains jours de la semaine, généralement le mardi et le jeudi soir. Si vous manquiez cette fenêtre, aucune release ne pouvait avoir lieu avant le prochain créneau », explique John Comas. « En travaillant avec l’équipe d'exécution de Compass, nous pouvons désormais effectuer des déploiements beaucoup plus fréquents, ce qui se traduit par des versions plus petites et moins espacées. Elles ont donc une bien plus grande agilité et peuvent répondre aux exigences de l'entreprise beaucoup plus rapidement. Pour résumer, la qualité du code s'est améliorée, tout va plus vite et nous pouvons répondre aux exigences métier beaucoup plus rapidement. »

D'un point de vue technologique, John Comas explique que la plateforme UrbanCode permet à son équipe d'intégrer un large éventail d'outils dans un flux de travail automatisé, éliminant ainsi la dépendance excessive à l'égard des développeurs. « Avec UrbanCode, lorsqu’un développeur valide du code sans tests unitaires adéquats, cela fait l'objet d'un signalement. Sans cela, vous ne seriez pas au courant. Vous n'auriez aucun feedback vous informant de l’état de l'application. Notre workflow Compass est probablement l’automatisation la plus complète que nous ayons configurée, et la technologie nous aide à améliorer la qualité des applications, optimisant ainsi grandement la qualité des builds. De plus, nous menons les changements dont l'entreprise a besoin beaucoup plus rapidement. Ce sont les objectifs ultimes ; les raisons pour lesquelles nous nous engageons dans cette aventure DevOps. »

Pour Charles Williams et John Comas, le DevOps vise à asseoir la confiance et à instaurer la prévisibilité, la rapidité et la qualité dans le cycle de vie de la livraison des logiciels. « Nous fournissons une infrastructure robuste qui garantit un niveau de qualité et de service à nos équipes applicatives », déclare John Comas. En effet, l’équipe DevOps a gagné suffisamment de confiance pour que les unités commerciales lui demandent désormais de l’aider sur des projets plus importants. « Comme nous avons démontré que ces capacités sont flexibles et évolutives et qu’elles nous permettent de respecter des délais très serrés, nous avons constaté une multiplication par six du volume des projets, passant de dix à plus de 60 applications. Nous ouvrons une voie vers la production d’applications qui génère un niveau de confiance que nous n’avions jamais atteint auparavant ».
 

La qualité du code s'est améliorée, tout va plus vite et nous pouvons répondre aux exigences métier beaucoup plus rapidement. John Comas Responsable de la plateforme DevOps NBCUniversal
NBCUniversal

NBCUniversal est un conglomérat multinational de multimédias dont le siège est basé à New York. Avec un chiffre d'affaires d'environ 30 milliards de dollars, cette société est principalement active dans les secteurs des médias et du divertissement ; parmi ses divisions les plus importantes figurent le réseau de télévision NBC et le principal studio de cinéma Universal Studios. Via sa division Universal Parks & Resorts, elle est aussi le troisième exploitant de parcs d'attractions au monde.
 

Passer à l’étape suivante

Pour en savoir plus sur le logiciel IBM UrbanCode ou IBM Cloud for Skytap Solutions, veuillez contacter votre représentant commercial IBM ou votre partenaire commercial IBM, ou visitez les sites Web suivants : 


Découvrir d’autres témoignages clients ou en savoir plus sur IBM Cloud

Afficher le PDF Voir la vidéo : NBCUniversal met les DevOps à l’échelle au sein d’une grande entreprise à plusieurs vitesses
Notes de bas de page

© Copyright IBM Corporation 2016. IBM Cloud, Route 100, Somers, NY 10589, produit aux États-Unis d'Amérique, novembre 2016. IBM, le logo IBM, ibm.com et UrbanCode sont des marques commerciales d’International Business Machines Corp., déposées dans de nombreux pays. Les autres noms de produits et de services sont des marques d’IBM ou d’autres sociétés. La liste actualisée des marques d’IBM est disponible sur la page Web « Copyright and trademark information » à l’adresse ibm.com/legal/copytrade.shtml. Les informations contenues dans le présent document étaient à jour à la date de publication initiale et sont susceptibles d’être modifiées à tout moment par IBM. Certaines offres mentionnées dans le présent document ne sont pas disponibles dans tous les pays où la société IBM est présente. Il incombe à l’utilisateur d’évaluer et de vérifier la compatibilité de tout autre produit ou logiciel avec les produits et les logiciels IBM. LES INFORMATIONS CONTENUES DANS LE PRÉSENT DOCUMENT SONT FOURNIES « EN L’ÉTAT », SANS AUCUNE GARANTIE EXPLICITE OU IMPLICITE, NOTAMMENT SANS AUCUNE GARANTIE DE QUALITÉ MARCHANDE, D’ADÉQUATION À UN USAGE PARTICULIER ET TOUTE GARANTIE OU CONDITION D’ABSENCE DE CONTREFAÇON. Les produits IBM sont garantis conformément aux dispositions des contrats qui régissent leur utilisation. Les déclarations relatives à l’orientation et aux intentions futures d’IBM sont susceptibles d’être modifiées ou retirées sans préavis et ne représentent que des objectifs.