Sonatype présente la gestion des dépendances nouvelle génération | Communiqué de presse

ABN AMRO et Nexus Lifecycle

Une vélocité décuplée pour des builds démultipliés et un déploiement plus rapide avec Nexus Lifecycle

ABN AMRO est une banque dont les clients – particuliers, commerces et entreprises – se situent principalement aux Pays-Bas. Son histoire remonte à quelque 300 ans et a été marquée par de nombreux prédécesseurs, de petites institutions bancaires à de plus grands acteurs. La société compte actuellement 22 000 employés en interne, 5 000 partenaires informatiques et plus de 300 équipes informatiques flexibles.

Le groupe interne de développement de logiciels et d'outils informatiques de ABN AMRO est responsable de la sélection, la mise en œuvre et l'intégration d'outils au sein de la banque, et axe également ses activités sur la qualité des logiciels fournis et l'assistance apportée aux équipes flexibles. Dans le cadre de ce soutien, le groupe se concentre essentiellement sur l'implémentation d'un pipeline de continous integration (CI)/continuous delivery (CD). Les produits Nexus Repository et Nexus Lifecycle sont inclus dans ce pipeline.

Les équipes de développement utilisent Nexus Repository comme source unique de stockage des composants. Nexus Lifecycle, quant à lui, est utilisé pour automatiser les processus de sécurité et gérer la consommation et l'usage de composants open source.

« Nous étions à la recherche de solutions rapides, qui soient également sûres. La sécurité d'un logiciel ne devrait pas être sujette à débat. C'est pour cela que nous avons choisi Nexus Lifecycle. »

Stefan Simenon, directeur du centre de développement d'outils logiciels

Défi : Passer d'une méthode Waterfall à une culture du DevOps

Avant de se transformer en une culture DevOps, le service de développement de ABN AMRO suivait le modèle Waterfall. Cela prenait un temps incalculable pour intégrer le développement logiciel à cet environnement et le mettre à disposition des clients finaux. Une étude a été menée pour déterminer la durée de déploiement en production d'un programme des plus simples. Au final, le processus Waterfall à plusieurs étapes a pris entre cinq et six mois en raison des multiples procédures d'approbation manuelles et du temps d'attente.

De fait, la sécurité logicielle était gérée par l'intermédiaire de procédures manuelles. Les vérifications portant sur la qualité du code, qui dépendaient des accords de niveau de service en vigueur avec les fournisseurs développeurs, étaient menées après les déploiements en production.

Ainsi, les processus d'approbation manuels de même que le repository open source fermé constituaient l'une des plus importantes sources de préoccupation. Il arrivait souvent que des demandes d'ajout de nouveaux composants étaient formulées durant les dernières phases de développement, tandis que le problème s'aggravait en raison du long processus d'approbation. Par ailleurs, dès lors qu'un composant était utilisé, son emploi ne faisait l'objet d'aucune question.

Les nombreuses difficultés liées aux processus en cascade empêchaient donc l'entreprise de fournir des solutions dans un délai raisonnable à ses clients. Il est devenu clair qu'une transformation culturelle était nécessaire pour accélérer la livraison logicielle et améliorer la qualité logicielle.

Solution : Adopter une approche CI/CD à l'aide de Nexus Lifecycle pour la surveillance et le suivi de l'open source

ABN AMRO a opté pour la mise en place d'une méthode CI/CD pour laquelle de nombreux pipelines d'outils ont été créés. En outre, une initiative a été lancée pour axer cette transformation sur la gestion des changements et des aspects culturels. La réorganisation de la banque a permis de formaliser cette transition. Les objectifs étaient les suivants : réduction de la gestion de projets et des frais généraux, définition de nouveaux rôles flexibles, mise en place d'équipes agiles préfinancées et renforcement des activités de livraison logicielle.

Stefan Simenon est responsable de l'intégration des outils au sein de la banque. Il est notamment chargé de contrôler la qualité logicielle et la sécurité de la programmation, tout en soutenant les équipes flexibles présentes sur site durant l'implémentation de l'approche CI/CD. Le pipeline de base comprend Jenkins, BitBucket, Maven, SonarQube et Nexus Repository. À mesure que les équipes concernées travaillaient avec le pipeline, les dirigeants ont pris conscience des avantages d'un tel changement et ont encouragé l'emploi du pipeline au sein d'autres équipes de développement.

Nexus Lifecycle a été ajouté pour le contrôle et le suivi de logiciels open source, tandis que Fortify est employé pour garantir la qualité de la sécurité de programmation et JIRA pour gérer la gestion du backlog. Enfin, une supervision de la gouvernance a été instaurée afin de veiller à une utilisation adéquate des outils et des pipelines.

environnement de travail optimal pour les développeurs

Utilisation de Nexus Repository et Nexus Lifecycle

ABN AMRO utilise Nexus Repository en tant que dépôt d'objets binaires. Une archive déployable dans Nexus correspond à la fin du processus CI (déclenché par Jenkins) et au début du processus CD (déclenché par XL Release). Nexus agit donc comme un dépôt basique pour tous les composants, notamment les packs de produits informatiques standard (COTS) qui arrivent chez ABN AMRO.

« Nexus est utilisé comme un outil de transfert entre les processus CI et CD, explique Stefan Simenon. Nous extrayons tout le processus CI sous forme d'archive de déploiement et le stockons ensuite dans Nexus. Nous faisons tout notre possible pour standardiser au maximum nos processus de développement, et Nexus Repository est crucial pour nous permettre d'y arriver. »

Par ailleurs, le contrôle et le suivi de composants open source ont fait l'objet de discussions approfondies.

« Nous étions à la recherche de solutions rapides, qui soient également sûres. Toutefois, nous n'avons pas dû chercher bien longtemps. Grâce à Nexus Lifecycle, les programmeurs peuvent prendre les bonnes décisions et renforcer la sécurité de leur logiciel. C'est pour cela que nous avons choisi Lifecycle. »

ABN AMRO implémente des points de contrôle de la qualité et des interrupteurs de build afin d'améliorer la qualité de programmation et la sensibilisation à la sécurité. Ainsi, Nexus Lifecycle est utilisé pour s'assurer que les développeurs accèdent à des bibliothèques open source sûres et non illégales. Il contrôle et vérifie que les utilisateurs mettent à jour leurs bibliothèques et utilisent les versions appropriées, tout en affichant les conséquences de ces choix en matière de sécurité.

" Actuellement, nous avons implémenté un ensemble d'interrupteurs de build (build breakers) basés sur SonarQube, Fortify et Nexus Lifecycle. Cela permet d'augmenter la sensibilisation à la sécurité et de réduire les discussions inutiles portant sur la qualité. Nous comptons en outre renforcer les critères des interrupteurs de build à l'avenir. Si nos équipes ont d'abord été réticentes à l'idée d'utiliser ces derniers, elles les ont désormais adoptés. Sans les ensembles d'outils, notamment Nexus Lifecycle et les pipelines CI, nous n'aurions jamais été en mesure d'améliorer la qualité logicielle. »

L'initiative CI/CD a contribué aux améliorations suivantes :

Résultat : Temps de build accru sans faire l'impasse sur la qualité ou la sécurité

Vélocité et délai d'exécution

  • La vélocité a été multipliée par 2 voire 2,5
  • Le temps de déploiement a diminué (la banque en ligne/mobile comptait jusqu'à quatre déploiements en production par an, tandis que le pipeline automatisé permet de sortir des versions toutes les deux semaines)
  • De plus en plus d'équipes sont capables de livrer un logiciel en production en un sprint
  • Les délais d'exécution de tests ont été réduits

Qualité, sécurité et stabilité

  • La qualité et la sécurité logicielles ont largement progressé
  • Les environnements de test ont gagné en stabilité grâce aux restaurations automatiques

Conclusion

Stefan Simenon est fier des progrès réalisés au sein d'ABN AMRO : « Nous nous consacrons désormais bien plus à la livraison logicielle qu'à la gestion des procédures encadrant le logiciel.

Notre objectif est de créer un environnement de travail optimal pour notre communauté de développeurs. Pour y parvenir, il est important d'utiliser les meilleurs outils sur le marché et de faire appel à des spécialistes. Nous sommes très satisfaits des outils fournis par Sonatype et apprécions la collaboration qui s'est instaurée entre nos équipes.

Pour moi, il est essentiel de travailler en partenariat avec nos fournisseurs. Nous organisons, par exemple, des sessions en face en face avec Sonatype. Cela nous permet de bénéficier des conseils de notre fournisseur et de la présentation de fonctionnalités futures et, de son côté, celui-ci peut prendre en compte nos besoins pour améliorer son produit. C'est une situation idéale pour chacun. »

créer des logiciels à grande échelle

 

CONTACTER L'ÉQUIPE COMMERCIALE

Prêt à essayer les produits Nexus ?

Sonatype, une meilleure façon de construire