Testimonianze dei clienti Intuitive Machines
+

Intuitive Machines effettua uno storico sbarco sulla Luna con GitLab

Consente una collaborazione d'importanza critica
Le pipeline offrono garanzia di qualità
Accelera lo sviluppo
Settore Scienza e tecnologia
Dipendenti 400
Località Houston, Texas
Soluzione

GitLab Premium

Vuoi scoprire i vantaggi di GitLab Ultimate per il tuo team?

Prova Ultimate gratis

Fondata nel 2013, Intuitive Machines si è evoluta da think tank a società di esplorazione spaziale che fornisce le infrastrutture spaziali e i servizi necessari per commercializzare il Sistema Solare.

Nel 2024, nell'ambito di un contratto della NASA, è diventata la prima società statunitense in 50 anni (e la prima impresa commerciale) a far atterrare un veicolo spaziale intatto sulla Luna. Nominata una delle 100 aziende più influenti del 2024 dalla rivista Time, Intuitive Machines è in prima linea nell'esplorazione lunare.

Abbiamo costruito una navicella spaziale da zero in cinque anni. Senza GitLab, non avremmo potuto farlo. Il lander non sarebbe decollato, non nel lasso di tempo a nostra disposizione e non con il numero di persone che avevamo nel team.
- James Blakeslee, Responsabile software, Intuitive Machines

Quando Intuitive Machines vinse un contratto da 77 milioni di dollari con la NASA nel 2019 per costruire, lanciare e far atterrare un veicolo spaziale vicino al polo sud della Luna, il suo team di sviluppo software sapeva di avere solo cinque anni per sviluppare tutto il codice necessario per la comunicazione, la navigazione, il controllo e il volo del veicolo. Un simile risultato non sarebbe stato possibile con una toolchain frammentata e dispendiosa in termini di tempo. Era quindi necessaria una piattaforma DevSecOps end-to-end per la creazione e il deployment più rapidi di software sicuro, per rispettare le scadenze e diventare la prima impresa statunitense a effettuare un allunaggio dai tempi delle famose missioni Apollo nei primi anni Settanta. La scelta di Intuitive Machines è stata la collaborazione GitLab, e insieme hanno fatto la storia.

I preparativi per la missione lunare portano all'adozione di GitLab

Fiduciosa nella possibilità di vincere il contratto NASA del lander lunare nel 2019, Intuitive Machines ha adottato GitLab mesi prima di ricevere la conferma ufficiale, per essere subito pronta a mettersi al lavoro.

"Il progetto del lander lunare era un ordine di grandezza più grande di qualsiasi cosa avessimo mai realizzato", racconta James Blakeslee, responsabile del software di Intuitive Machines. “Avevamo un foglio bianco davanti a noi, quindi abbiamo potuto cominciare da zero. Per quanto riguarda il team software e il lavoro che ci aspettava, sapevamo che occorreva una piattaforma in grado di gestire tutte le nostre sfide software".

Blakeslee ricorda anche quanto sia stato importante avere un'applicazione singola in cui tutto il team, che comprendeva tra i 40 e i 50 sviluppatori, potesse lavorare, avere visibilità sui processi e collaborare a progetti condivisi. Ogni membro dell'équipe doveva avere la possibilità di partecipare a qualsiasi progetto e di dedicarsi a ogni tipo di attività. "A tutti serviva una piattaforma che avesse lo stesso aspetto, indipendentemente dal progetto o dal processo software a cui si stava lavorando", afferma Blakeslee. "La piattaforma di GitLab ci ha dato proprio questa flessibilità collaborativa e aveva già gli strumenti di cui avevamo bisogno. Perciò l'abbiamo adottata per tutto il nostro lavoro".

La corsa per costruire un veicolo spaziale da zero

Oltre a usare alcuni framework legacy già a sua disposizione, Intuitive Machines si è trovata a dovere sviluppare tutto il software per Odysseus (o semplicemente "Odie"), il lander lunare. Doveva quindi sviluppare sistemi per il controllo a terra, la simulazione, le esigenze in volo come la navigazione e le comunicazioni, e le funzioni di atterraggio.

"Il motivo per cui il veicolo spaziale funziona è che l'abbiamo testato con simulazioni decine di migliaia o centinaia di migliaia di volte prima che la missione partisse", afferma Blakeslee. "E se il software nel centro di controllo non funzionasse, non potremmo vedere la telemetria dal veicolo spaziale né comunicare con esso. Questo lascerebbe gli operatori all'oscuro di ciò che accade. Tutto ciò è fondamentale per la missione", aggiunge Blakeslee. "Questo software critico è stato sviluppato con GitLab. Non ce l'avremmo fatta senza la piattaforma".

Odysseus è decollato il 15 febbraio 2024 con a bordo non un equipaggio, ma un carico scientifico e commerciale, tra cui strumentazioni per le osservazioni radio, telecamere stereo e il lidar doppler di navigazione. Il lander è atterrato sulla Luna sette giorni dopo il lancio, unendosi alle file di Russia, Stati Uniti, Cina, India e Giappone, l'unico gruppo esclusivo ad avere raggiunto un simile traguardo.

"Abbiamo costruito una navicella spaziale da zero in cinque anni. Senza GitLab, non avremmo potuto farlo. Il lander non si sarebbe alzato in volo, non nel lasso di tempo a nostra disposizione e non con il numero di persone che avevamo nel team", racconta Blakeslee.

Correzioni software al volo con le pipeline CI

Il decollo del lander non era l'ultimo compito del team DevSecOps.

Il primo volo di qualsiasi veicolo spaziale è considerato sperimentale, perciò i tecnici si attendono di trovare e categorizzare una serie di problemi solo dopo il lancio. Nel caso di Odysseus "sicuramente ci sono stati elementi a sorpresa emersi in volo nonostante tutti i complessi test che avevamo eseguito", racconta Blakeslee. "Perciò abbiamo dovuto applicare le patch al software durante il volo. Le scadenze erano ancora più stette. La posta in gioco era altissima. C'era molta più tensione".

A causa delle tempistiche dovute alla meccanica orbitale e ai vincoli termici, c'erano scadenze specifiche per l'invio di patch al lander, sia in fase di volo che dopo l'allunaggio. Per creare e distribuire rapidamente queste patch, comprese le correzioni per i telemetri laser, le comunicazioni e la navigazione, è stato fatto grande affidamento sulle pipeline di integrazione continua (CI) di GitLab per garantire che le patch non introducessero difetti nel sistema.

Come racconta Blakeslee, le pipeline CI consentono ai team di esaminare il software ed eseguire controlli di assicurazione qualità a una velocità impossibile da raggiungere manualmente. Gli sviluppatori di Intuitive Machines sono stati in grado di creare i propri test di regressione, integrazione, assicurazione qualità e accettazione che vengono eseguiti nelle pipeline. I test hanno fornito approfondimenti sul codice modificato e hanno assicurato che le patch non avessero introdotto errori, fossero compatibili con il software di terra e risolvessero effettivamente i problemi.

"Abbiamo esaminato tutto nelle pipeline CI", afferma Blakeslee, raccontando come GitLab ha permesso di ridurre di 20 volte il tempo di esecuzione della pipeline. "Bisogna introdurre buone patch nella navicella spaziale. Come si può immaginare, se le patch non sono ottimali tutto può andare a gambe all'aria. Un problema simile potrebbe porre fine alla missione, quindi serve uno strumento che esegua controlli delle patch. GitLab ha fatto proprio questo".

Quando il veicolo spaziale è allunato con un'inclinazione inaspettata, che ha causato gravi problemi di comunicazione, queste pipeline CI hanno anche aiutato i team DevSecOps a creare patch per i problemi dovuti all'atterraggio imprevisto. Per risolverli si è dovuto sviluppare rapidamente diverse patch, verificarle utilizzando le pipeline CI e ripristinare tempestivamente i sistemi di comunicazione, inviando infine le patch a 250.000 miglia di distanza per ripristinare il funzionamento del lander.

I piani per il prossimo lander lunare e un veicolo per il terreno della Luna

Dopo aver caricato le correzioni nei sistemi del lander, Odysseus ha operato sulla superficie lunare per sette giorni, la durata prevista della missione. Ora, con alle spalle una missione lunare conclusa con successo, Intuitive Machines si sta concentrando sul lancio di un secondo lander, che avverrà alla fine del 2024. Poiché il processo di sviluppo ha funzionato ottimamente per Odysseus, Blakeslee prevede di usare la stessa configurazione.

"Abbiamo meno di un anno di lavoro tra le due missioni lunari, quindi possiamo prepararci solo sfruttando ciò che abbiamo già costruito", racconta. "Questa prossima navicella spaziale è un'evoluzione della prima missione, perciò non cambieremo strumenti, e certamente non prevediamo di ricominciare da zero con la piattaforma DevSecOps. Ci atterremo a ciò che funziona".

Intuitive Machines, sperando che il lavoro sulla Luna prosegua oltre le missioni dei due lander, è una delle tre società scelte dalla NASA per condurre studi di un anno per lo sviluppo di un progetto preliminare e di un prototipo di veicolo per il terreno lunare (anche detto LTV, da Lunar Terrain Veichle). L'LTV farà parte delle missioni Artemis, che riporteranno gli esseri umani sulla Luna. La NASA sceglierà una o più delle tre società per costruire un LTV e quindi testarne le prestazioni e la sicurezza. Il veicolo dovrà poter funzionare per almeno 10 anni sulla superficie lunare a temperature estreme, trasportare due astronauti e utilizzare un braccio robotico. Il lancio della prima missione Artemis è previsto per il 2029.

"Se la NASA ci selezionerà per costruire l'LTV, sicuramente costruiremo i sistemi con GitLab perché ha funzionato benissimo per noi", afferma Blakeslee. "Amplieremo semplicemente il team DevSecOps attuale. Non possiamo negare che il successo del primo sbarco statunitense sulla Luna in oltre 50 anni sia un traguardo importante. Perciò ho intenzione di continuare a utilizzare l'ecosistema che ha permesso questo risultato".

L'intelligenza artificiale per accelerare lo sviluppo

Quando il secondo lander sarà giunto sulla superficie lunare, i team DevSecOps avranno il tempo di valutare il loro utilizzo di GitLab e aggiungere altre funzionalità della piattaforma, ad esempio sfruttare i runner di GitLab per gestire le dimensioni crescenti dei team e i carichi di lavoro maggiori sulle pipeline.

Blakeslee non vede l'ora di poter usare anche le funzionalità di IA di GitLab Duo.

"La rivoluzione dell'IA è ormai alle porte e usare GitLab Duo ci sembra un progresso naturale", afferma. "Penso che aiuterà non solo con i suggerimenti e il completamento del codice, ma anche con le risposte alle domande sulle vulnerabilità e sul codice. Siamo sempre alla ricerca di modi per migliorare non solo la velocità, ma anche l'esperienza di sviluppo complessiva.

"L'IA è davvero un acceleratore per lo sviluppo", aggiunge Blakeslee. "Bisogna stare al passo per continuare a essere competitivi. Ecco perché vorrei usare GitLab Duo."

GitLab è un componente fondamentale dei successi lunari

Tra l'allunaggio di Odysseus di Intuitive Machines e la missione Apollo del 1972 sono passati 52 anni. Il primo sbarco lunare commerciale negli Stati Uniti è un evento di portata storica, che ha conferito a Intuitive Machines un ruolo di rilievo nel settore dell'esplorazione spaziale.

"Tutto ciò su cui stavamo lavorando si riassumeva in un evento molto specifico e non avevamo molto margine di errore", spiega Blakeslee. "Senza un'assicurazione qualità del software e un'automazione ottimali che ci dessero delle garanzie, non avremmo potuto realizzare la missione. Non ho dubbi che se avessi scelto altri strumenti di sviluppo il nostro software sarebbe giunto in ritardo e avrebbe avuto una serie di problemi, e probabilmente il lander non sarebbe mai partito."

"Non avremmo assolutamente potuto costruire una navicella in cinque anni senza GitLab. GitLab ci ha aiutato a fare la storia", aggiunge. "Ha apportato un vantaggio materiale al successo della nostra azienda".

Tutte le informazioni e le persone coinvolte nel case study rappresentano fedelmente la situazione reale al momento della pubblicazione.

Vuoi iniziare?

Scopri cosa è capace di fare il tuo team grazie a una piattaforma DevSecOps unificata.