

Il CERN migliora la comprensione dell'universo con l'aiuto di GitLab

GitLab Ultimate
Vuoi scoprire i vantaggi di GitLab Ultimate per il tuo team?
Il CERN riunisce gli scienziati di tutto il mondo in progetti di collaborazione di rilevanza globale, con l'obiettivo di scoprire come funziona e come è composto l'universo. I team del CERN si avvalgono di GitLab per creare software che aiutino a indagare su fenomeni come la materia oscura e il bosone di Higgs.
Il CERN, il Laboratorio europeo di fisica delle particelle, è un'organizzazione intergovernativa di fama mondiale che gestisce il più grande laboratorio di fisica delle particelle al mondo. In questa struttura, fisici e ingegneri di 24 stati membri studiano la struttura fondamentale delle particelle che compongono ogni cosa, per comprendere i più grandi misteri scientifici dell'universo. La comunità scientifica del CERN usa GitLab per affrontare una sfida complessa: gestire in modo sicuro ed efficiente l'acceleratore di particelle più grande e potente al mondo, ed elaborare le enormi quantità di dati generate. La piattaforma è usata anche dagli scienziati di università e istituti di ricerca in tutto il mondo per collaborare a progetti condivisi.
Sviluppare software per indagare l'universo
Fondato nel 1954, il CERN ha attivato per la prima volta il Large Hadron Collider (LHC) nel 2008. Il collisore, definito "una delle maggiori pietre miliari ingegneristiche dell'umanità", è un anello sotterraneo lungo 27 chilometri che ricrea le condizioni di vuoto, composto da una serie di strutture di accelerazione. L'LHC genera collisioni tra fasci di particelle per crearne di nuove, replicando le condizioni dell'universo pochi istanti dopo la sua nascita. Il suo obiettivo è indagare concetti come il Big Bang, la materia oscura e il bosone di Higgs.
Per anni il CERN ha usato diversi strumenti DevOps, tra cui GitHub, per sviluppare il software necessario per la sua comunità scientifica. Tuttavia, i team avevano bisogno di una soluzione più completa: il passaggio a una piattaforma DevSecOps end-to-end completa che aggiungesse sicurezza all'intero ciclo di vita dello sviluppo software e ne aumentasse l'efficienza e la velocità di consegna. Il CERN ha adottato la piattaforma di GitLab con GitLab Starter nel 2015. Grazie a essa, le équipe scientifiche hanno iniziato ad aggiornare, iterare e ricostruire tutti i loro software. Da allora, ogni nuovo progetto è stato sviluppato e implementato con GitLab. Per aumentare ulteriormente l'efficienza e la visibilità, nel 2020 è stato effettuato l'upgrade a GitLab Premium e nel 2023 a GitLab Ultimate, per sfruttare il framework di sicurezza avanzato.
"Tutto il nostro software, quello che esegue il nostro complesso, che esegue il collider, che crea le collisioni, è sviluppato e ospitato su GitLab", afferma Michi Hostettler, ingegnere responsabile del Large Hadron Collider al CERN. "Per noi è un software importante. Grazie all'integrazione, all'automazione, al monitoraggio dei ticket, alle analisi sicurezza e alla documentazione della piattaforma, tutto viene sviluppato grazie a essa. "
Il collisore è parte integrante dell'infrastruttura e della missione scientifica della struttura. Per questo, il lavoro degli scienziati di fama mondiale del CERN dipende in gran parte dal software sviluppato da GitLab, che permette il funzionamento ottimale dell'LHC e l'analisi dell'exabyte di dati grezzi prodotto annualmente. Comprendere questi dati è fondamentale per ampliare la conoscenza del mondo da parte degli esseri umani.
"GitLab è considerato un pezzo importante dell'ecosistema del CERN", afferma Ismael Posada Trobo, responsabile tecnico dei sistemi di controllo della versione e direttore dell'ingegneria del CERN. "Con il software integrato e ospitato su GitLab, stiamo simulando le collisioni di particelle e ricreando le collisioni con i dati dell'LHC. Questo consente agli scienziati di fare ricerca e immaginare. Per gli sviluppatori, GitLab è fondamentale per portare a termine il lavoro".
Supportare le grandi ricerche collaborative globali
La piattaforma di GitLab non viene usata solo dai team DevSecOps del CERN per sviluppare software. Secondo Trobo, per il 30% GitLab è impiegato al fine di collegare i ricercatori di università, laboratori e istituti di ricerca in tutto il mondo, agevolando la comunicazione e la collaborazione a progetti scientifici.
Un esempio è l'esperimento ATLAS, uno dei più grandi progetti collaborativi mai intrapresi dal mondo scientifico, il cui software, Athena, è basato sulla piattaforma GitLab. L'iniziativa si propone di studiare i costituenti fondamentali della materia sfruttando tutte le potenzialità del collisore del CERN, e coinvolge circa 6.000 membri e 3.000 autori scientifici di 182 istituzioni e 42 Paesi. Questo ampio gruppo di ricerca distribuito in tutto il mondo aveva bisogno di un modo per visualizzare il lavoro degli altri membri, fornire approfondimenti e collaborare ai problemi. La piattaforma DevSecOps di GitLab ha offerto questa possibilità.
"ATLAS Athena non è solo grande in termini di righe di codice, dati analizzati o numero di scienziati coinvolti", afferma Zach Marshall, coordinatore informatico dell'esperimento ATLAS e scienziato senior del Lawrence Berkeley National Laboratory. "È di gran lunga il nostro progetto più grande e potente, sotto ogni aspetto. Avevamo bisogno di uno strumento per lavorare in modo efficiente e collaborativo a questo progetto enorme e dinamico. Ecco perché tutte le nostre attività sono concentrate su GitLab. È molto importante per i nostri scienziati. Possiamo condividere facilmente le conoscenze, iterare e collaborare in tempo reale, sia per sviluppare software che per scrivere articoli scientifici.
"Questo rende la ricerca più rapida ed efficace", aggiunge. "Gran parte del nostro lavoro collaborativo passa da GitLab. Gli scienziati possono lavorare in GitLab, visualizzando il progetto e il suo avanzamento. Possono commentare e fornire un feedback. GitLab accelera il nostro lavoro".
Accorciare le toolchain e aumentare la sicurezza
I team DevSecOps del CERN stanno accorciando la loro toolchain composta da strumenti come Jenkins, Bamboo e GitHub. Trobo racconta che la toolchain di cinque elementi è stata completamente sostituita con la piattaforma singola di GitLab.
L'eliminazione della toolchain consente di evitare la commutazione di contesto, nonché l'aggiornamento, la gestione e il pagamento di più strumenti. Inoltre, usare una piattaforma end-to-end migliora la sicurezza delle applicazioni e della catena di fornitura del software della struttura. Questo comporta anche una sicurezza migliore per la ricerca scientifica, gli scienziati e la preziosa reputazione del CERN.
"Come qualsiasi altra organizzazione, università o azienda, il CERN è costantemente sotto attacco. In equilibrio con la natura accademica della nostra struttura, adattiamo la nostra security posture di conseguenza per preservare la sicurezza", spiega Trobo. "GitLab ci aiuta a impostare criteri di sicurezza e framework di conformità per tutti gli sviluppatori e l'intera comunità. Un aspetto molto importante per noi
Un grande vantaggio in termini di sicurezza che il CERN ha ottenuto con GitLab, insieme all'analisi automatizzata, al rilevamento dei segreti e ai test statici di sicurezza delle applicazioni, è la capacità di visualizzare la security posture delle sue applicazioni. Grazie alle dashboard integrate, è possibile visualizzare automaticamente una raccolta di metriche, valutazioni e grafici per qualsiasi vulnerabilità rilevata dagli scanner di sicurezza della piattaforma. Tutte le informazioni sono aggregate in un unico posto.
"Posso ottenere risultati delle analisi relativi a ogni aspetto, dalle vulnerabilità ai risultati critici dei criteri, alla risoluzione delle approvazioni richieste per criteri di analisi specifici", afferma Trobo. "È molto utile, perché le dashboard ci offrono una panoramica per esaminare tutti i risultati della sicurezza in un unico posto. Ora siamo ben consapevoli di cosa accade in tutti i nostri progetti. I report sono creati in modo quasi automatico. Con un clic, possiamo rendere i progetti più solidi".
Risparmiare tempo, denaro e inefficienze con i runner di GitLab
Alcuni anni fa, i membri del team DevSecOps del CERN dedicavano molto tempo a sviluppare i runner, che operavano le build in pipeline. Avevano circa solo 40 runner per un massimo di 80 job simultanei in tutto l'ecosistema. Oggi il numero è triplicato, poiché il CERN si affida ai runner di GitLab, che consentono di automatizzare il processo di distribuzione del software fornendo valore più velocemente e garantendo più spesso codice di qualità.
Il CERN ha iniziato a usare più runner nell'estate del 2023, quando GitLab ha fornito aggiornamenti come parte della release numero 16. Le nuove istanze degli agenti leggeri e scalabili che eseguono i job di CI/CD possono essere create in GitLab, e gli sviluppatori non devono realizzare i propri runner privati. La piattaforma consente inoltre di riutilizzare le configurazioni dei runner per registrare più runner con le stesse funzionalità, e di sfruttare Kubernetes che automatizza la gestione dei container e include comandi per il deployment delle applicazioni.
"Ora l'intera comunità del CERN può utilizzare i runner di GitLab invece di dedicare tempo alla creazione dei propri", afferma Trobo. "Oggi stiamo espandendo rapidamente l'uso dei runner. Questa automazione consente agli sviluppatori di risparmiare tempo prezioso per attività più importanti. A suo volta, ci consente di risparmiare denaro e di scalare lo sviluppo del software in modo più efficiente".
Secondo Alejandro Iribarren, membro del Consiglio di Amministrazione di AlmaLinux e ingegnere responsabile del CERN, un ottimo esempio sono alcuni dei flussi di lavoro automatizzati dell'organizzazione.
"Questi flussi di lavoro ci consentono di sviluppare nuove immagini cloud, istanziare più macchine virtuali e fisiche, testarle con varie configurazioni e, se tutti i test sono superati, promuovere automaticamente nuove immagini in produzione, tutto in pochi secondi", aggiunge. "Grazie a queste pipeline di CI, ora possiamo aggiornare le nostre immagini cloud molto più frequentemente, con più fiducia nel risultato finale. Il più grande valore di GitLab CI è che ci consente di ridurre il numero di elementi di cui preoccuparci".
Un software basato sull'IA per il futuro
I team DevSecOps del CERN non hanno ancora iniziato a testare le funzionalità di intelligenza artificiale (IA) della piattaforma, ma secondo Trobo sono impazienti di farlo. "Sento gli sviluppatori parlarne. Mi chiedono quando potranno usare le funzionalità di IA in GitLab", aggiunge. "Sappiamo che l'IA aiuterà la nostra community a sviluppare codice migliore".
Con gli strumenti di GitLab Duo come la generazione di test, la spiegazione del codice e la risoluzione delle vulnerabilità, secondo Trobo i team potranno aumentare l'efficienza, risparmiare denaro e dedicare meno tempo alle attività ripetitive, concentrandosi sulla creazione di software innovativo. "In GitLab Duo è possibile modificare il codice rapidamente, velocizzando nettamente il lavoro", osserva. "Questo strumento aumenta di molto l'efficienza per gli sviluppatori, perché li aiuta in tutto il ciclo di sviluppo del software. Renderà molto più semplice il loro lavoro.
"Notiamo un chiaro desiderio di usare l'intelligenza artificiale", afferma Trobo. "Il CERN è una delle organizzazioni scientifiche più avanzate, nota per l'utilizzo di tecnologie all'avanguardia. Dobbiamo essere in prima linea nell'utilizzo dell'IA".
I membri del CERN considerano GitLab un punto chiave per lo sviluppo e la ricerca, che garantirà l'efficienza dello sviluppo software, dell'analisi dei dati e della collaborazione scientifica globale. A causa dell'ampiezza del suo utilizzo e dei suoi vantaggi, Trobo immagina che la piattaforma sarà usata sempre di più. "Quando qualcuno sviluppa, revisiona, gestisce progetti, monitora i ticket, esegue le analisi di sicurezza o il deployment, lo fa in GitLab", aggiunge. "Qualunque attività è svolta su GitLab. Non credo che le cose cambieranno".
"Sappiamo che l'IA aiuterà la nostra community a sviluppare codice migliore", afferma Ismael Posada Trobo, responsabile tecnico e direttore dell'ingegneria del CERN. "Questo strumento aumenta di molto l'efficienza per gli sviluppatori, perché li aiuta in tutto il ciclo di sviluppo del software. Renderà molto più semplice il loro lavoro.
Tutte le informazioni e le persone coinvolte nel case study rappresentano fedelmente la situazione reale al momento della pubblicazione.