Intuitive Machines hace posible el histórico alunizaje con GitLab
GitLab Premium
¿Quiere ver lo que GitLab Ultimate puede hacer por su equipo?
Intuitive Machines, fundada en 2013, ha evolucionado de un grupo de expertos a una empresa de exploración espacial que proporciona la infraestructura espacial y los servicios necesarios para comercializar el Sistema Solar.
En 2024, trabajando con un contrato de la NASA, se convirtió en la primera empresa estadounidense en 50 años, y la primera organización comercial, en aterrizar una nave espacial intacta en la Luna. Nombrada una de las 100 empresas más influyentes de 2024 por la revista Time, Intuitive Machines está a la vanguardia de la exploración lunar.
Cuando Intuitive Machines ganó un contrato de $77 millones de la NASA en 2019 para construir, lanzar y aterrizar una nave espacial cerca del polo sur de la Luna, el equipo de desarrollo de software de la compañía sabía que solo tenían cinco años para construir todo el código que necesitarían para comunicarse, navegar, controlar y volar el vehículo. Y no podían hacerlo con una cadena de herramientas fragmentada y lenta. Necesitaban una plataforma de DevSecOps integral para crear e implementar un software seguro más rápido, cumplir con los plazos y convertirse en la primera empresa estadounidense en aterrizar en la Luna desde las famosas misiones Apolo a principios de la década de 1970. Se asociaron con GitLab e hicieron historia juntos.
La preparación del lanzamiento a la Luna impulsa la adopción de GitLab
Confiando en sus posibilidades de ganar el contrato del módulo de alunizaje de la NASA en 2019, Intuitive Machines adoptó GitLab meses antes de recibir la confirmación oficial, por lo que estarían preparados para empezar a trabajar.
«El proyecto del módulo de alunizaje tenía, sin duda, un orden de magnitud mayor que todo lo que habíamos hecho hasta entonces», dice James Blakeslee, jefe de Software de Intuitive Machines. «Teníamos la hoja en blanco, así que tuvimos la oportunidad de empezar de cero. Al analizar al equipo de software y lo que teníamos que hacer, sabíamos que necesitábamos una plataforma que pudiera gestionar todos nuestros desafíos de software».
Agrega que era importante disponer de una única aplicación en la que sus 40 a 50 desarrolladores pudieran trabajar, ganar visibilidad y colaborar en proyectos compartidos. Todos en su equipo debían poder participar en cualquier proyecto y colaborar en lo que hiciera falta. «Todo el equipo necesitaba una plataforma con el mismo aspecto, independientemente del proyecto o proceso de software en el que estuvieran trabajando», comenta Blakeslee. «Y la plataforma de GitLab nos ofrecía esa flexibilidad de colaboración y ya tenía incorporadas las herramientas que necesitábamos. Lo apostamos todo a GitLab».
La carrera para construir una nave espacial desde cero
Además de utilizar algunos marcos heredados que la empresa ya tenía implementados, Intuitive Machines tuvo que desarrollar todo el software para el módulo de alunizaje, llamado Odysseus u «Odie». Eso significaba crear sistemas para el control en tierra; la simulación; las necesidades en vuelo, como la navegación y las comunicaciones; y las funciones de alunizaje.
«La razón por la que la nave espacial funciona es porque la probamos a fondo con simulaciones decenas de miles o cientos de miles de veces antes de que la misión volara», afirma Blakeslee. «Y si el software del centro de control no funciona, no se puede ver la telemetría de la nave espacial y no se puede hablar con ella. Eso dejaría ciegos a los operadores. Todo eso es crítico para la misión», agrega. «Todo ese software crítico se creó con GitLab. No podríamos haberlo hecho sin la plataforma».
Odysseus despegó el 15 de febrero de 2024. No transportaba tripulación humana, pero sí cargas útiles científicas comerciales, incluida tecnología para radioobservaciones, cámaras estereoscópicas y lidar doppler de navegación. Aterrizó en la Luna siete días después del lanzamiento, uniéndose solo a Rusia, Estados Unidos, China, India y Japón como parte de un pequeño grupo de élite que ha conseguido este logro.
«Construimos una nave espacial desde cero en cinco años. No podríamos haberlo hecho si no hubiéramos adoptado GitLab. El módulo de alunizaje no habría volado, no en el plazo en el que estábamos trabajando y con la cantidad de personas que teníamos en el equipo», afirma Blakeslee.
Realización de correcciones de software sobre la marcha con pipelines de CI
Conseguir que la nave espacial despegara no fue el final del trabajo del equipo de DevSecOps.
El primer vuelo de cualquier nave espacial se considera experimental, y los ingenieros esperan encontrar y clasificar los problemas después del lanzamiento. Para Odysseus, «ciertamente hubo incidentes inesperados que surgieron durante el vuelo a pesar de todas las pruebas rigurosas que realizamos», afirma Blakeslee. «Eso significaba que teníamos que parchear el software durante el vuelo. Los plazos eran más ajustados. Lo que estaba en juego era más importante. Había mucha más tensión».
Debido a los plazos establecidos por la mecánica orbital y las restricciones térmicas, había plazos específicos para enviar parches al módulo de alunizaje, tanto en vuelo como en la Luna. Para crear e implementar rápidamente esos parches, que incluían correcciones para los telémetros láser, las comunicaciones y la navegación, se basaron en gran medida en los pipelines de integración continua (CI) de GitLab para garantizar que los parches no introdujeran ningún defecto en el sistema.
Según Blakeslee, los pipelines de CI permiten a los equipos examinar el software y realizar comprobaciones de calidad a una velocidad que no podrían hacer manualmente. Los desarrolladores de Intuitive Machines pudieron crear sus propias pruebas de regresión, integración, garantía de calidad y aceptación que se ejecutan en los pipelines. Todas estas pruebas les dieron información sobre el código que se modificó y les permitieron asegurarse de que los parches no habían roto nada, eran compatibles con el software de base y realmente solucionaban los problemas que debían resolver.
«Analizamos todo el código en los pipelines de CI», dice Blakeslee, señalando que experimentaron una reducción de 20 veces en el tiempo de ejecución del pipeline con GitLab. «Hay que introducir buenos parches en la nave espacial. Como puede imaginar, si se introducen parches malos, se puede terminar todo. Definitivamente podría significar el fin de la misión, por lo que es necesario contar con una herramienta que los examine. GitLab hizo eso por nosotros».
Esos pipelines de CI también ayudaron a los equipos de DevSecOps a crear parches para los problemas causados cuando la nave espacial aterrizó inesperadamente en ángulo en la Luna, lo que provocó problemas críticos de comunicación. Los equipos tuvieron que desarrollar rápidamente múltiples parches de software, verificarlos mediante los pipelines de CI y restaurar los sistemas de comunicación de inmediato, y finalmente enviar los parches un cuarto de millón de millas para que el módulo de alunizaje volviera a funcionar con éxito.
Planificación del próximo módulo de alunizaje y de un vehículo para terreno lunar
Una vez introducidas las correcciones en los sistemas del módulo de alunizaje, Odysseus operó en la superficie lunar durante siete días, la duración prevista de la misión. Ahora, con una exitosa misión lunar en su haber, Intuitive Machines se propone lanzar un segundo módulo de alunizaje a finales de 2024. Como su proceso de desarrollo funcionó tan bien para Odysseus, Blakeslee dice que planea utilizar la misma configuración.
«Tenemos menos de un año entre misiones lunares, por lo que prepararnos solo es posible si nos basamos en lo que ya construimos», agrega. «Esta próxima nave espacial es una evolución de la primera misión, por lo que no cambiaremos las herramientas y ciertamente no planeamos comenzar de cero con la plataforma de DevSecOps. Vamos a seguir con lo que funciona».
Intuitive Machines, que espera que sus trabajos lunares continúen más allá de los dos módulos de alunizaje, es una de las tres empresas elegidas por la NASA para llevar a cabo estudios de un año de duración centrados en el desarrollo de un diseño preliminar y un prototipo para un vehículo para terreno lunar («LTV»). Este LTV formará parte de las misiones Artemis, que llevarán a seres humanos a la Luna. La NASA elegirá una o varias de las tres empresas para construir un LTV y luego pondrá a prueba su rendimiento y seguridad. Se espera que el vehículo pueda trabajar durante al menos 10 años en la superficie lunar a temperaturas extremas, transportar a dos astronautas y utilizar un brazo robótico. El lanzamiento de la primera misión Artemis está previsto para 2029.
«Si la NASA termina seleccionándonos para construir el LTV, sin duda desarrollaremos los sistemas con GitLab porque nos ha funcionado muy bien», dice Blakeslee. «Simplemente ampliaríamos el grupo de DevSecOps que tenemos ahora. No podemos discutir los resultados de aterrizar en la Luna por primera vez para los Estados Unidos en más de 50 años. Así que planeo seguir usando el ecosistema que empleamos para lograrlo».
Uso de la inteligencia artificial para acelerar el desarrollo
Una vez que el segundo módulo de alunizaje haya llegado a la superficie de la Luna, los equipos de DevSecOps de la empresa podrán hacer una pausa el tiempo suficiente para evaluar cómo están utilizando GitLab y agregar más funcionalidades de la plataforma, como aprovechar los runners de GitLab para ayudar a gestionar el tamaño cada vez mayor de sus equipos y las cargas de trabajo en sus pipelines.
Otra cosa que Blakeslee dice que están deseando usar son las funcionalidades de inteligencia artificial de GitLab Duo.
«La revolución de la IA ya está aquí con toda su fuerza, y utilizar GitLab Duo nos parece un paso natural», comenta. «Creo que ayudará no solo con sugerencias de código y autocompletado del código, sino también con las respuestas a preguntas sobre vulnerabilidades y código. Siempre estamos buscando formas de mejorar no solo la velocidad, sino también la experiencia de desarrollo en general».
«La IA es realmente un acelerador del desarrollo», agrega Blakeslee. «Hay que mantenerse al día si se quiere seguir siendo competitivo. Por eso estoy considerando GitLab Duo».
GitLab, una parte fundamental del éxito lunar
Transcurrieron 52 años entre la misión Apolo de 1972 y el momento en que Intuitive Machines logró alunizar con éxito el Odysseus. Y este primer alunizaje comercial estadounidense fue un hito histórico que situó a Intuitive Machines en el mapa de la industria de la exploración espacial.
«Todo en lo que trabajábamos se concentraba en un acontecimiento muy concreto y no teníamos mucho margen de error», afirma Blakeslee. «Si no hubiéramos tenido una muy buena garantía de calidad del software y automatización en torno a esa garantía, no habríamos podido lograrlo. No me cabe ninguna duda de que, si retrocediera en el tiempo y eligiera otras herramientas de desarrollo, nuestro software habría estado retrasado y con fallas, y probablemente no habríamos podido volar».
«No podríamos haber construido una nave espacial en cinco años sin GitLab. Nos ayudó a hacer historia», agrega. «Eso supuso un beneficio material para el éxito de nuestro negocio».
Toda la información y las personas involucradas en el estudio de caso son precisas en el momento de la publicación.