Testimonios de clientes Lockheed Martin
+

Lockheed Martin ahorra tiempo, dinero y recursos tecnológicos con GitLab

Adopción sin complicaciones
Cadenas de herramientas simplificadas
Uso compartido de software optimizado
Sector Fabricación aeroespacial y de defensa
Empleados 114 000
Ubicación Bethesda, Maryland, EE. UU.
Solución

¿Quiere ver lo que GitLab Ultimate puede hacer por su equipo?

Probar el plan Ultimate gratis

El contratista de defensa más grande del mundo utiliza la plataforma integral de DevSecOps de GitLab para reducir las cadenas de herramientas, acelerar la producción y mejorar la seguridad.

Lockheed Martin Corp., la empresa estadounidense líder en el sector aeroespacial y de defensa, seguridad de la información y tecnología, utiliza la plataforma DevSecOps única e integral de GitLab para desarrollar e implementar software de manera más eficiente, segura y rápida para miles de sus programas, desde plataformas satelitales y sistemas aeroespaciales hasta software de control en tierra y marítimo en la superficie y debajo.

Al empezar a usar GitLab y automatizar la implementación, los equipos pasaron de entregas mensuales o semanales a entregas diarias o incluso en cuestión de horas.
- Alan Hohn, Director de Estrategia de Software, Lockheed Martin

Satisfacer las necesidades clave con rapidez y flexibilidad

Con sede en Bethesda, Maryland, Lockheed Martin tiene aproximadamente 116 000 empleados en todo el mundo y más de 370 instalaciones. La empresa se dedica principalmente a la investigación, el diseño, el desarrollo, la fabricación, la integración y el mantenimiento de sistemas, productos y servicios de tecnología avanzada. La mayoría de los negocios de la empresa son con el Departamento de Defensa de los EE. UU. y las agencias del gobierno federal de los EE. UU. Solo en el sector aeronáutico, Lockheed Martin alcanzó $26 700 millones en ventas en 2021.

Los clientes de Lockheed Martin confían en que la empresa los ayudará a superar sus desafíos más complejos y a anticiparse a las amenazas emergentes a través de las soluciones tecnológicas más avanzadas. Sus equipos de ingeniería necesitan trabajar con velocidad y flexibilidad para satisfacer las necesidades específicas de cada cliente, al tiempo que utilizan la experiencia y la infraestructura compartidas para garantizar la asequibilidad.

Abordar la complejidad de la cadena de herramientas

A lo largo de su historia, Lockheed Martin usó una amplia variedad de herramientas de DevOps, desde ClearCase hasta Jenkins, Dimensions, Redmine y Bitbucket. Cada programa o línea de productos de la empresa tenía su propia cadena de herramientas. En raras ocasiones coincidían, y habitualmente los miembros del equipo elegían las herramientas con las que estaban familiarizados.

Como resultado, la eficiencia y los resultados no eran los esperados.

Alan Hohn, director de estrategia de software en Lockheed Martin, dijo que la calidad del entorno de desarrollo e implementación de un equipo a menudo se basaba en la suerte del equipo de DevOps. Los programas con una buena financiación, o aquellos con un equipo de liderazgo centrado en avanzar, tenían automatizaciones eficientes para todo, desde las pruebas hasta la implementación continua, mientras que otros programas quizá solo tenían un servidor para ejecutar compilaciones. En el peor de los casos, no tenían ninguna automatización, lo que implicaba más trabajo manual, más tiempo de los miembros del equipo y más probabilidades de que no se identifiquen los problemas.

Aumentar la colaboración

El desafío era aún mayor, ya que los equipos de desarrollo de software de Lockheed Martin habían realizado numerosos intentos de configurar repositorios de código que permitieran a los desarrolladores reutilizar el código en todos los programas, pero estos repositorios se usaban rara vez o nunca, porque no se incorporaban al gran número de entornos donde trabajaban los equipos. Los desarrolladores no contaban con un entorno de colaboración sólido y, como resultado, siempre debían empezar desde cero y el código en los repositorios simplemente se volvía obsoleto, agrega Hohn.

Una vez que Lockheed Martin empezó a usar la plataforma de GitLab en toda la empresa, el uso compartido y la reutilización del software empezaron a formar parte de las operaciones diarias.

«Usar GitLab cambió por completo cómo se reutiliza el software, porque en el mismo lugar donde desarrollamos el software otras personas pueden compartir, colaborar y participar en el proceso», dice Hohn. «Ahora, todos nuestros programas tienen acceso a un entorno de desarrollo de software de alta calidad».

Este entorno de desarrollo se traduce directamente en beneficios para los clientes de Lockheed Martin. Un equipo que trabajaba en un programa para el Departamento de Defensa de los EE. UU. pudo reducir los tiempos de compilación de 12 horas a 4 horas gracias a los pipelines de GitLab con compilaciones en contenedores. Esto permitió que el programa ejecutara 16 compilaciones por noche, en lugar de cuatro, lo que aumentó la frecuencia de las pruebas y la calidad del software. En general, el éxito de la compilación pasó del 60 % al 90 %. Como resultado, el cliente recibe las nuevas funciones antes y con mejor calidad.

Generar continuidad

Uno de los desafíos más importantes que enfrentó Lockheed Martin para impulsar la colaboración entre los programas y en toda la empresa es que su software se encontraba en muchos sistemas diferentes, con una gran variedad de requisitos de seguridad. GitLab, junto con la fábrica de software de Lockheed Martin, permite a la empresa modularizar el software. De este modo, los componentes reutilizables se pueden compartir en entornos con acceso a nivel mundial, mientras que los equipos aún pueden mantener un control estricto sobre los componentes de software críticos o con restricciones de seguridad.

Un aspecto clave de la fábrica de software de Lockheed Martin es que proporciona un YAML de configuración de CI de GitLab común e imágenes de contenedores de CI comunes preconfiguradas para funcionar con sus otras herramientas de desarrollo de software.

Los equipos deben mantener entornos separados por razones de seguridad, por lo que la configuración debe ser compatible con diferentes entornos de alojamiento para los registros de imágenes y las herramientas asociadas. A menudo también necesitan mantener versiones específicas de su software durante años, ya que a veces se implementa en entornos operativos donde no se puede actualizar con frecuencia.

Para enfrentar estos desafíos, el equipo de Hohn creó un catálogo de pipelines comunes para los lenguajes de programación más populares con módulos para el escaneo de seguridad, la compilación de contenedores de imágenes y el control de versionado semántico. Con el catálogo de pipelines, los desarrolladores pueden utilizar el mismo archivo fuente YAML en varios entornos sin tener que realizar modificaciones. Además, permite crear una compilación histórica con una versión específica de un pipeline y garantiza la coherencia de la versión.

Antes de empezar a usar GitLab, Lockheed Martin había realizado algunos intentos de crear un conjunto común de pipelines, pero, a fin de cuentas, solo resultaron útiles para unos pocos usuarios y eran demasiado prescriptivos. No era suficiente.

Con GitLab como base para su catálogo, Lockheed Martin ha podido crear plantillas de pipelines que se pueden reutilizar en múltiples entornos, incluidas las redes desconectadas. Esto ahorra tiempo y esfuerzo, y garantiza la continuidad entre los proyectos. Ahora, las actualizaciones de pipelines son más simples, y las pruebas sofisticadas y la gestión de lanzamientos son más fáciles y eficientes.

«Ahora, tenemos la tranquilidad de saber que los cambios en nuestros procesos se prueban de forma automática y exhaustiva, y podemos respaldar fácilmente tanto a los equipos de desarrollo que avanzan rápidamente como a los equipos con aversión al riesgo que mantienen las funciones esenciales», dice Hohn. «Nuestro nuevo enfoque, basado en algunas características clave de CI de GitLab, nos ha ayudado a encontrar el equilibrio adecuado entre lo común y la personalización».

Lockheed Martin ahora trabaja con 2500 pipelines por minuto a través del catálogo.

Entrega de escalabilidad

La rápida adopción de GitLab generó la necesidad de una solución más escalable. Por eso, Lockheed Martin, GitLab y Amazon Web Services (AWS) trabajaron juntos para automatizar y optimizar la implementación de código de Lockheed Martin en toda la empresa. El proceso comenzó con una revisión bien estructurada del diseño entre las tres empresas. A continuación, AWS ayudó a automatizar y optimizar la implementación de GitLab para Lockheed Martin para el entorno de CI/CD mediante la entrega de infraestructura como código (IaC), lo que permitió implementar el entorno en dos horas, una tarea que antes requería varias horas más.

El equipo de AWS también estableció flujos de trabajo para ofrecer una arquitectura de recuperación ante desastres totalmente automatizada y de alta disponibilidad para GitLab que además cumplía con los requisitos normativos y era escalable. Esto permitió crear un proceso uniforme y continuo que se ejecuta sin intervención manual. AWS también trabajó en el equilibrio de carga para adaptar automáticamente el proceso de implementación en función de la demanda de los desarrolladores para las ejecuciones de pipelines y el tráfico de usuarios. De este modo, los desarrolladores no necesitan esperar a que se ejecuten las implementaciones. Se realizaron pruebas antes a la migración para identificar puntos de referencia, seguidas de pruebas posteriores a la migración para medir las mejoras en el rendimiento y escalabilidad en la entrega de implementaciones de forma más rápida.

Además, se implementaron controles de supervisión y seguridad para cumplir con las políticas de seguridad de Lockheed Martin. Como resultado, el equipo pudo lograr eficiencias operativas, reducir el número de solicitudes de compilación para procesar que estaban en espera de 200 a 0 y disminuir el tiempo para la implementación de código en toda la empresa. Esta iniciativa demostró cómo las grandes empresas con miles de desarrolladores de software pueden crear e implementar pipelines de código automatizados, escalables y resilientes en la nube mediante plataformas como GitLab, junto con las prácticas recomendadas de AWS.

Elegir GitLab

Lockheed Martin no necesitó hacer una evaluación formal de la plataforma de GitLab antes de decidirse a usarla. A lo largo de los años, los equipos de DevOps de la empresa han utilizado una gran variedad de herramientas en el mercado, por lo que conocían las capacidades y los beneficios que obtendrían de GitLab. Por ejemplo, según Hohn, la capacidad de integración continua incorporada de GitLab era una característica inigualable.

Y la adopción de GitLab fue a gran escala. Actualmente, Lockheed Martin tiene aproximadamente 64 000 proyectos en la plataforma de GitLab. Algunos proyectos heredados se migraron y otros se iniciaron directamente en la plataforma.

Lockheed Martin no dejó de usar todas sus cadenas de herramientas, pero el número disminuyó en gran medida, lo que redujo la complejidad, los costos y la carga de trabajo.

«Sabemos que para algunos programas el cliente querrá ser propietario del entorno de desarrollo y usar una herramienta específica», explica Hohn. «Queremos llegar al punto en que las personas ni siquiera consideren usar su propia cadena de herramientas y recurran a GitLab porque saben que funciona bien.

¿Hemos eliminado completamente todas las demás cadenas de herramientas? No», agrega Hohn. «Pero es una cantidad tan pequeña que no es significativa para nosotros».

Por ejemplo, antes de adoptar GitLab en toda la empresa, se usaba Jenkins para los servidores de CI, con miles de instancias de Jenkins en toda la organización. Esto ya no ocurre.

«Antes había que mantener miles de instancias diferentes. Ahora todo se redujo principalmente a GitLab», dice Hohn. «Aún hay instancias de Jenkins, pero representan una pequeña fracción del número que había hace tres años».

Ahorrar tiempo y reducir el esfuerzo

Al reducir la cantidad de cadenas de herramientas, fue posible ahorrar tiempo, esfuerzo y dinero, lo que permitió a la empresa seguir innovando y ofreciendo soluciones asequibles a sus clientes.

«Los equipos que tenían entornos independientes debían dedicar unas 20 horas a la semana y 80 horas al mes solo para mantener el sistema en funcionamiento», dice Hohn. «En un equipo de 12 personas, eso representa la mitad de todo lo que trabaja una persona. Esto se redujo en aproximadamente un 90 %. Ahora solo se requieren algunas horas de la jornada de trabajo de una persona. Estos resultados se lograron en muchos equipos. Y, en una empresa con más de 10 000 ingenieros de software, podemos afirmar que estamos ahorrando cientos o miles de horas al año».

Al centralizar todos esos proyectos en la plataforma de GitLab, los programas heredados que antes, en promedio, avanzaban a las etapas de pruebas mensualmente y a las etapas de operaciones trimestralmente, ahora están listos para las pruebas cada 6 días y para las operaciones cada 26, explica Hohn.

«Es muy común que las entregas mensuales se conviertan en entregas semanales», agrega. «Y las entregas trimestrales están listas al mes. Es muy común que esto ocurra».

Ese ahorro de tiempo permite a la empresa responder a las solicitudes de los clientes con más seguridad y confianza.

«Tenemos muchos clientes y muchas tareas de desarrollo de software», afirma Ian Dunbar-Hall, ingeniero sénior de software de Lockheed Martin. «GitLab permite a un equipo pasar de cero a tener un repositorio y un pipeline completo de CI, totalmente de autoservicio, en 30 minutos, cuando antes se debían dedicar al menos 40 horas».

Mejorar la seguridad

Lockheed Martin trabaja con el Departamento de Defensa y agencias federales, por lo tanto, crea sistemas críticos para la seguridad nacional. Eso significa que desarrollar soluciones seguras es un aspecto fundamental tanto para Lockheed Martin como para sus clientes. Un desafío para cualquier empresa que use cadenas de herramientas es que es fácil perderse una actualización debido al gran tamaño y complejidad de la cadena. Sin embargo, ya no deben preocuparse por usar herramientas que no se han actualizado, porque con la plataforma única e integral de GitLab solo se debe realizar una actualización una vez y todas las instancias están cubiertas.

Además, cuando se trabaja con clientes centrados en la defensa y la seguridad, el cumplimiento es una cuestión fundamental para Lockheed Martin. Eso es más fácil de gestionar ahora que la empresa utiliza el marco de cumplimiento de GitLab para garantizar la calidad del software, y la automatización para que las versiones y la gestión de dependencias sean más eficientes y rápidas.

Contar con una única plataforma también implica que los equipos obtienen un conjunto estandarizado de funciones de seguridad automatizadas e integradas, desde herramientas de análisis de vanguardia hasta escaneo de vulnerabilidades y automatización de seguridad. Antes de usar GitLab, no todos los equipos tenían las mejores herramientas de seguridad y no había una forma estandarizada de gestionar las prácticas de seguridad. Ahora, con el catálogo común de Lockheed Martin, los equipos pueden obtener pipelines listos para usar con la mejor seguridad disponible integrada. «Gracias al enfoque actual más unificado, es mucho más fácil para los equipos seguir un proceso común para compilar el software, probarlo y realizar análisis de seguridad, lo que mejora la calidad de los productos que creamos», dice Hohn.

Y con GitLab, los equipos ya no necesitan acudir a expertos en seguridad, que podrían ser difíciles de encontrar para cada equipo, para configurar varias herramientas. La mejor seguridad disponible ya está incorporada, según Hohn.

«En la actualidad, es muy común contar con funciones sofisticadas de análisis de seguridad como parte de todos nuestros procesos porque el esfuerzo que implica agregarlas es mucho menor», dice Hohn. «Los equipos ahora son mucho más conscientes de los niveles de seguridad del código que están escribiendo. Esto da lugar a que aborden temas sobre la seguridad de nuestro software que antes no se hablaban».

La empresa sigue utilizando algunas herramientas de seguridad heredadas de terceros, pero los equipos están aprovechando la plataforma de GitLab para facilitar la integración de todas ellas. «Es un gran complemento», dice Jeff Daniels, director de Automatizaciones y Aplicaciones. «Todo es más fácil ahora que tenemos GitLab, que nos permite aumentar la seguridad y mejorar la calidad».

Lockheed Martin espera seguir creciendo con GitLab. Los equipos de DevOps migrarán cada vez más proyectos a la plataforma DevSecOps y se expandirán desde allí. «Esperamos ver un aumento en el número de proyectos que utilizan las funciones de seguridad y cadena de suministro de software, lo que incluye los paneles y pipelines de cumplimiento», dice Hohn.

Toda la información y las personas involucradas en el estudio de caso son precisas en el momento de la publicación.

¿Todo listo para comenzar?

Descubra lo que su equipo puede hacer con una plataforma de DevSecOps unificada.