Le groupe EDF et Nexus Lifecycle

Permettre aux consommateurs de gérer
leurs ressources énergétiques et leur consommation

Électricité de France est l'un des plus grands producteurs d'électricité au monde. Avec 37,6 millions de comptes clients dans le monde, 154 845 employés et 71,2 milliards d'euros de chiffre d'affaires annuel, EDF réinvente son offre de produits et services pour aider les particuliers à gérer leur consommation d'électricité. Le projet CAP 2030 vise à accroître significativement la production d'énergie renouvelable d'ici 2030 en proposant des solutions énergétiques décentralisées et sur mesure.

L'objectif de l'équipe d'ingénierie du groupe EDF est de normaliser et de faciliter un processus de construction évolutif et réplicable. Cette structure est utilisée pour créer de nouveaux produits et services de gestion personnalisés pour les clients. Le groupe EDF utilise Nexus Repository et Nexus Lifecycle dans sa palette d'outils DevOps pour créer ces nouvelles technologies.

« Avec Nexus Lifecycle, le principal avantage est de pouvoir signaler à notre équipe de projet quelles bibliothèques spécifiques sont utilisées au sein de nos applications. Nous bénéficions d'une visibilité immédiate sur les problèmes de sécurité. »

— Olivier Routier, responsable de la CI pour l’équipe d’ingénierie DevOps

Le défi : contrôler et évaluer les responsabilités en matière de licences open source à grande échelle

Avant d'utiliser Nexus pour gérer, suivre et surveiller les téléchargements des packages logiciels, il n’existait à l’époque aucun moyen évolutif pour déterminer les éventuelles responsabilités associées aux licences pour les composants open source utilisés au sein du groupe.

L'équipe de gestion de l'ingénierie a commencé à se préoccuper des questions de licence que soulevaient les composants open source. Leur méthode initiale a consisté à signaler manuellement les nouveaux composants à l'équipe de sécurité des informations, laquelle devait ensuite évaluer les risques potentiels. Ce processus n'évoluait pas et ne permettait pas de suivre le rythme imposé par le volume des composants open source utilisés pour le développement. La durée prolongée des processus d'approbation manuelle est devenue un véritable goulot d'étranglement, freinant la mise en production des logiciels. Résultat : dans certains cas, les applications nécessitant une analyse n'étaient pas partagées avec les équipes de sécurité des informations.

L'équipe en charge de la sécurité d'EDF adopte Sonatype Nexus

« Nous avons plus de 40 applications en production », a expliqué Olivier Routier, responsable de la CI (intégration continue) pour l’équipe d’ingénierie DevOps. Olivier est responsable de l’intégration de Nexus Repository Manager dans le pipeline DevOps. Nexus sert à faciliter les constructions de projets et à cartographier les bibliothèques au sein du système informatique d'EDF. « Avant Nexus, nous avions peu de, pour ne pas dire aucune, visibilité sur les bibliothèques utilisées dans le cadre d'un projet. »

Des pratiques d’audit de sécurité manuelle ont été mises en place lors des sessions d’échange d’informations en aval entre les équipes de sécurité et de développement, mais il y avait peu de visibilité sur les applications après leur déploiement. « Les processus manuels ne permettent pas de suivre et de surveiller les bibliothèques open source et tierces au sein des très nombreuses applications déployées en production », explique Olivier.

Le défi majeur que l’équipe d’ingénierie souhaitait relever consistait à trouver comment obtenir de la visibilité quant à l'utilisation des composants open source dans leurs applications.

La solution : intégrer Nexus Lifecycle dans un pipeline de déploiement DevOps continu

L’équipe d’ingénierie du groupe EDF était chargée d’ajouter Nexus Lifecycle dans son processus de construction. L’équipe utilise à présent Nexus Lifecycle en intégration avec les outils de développement Eclipse, SonarQube et Jenkins. Ils ont également intégré Ansible et OpenShift pour créer un pipeline de déploiement DevOps continu. Le groupe EDF a commencé par utiliser Nexus avec un petit groupe d’utilisateurs après avoir rencontré Sonatype lors de plusieurs conférences données dans le secteur. Ils nous ont ensuite invités pour nous présenter les possibilités. L'un des facteurs clés qui ont pesé dans la décision d’EDF d’utiliser Nexus Lifecycle était son intégration avec Jenkins.

La première étape pour obtenir l’approbation d'utiliser Nexus Lifecycle était la validation de la solution par l’équipe sécurité. « Si vous souhaitez créer un processus DevOps au sein de votre entreprise, vous devez impliquer votre équipe de sécurité. DevOps génère beaucoup de changements dans nos processus puisque l'on applique une plus grande automatisation », explique Olivier, « une bonne relation avec l’équipe de sécurité est importante. » 

Il a travaillé en étroite collaboration avec l’équipe de sécurité pour démontrer la valeur des rapports dans Nexus Lifecycle, à quel point il est facile de les créer et combien les résultats sont précis. « Avec Lifecycle, vous pouvez voir les dépendances transitives. L’utiliser pour la première fois, c'était comme ouvrir un superbe cadeau », précise Olivier en secouant la tête. « Non seulement le suivi et la surveillance sont automatisés, mais vous pouvez également lancer le processus manuellement et analyser un paquet spécifique au besoin. »

Automatisation de l'OSS governance selon les besoins

Olivier a effectué des tests sur les informations que Lifecycle remontait pour vérifier l’exactitude des données. Ainsi, la première expérience de l’équipe a consisté en l'exécution du binaire de leur serveur WebLogic sur Lifecycle pour faire correspondre les informations de premier niveau d’un précédent rapport de sécurité à des recommandations quant à ce qu'il fallait corriger. Les données des rapports Lifecycle étaient ainsi bien supérieures et plus détaillées que les résultats issus du processus précédent.

Le reporting du tableau de bord de Nexus Lifecycle a permis aux développeurs et aux équipes projet de savoir ce qui se trouvait dans les bibliothèques utilisées pour construire les applications. La qualité des données disponibles dans les rapports a encouragé l’équipe de sécurité à « utiliser son propre budget pour d’autres projets ».

Le résultat : pouvoir choisir rapidement une version sûre de chaque composant open source

En raison de la fiabilité des informations fournies par Nexus Lifecycle, l’équipe projet EDF peut rapidement choisir une version sécurisée d’un composant en toute confiance, puisqu'elle sait quels sont les problèmes de sécurité et de licence connus. Elle peut ensuite suivre et surveiller l’utilisation de ces composants dès le début, et tout au long de leur cycle de développement et de déploiement.

« Avec Lifecycle, le principal avantage est de pouvoir signaler à notre équipe de projet quelles bibliothèques spécifiques sont utilisées au sein de nos applications, ainsi que les problèmes de sécurité ou les risques liés aux licences associés à ces bibliothèques. Nous avons une visibilité immédiate sur tout composant qui n’est pas conforme à nos stratégies et politiques de licences. C'est pour cela que nous avons choisi Lifecycle. Nous suivons et surveillons automatiquement les bibliothèques dans le cadre de notre processus de développement. À présent, nous étendons l’utilisation de Nexus aux équipes et projets autres que DevOps. »

Lorsqu’on lui demande s’il recommanderait Nexus Lifecycle, la réponse d’Olivier est éloquente. « Oui. Votre produit est génial. Je peux le dire, parce que je l’utilise. »

Suivi et contrôle des bibliothèques lors de la phase de développement

CONTACTER L'ÉQUIPE COMMERCIALE

Envie d'essayer Sonatype ?

Sécurisez et automatisez votre chaîne logistique logicielle.