Études de cas CERN
+

GitLab aide le CERN à améliorer notre compréhension de l'univers

Amélioration de la qualité du code
Renforcement de la sécurité
Meilleure collaboration mondiale
Secteur Science, technologie et éducation
Employés 10 000 membres associés
Emplacement Genève, Suisse
Solution

GitLab Ultimate

Vous souhaitez découvrir ce que GitLab Ultimate peut offrir à votre équipe ?

Essayer GitLab Ultimate gratuitement

Le CERN accueille des scientifiques du monde entier pour des projets collaboratifs de grande envergure afin d'explorer l'origine et le fonctionnement de l'univers. Les équipes recourent également à GitLab dans le but d'élaborer un logiciel destiné à assister les chercheurs dans l'étude de phénomènes comme la matière noire et le boson de Higgs.

Organisation intergouvernementale de renommée mondiale, le CERN exploite le plus grand laboratoire de physique des particules au monde. Des physiciens et des ingénieurs de 24 États membres étudient la structure fondamentale des particules qui composent la matière afin de comprendre les plus grands mystères scientifiques de l'univers. GitLab joue un rôle clé dans ces recherches auprès de la communauté scientifique du CERN pour relever le défi complexe consistant à faire fonctionner de manière efficace et sécurisée le plus grand et le plus puissant accélérateur de particules au monde, ainsi qu'à traiter les vastes quantités de données qu'il génère. Des scientifiques issus d'universités et d'instituts de recherche du monde entier se servent également de la plateforme pour collaborer sur des projets communs.

Nous utilisons des logiciels intégrés, mis à jour et hébergés sur GitLab comme outils pour notre recherche, qui vise à mieux comprendre les plus grands mystères de l'univers, y compris le boson de Higgs, la matière noire et l'antimatière. GitLab nous aide à améliorer nos connaissances en physique.
- Ismael Posada Trobo, Tech Lead et Engineering Manager, CERN

Concevoir un logiciel pour étudier l'univers

Créé en 1954, le CERN a activé pour la première fois le Grand collisionneur de hadrons (LHC) en 2008. Considéré comme « l'un des plus grands jalons de l'ingénierie de l'humanité », le collisionneur, une boucle souterraine de 27 km scellée sous vide et dotée d'un certain nombre de structures accélératrices, brise les faisceaux de particules pour créer des averses de nouvelles particules qui reproduisent les conditions dans l'univers quelques instants après sa conception. Le collisionneur est conçu pour explorer des concepts comme le Big Bang, la matière noire et le boson de Higgs.

Pendant des années, le CERN a eu recours à plusieurs outils DevOps, y compris GitHub, pour créer le logiciel requis par la communauté scientifique du CERN. Les équipes avaient néanmoins besoin d'une solution plus complète et nécessitaient une transition vers une plateforme DevSecOps complète de bout en bout capable de renforcer la sécurité de l'ensemble du cycle du développement logiciel et d'augmenter leur productivité et leur rapidité de livraison. Elles ont adopté la plateforme GitLab avec GitLab Starter en 2015. Les équipes du CERN ont alors commencé à mettre à jour, à itérer et à reconstruire l'ensemble de leurs logiciels. À partir de là, chaque nouveau projet a été compilé et déployé avec GitLab. Dans le but d'accroître encore leur productivité et leur visibilité, les équipes sont passées à GitLab Premium en 2020, puis à GitLab Ultimate en 2023, afin de tirer parti de son framework de sécurité avancé.

« Tous nos logiciels, que ce soit celui opérant notre complexe, celui exécutant le collisionneur ou celui créant des collisions, sont compilés et hébergés sur GitLab », explique Michi Hostettler, Large Hadron Collider Engineer-in-Charge au CERN. « C'est un logiciel important pour nous. Avec l'intégration, l'automatisation, la gestion des tickets, le scanning de sécurité, la documentation, tout est développé à l'aide de la plateforme. »

Le collisionneur fait partie intégrante de l'infrastructure et de la mission scientifique du CERN. L'utilisation d'un logiciel créé avec GitLab pour assurer un fonctionnement optimal et obtenir des analyses de l'exaoctet de données brutes qu'il produit chaque année est donc fondamentale pour les recherches de ces scientifiques de classe mondiale. Il faut comprendre que les données sont essentielles pour élargir la connaissance du monde par les humains.

« GitLab est un élément important de l'écosystème du CERN », souligne Ismael Posada Trobo, Version Control Systems Tech Lead et Engineering Manager au CERN. « Avec le logiciel intégré et hébergé sur GitLab, nous simulons les collisions de particules et recréons les collisions avec les données du LHC. Les scientifiques ont ainsi les moyens d'effectuer leurs recherches et d'avancer des hypothèses. GitLab est un atout précieux pour le travail des développeurs. »

Favoriser la recherche et la collaboration à l’échelle mondiale

Les équipes DevSecOps du CERN ne se limitent pas à créer des logiciels sur la plateforme GitLab. Selon Ismael Posada Trobo, 30 % de son utilisation consiste à mettre en contact des chercheurs issus d'universités, de laboratoires et d'instituts de recherche du monde entier afin qu'ils puissent communiquer et collaborer sur des projets scientifiques.

Par exemple, les chercheurs travaillant sur l'expérience ATLAS, l'un des plus grands efforts de collaboration jamais entrepris dans le domaine scientifique, exécutent leur logiciel Athena sur GitLab. Conçu pour étudier les constituants fondamentaux de la matière en utilisant tout le potentiel de découverte du collisionneur du CERN, ce projet implique environ 6 000 membres et 3 000 auteurs scientifiques issus de 182 institutions réparties dans 42 pays. Ce vaste groupe de chercheurs à travers le monde avait besoin d'un moyen de visualiser le travail de chaque participant, de suggérer des idées et de résoudre les problèmes ensemble. La plateforme DevSecOps de GitLab leur a donné les outils pour y parvenir.

« ATLAS Athena n'est pas un projet de grande envergure uniquement en raison du nombre de lignes de code, de données analysées ou de scientifiques impliqués », précise Zach Marshall, Computing Coordinator de l'expérience ATLAS et Senior Scientist au Lawrence Berkeley National Laboratory. « C'est de loin notre projet le plus important et le plus significatif, à tous égards. En fin de compte, nous avions besoin d'un moyen de collaborer efficacement sur ce projet dynamique à grande échelle. C'est pourquoi tout ce que nous en faisons est concentré dans GitLab. C'est important pour nos scientifiques. Qu'ils développent des logiciels ou rédigent des articles, ils peuvent facilement partager des connaissances, itérer et travailler ensemble en temps réel. »

« Les recherches se font à la fois plus rapidement et plus efficacement », ajoute-t-il. « Une partie significative de notre travail collaboratif s'effectue sur GitLab. Les chercheurs peuvent travailler dans GitLab, consulter le projet et voir les progrès effectués. Ils peuvent ajouter des commentaires et partager leurs points de vue. La plateforme accélère notre travail. »

Alléger la chaîne d'outils et renforcer la sécurité

Les équipes DevSecOps du CERN ont allégé leur chaîne d'outils, qui incluait notamment Jenkins, Bamboo et GitHub. Selon Ismael Posada Trobo, cette chaîne composée de 5 outils a été entièrement remplacée par la plateforme DevSecOps de GitLab.

Tout rassembler au même endroit évite les changements de contexte, ainsi que la mise à jour, la maintenance et les coûts de plusieurs outils. L'utilisation d'une plateforme de bout en bout renforce également la sécurité de la chaîne d'approvisionnement logicielle et de l'application de l'organisation, ainsi que la sécurité de la recherche scientifique, des scientifiques et de la réputation précieuse du CERN.

« Comme toute autre organisation, université ou entreprise, le CERN est constamment la cible d'attaques. Tout en respectant la nature académique de notre activité, nous adaptons une posture de sécurité conforme pour assurer notre sécurité, » explique Ismael Posada Trobo. « GitLab nous aide à configurer des stratégies de sécurité et des frameworks de conformité pour tous les développeurs et la communauté dans son ensemble. C'est essentiel pour nous. »

Outre le scanning de sécurité automatisé, la détection des secrets et les tests statiques de sécurité des applications, le CERN bénéficie grâce à GitLab d'un avantage primordial en matière de sécurité : la possibilité de visualiser la posture de sécurité de ses applications. Grâce aux tableaux de bord intégrés, les équipes peuvent automatiquement consulter un ensemble d'indicateurs, d'évaluations et de graphiques présentant les vulnérabilités détectées par les scans de sécurité de la plateforme. Toutes ces informations sont agrégées sur une seule plateforme.

« J'obtiens les résultats des scans dans tous les domaines, des vulnérabilités aux découvertes critiques sur la stratégie et à la résolution des approbations requises pour des stratégies de scan spécifiques », détaille Ismael Posada Trobo. « Ces informations sont très utiles, car les tableaux de bord nous donnent un aperçu centralisé de toutes les découvertes de vulnérabilités. Nous savons désormais parfaitement ce qu'il se passe dans tous nos projets. Les rapports sont créés automatiquement, comme par magie. En un clic, nous pouvons rendre nos projets plus robustes. »

Économiser du temps et de l'argent tout en gagnant en productivité avec les runners GitLab

Quelques années en arrière, les membres de l'équipe DevSecOps du CERN consacraient beaucoup de temps à la création de leurs propres runners, qui exécutaient les compilations dans les pipelines. Ils ne disposaient que de 40 runners environ opérant sur jusqu'à 80 jobs simultanés dans leur écosystème. Ils disposent actuellement de trois fois plus de ressources grâce aux runners GitLab. Ils ont ainsi les moyens d'automatiser leur processus de livraison logicielle afin d'apporter de la valeur plus rapidement et de livrer du code de qualité plus fréquemment.

Le CERN a commencé à utiliser un plus grand nombre de runners à l'été 2023, lorsque GitLab a sorti les mises à jour des runners dans la version 16 de GitLab. De nouvelles instances d'agents légers et évolutifs exécutant les jobs CI/CD peuvent être créées dans GitLab. Les développeurs n'ont ainsi pas à compiler leurs propres runners privés. La plateforme permet également aux équipes de réutiliser des configurations pour enregistrer de multiples runners dotés des mêmes fonctionnalités, ainsi que de se servir de Kubernetes, qui automatise la gestion des conteneurs et inclut des commandes pour le déploiement des applications.

« Toute la communauté du CERN peut actuellement utiliser les runners de GitLab, au lieu de perdre du temps à compiler les siens », remarque Ismael Posada Trobo. « Notre utilisation des runners est en pleine explosion. Cette automatisation fait gagner du temps aux développeurs, qui peuvent désormais se concentrer sur des tâches plus importantes. Nous économisons ainsi de l'argent et pouvons faire évoluer notre développement logiciel plus efficacement. »

Selon Alejandro Iribarren, membre du conseil d'administration d'AlmaLinux et Engineering Tech Lead au CERN, certains des workflows automatisés en sont un parfait exemple.

« Ces workflows nous permettent de compiler de nouvelles images cloud, d'instancier des machines physiques et virtuelles multiples, de les tester avec diverses configurations et, si tous les tests réussissent, de promouvoir automatiquement de nouvelles images en production. Et tout ça, en un clic », remarque-t-il. « Grâce à ces pipelines CI, nous pouvons maintenant mettre à jour nos images cloud bien plus souvent, tout en ayant une plus grande confiance dans le résultat final. Le plus grand atout du système d'intégration continue de GitLab est qu'il nous permet de réduire le nombre de processus répétitifs dont nous devons nous soucier. »

Le futur des logiciels alimentés par l'IA

Les équipes DevSecOps du CERN n'ont pas encore commencé à tester les fonctionnalités d'intelligence artificielle (IA) de la plateforme. Ismael Posada Trobo affirme néanmoins qu'elles ont hâte de se pencher dessus. « J'entends les développeurs en parler. Ils me demandent quand ils pourront utiliser les fonctionnalités d'IA de GitLab », indique-t-il. « Nous savons que l'IA aidera notre communauté à créer du code de meilleure qualité. »

Grâce aux outils de GitLab Duo, comme la génération de tests, l'explication du code et la résolution des vulnérabilités, Ismael Posada Trobo prévoit un gain de productivité pour ses équipes, des économies financières et une réduction du temps consacré aux tâches répétitives, qui sera réinvesti dans la création de logiciels innovants. « Dans GitLab Duo, il est possible de modifier le code à la volée, ce qui permet de gagner en rapidité », souligne-t-il. « Avoir des outils qui aident les développeurs tout au long du cycle du développement logiciel améliore significativement leur productivité. Cela va leur faciliter le travail. »

« Il y a ici une claire volonté d'utiliser l'intelligence artificielle », affirme Ismael Posada Trobo. « Le CERN est l'une des organisations scientifiques les plus avancées, connue pour ses technologies de pointe. Nous devons être des pionniers de l'utilisation de l'IA. »

Pour les membres de l'équipe du CERN, GitLab représente un point clé du développement et de la recherche : la plateforme améliore le développement logiciel, l'analyse des données et la collaboration de la communauté scientifique internationale. En raison de la diversité des cas d'utilisation et des différents avantages, Ismael Posada Trobo prévoit une expansion de l'utilisation de la plateforme au CERN. « Lorsque les membres développent un logiciel, font des revues de code, gèrent des projets, suivent des tickets, effectuent des scannings de sécurité ou déploient des applications, ils utilisent GitLab », ajoute-t-il. « Tout s'effectue dans GitLab. Cela n'est pas près de changer. »

« Nous savons que l'IA aidera notre communauté à créer du code de meilleure qualité », déclare Ismael Posada Trobo, Tech Lead et Engineering Manager au CERN. « Avoir des outils qui aident les développeurs tout au long du cycle du développement logiciel améliore significativement leur productivité. Cela va leur simplifier le travail.

À la date de publication, toutes les informations et les personnes mentionnées dans l'étude de cas sont exactes.

Lancez-vous dès maintenant

Découvrez comment la plateforme DevSecOps alimentée
par l'IA la plus complète peut aider votre équipe.