Cómo la CI/CD y un sólido análisis de seguridad aceleraron el SDLC de Hilti
¿Quiere ver lo que GitLab Ultimate puede hacer por su equipo?
La SCM de GitLab, la CI/CD fluidas y el excelente análisis de seguridad permitieron a Hilti incorporar el código internamente.
Hilti amplió sus capacidades de software y adoptó GitLab para incorporar código interno con SCM, CI/CD y análisis de seguridad.
Proveedor mundial de servicios de construcción
Hilti es un líder mundial en el diseño y la fabricación de tecnologías, software y servicios de vanguardia para el sector de la construcción profesional. Un sector de Hilti se centra específicamente en soluciones de herramientas para unidades de negocio. Este equipo crea software para clientes en el ámbito de herramientas de desarrollo de software que cumple con las regulaciones de gobernanza, riesgo y cumplimiento. Hilti se asegura de que se apliquen los procedimientos correctos para cumplir con los requisitos reglamentarios en las diferentes regiones.
Enriquecer las capacidades del software, la seguridad y la SCM
Hace unos dos años, Hilti buscaba una plataforma de software para reconstruir sus proyectos. Anteriormente, habían subcontratado uno de sus proyectos de desarrollo de software a un proveedor externo, ya que la capacidad del software no se podía gestionar al 100 % de forma interna. El código fuente era propiedad de una empresa conjunta que usaba GitHub. Hilti era propietaria de la mayor parte de la empresa conjunta, pero no alojaba el código fuente internamente. No había CI/CD interna y los equipos tampoco realizaban pruebas de seguridad de acuerdo con los más altos estándares. Esta situación suponía un desafío porque los equipos de software querían visibilidad y gestión completas de su código.
El objetivo de Hilti era trasladar el desarrollo de software a nivel interno para que los equipos de ingeniería y arquitectura pudieran realizar revisiones adecuadas, colaborar verdaderamente y compartir las mejores prácticas con otros equipos. Como Hilti quería una solución que cumpliera con los más altos estándares, la herramienta ideal tendría que ser fácil de incorporar, intuitiva y ofrecer una integración perfecta. «Queríamos traer una herramienta a nuestras propias instalaciones para tenerla bajo nuestro control y, además, en tiempo real. Fue un gran paso adelante», dijo Raphael Hauser, jefe de Gobernanza de Hilti. El análisis de seguridad ocupaba un lugar destacado en la lista de prioridades. Hilti cuenta con entre 10 y 15 equipos distribuidos que trabajan en paralelo en soluciones a gran escala en un momento dado en todo el mundo. La seguridad debe estar bajo control y agregada para que, cuando un lanzamiento de software esté listo, las vulnerabilidades sean visibles con anticipación. Hilti necesitaba una herramienta con capacidades de seguridad potentes y confiables.
Anteriormente, los equipos de desarrollo y pruebas se encontraban en «modo reactivo» a la hora de detectar errores. Una herramienta que ofrezca una forma de encontrar vulnerabilidades dentro del pipeline sería más eficiente, aumentaría la velocidad del flujo de trabajo y daría más autonomía a los desarrolladores. «Quiero estar seguro de que, una vez que lanzamos un paquete a producción, no estamos introduciendo ningún paquete de código que eventualmente cree un riesgo para Hilti; exponer el código fuente es un problema de seguridad de acceso, no un problema de análisis de código», agregó Hauser.
Incorporación de la seguridad y el código internamente
Después de una revisión y de trabajar con varias herramientas, se adoptó GitLab por su facilidad de integración, sus capacidades de SCM y su exhaustivo análisis de seguridad. GitLab proporcionó las capacidades necesarias para mantener altos estándares de rendimiento del software y proporcionar rápidamente múltiples tipos de análisis en profundidad. Hilti está utilizando las pruebas estáticas y dinámicas de seguridad de las aplicaciones (SAST y DAST, respectivamente) de GitLab, junto con el análisis de contenedores, el análisis de dependencias, la detección de secretos y el cumplimiento de las licencias. «GitLab está muy por delante de sus competidores y ofrece un producto fácil de configurar y de poner en marcha con todas estas capacidades integradas», dijo Daniel Widerin, jefe de Entrega de Software.
Hilti tiene regulaciones de cumplimiento que deben seguir, incluida la revisión de licencias, las pruebas de aplicaciones y el acceso al código fuente. Hilti optó por GitLab Ultimate para utilizar el análisis de cumplimiento y seguridad. «Desde el punto de vista del riesgo, el factor clave fue que ahora podemos controlar de forma mucho más estricta quién tiene realmente acceso al código fuente, quién lo gestiona y el estado actual en lo que respecta a la seguridad y el cumplimiento de la propiedad intelectual», afirmó Hauser.
Con GitLab, Hilti ahora tiene acceso completo a su código fuente y puede gestionarlo correctamente. Ser propietario de su propio código reduce el riesgo de cualquier fuga de código fuente y aumenta el nivel de las capacidades de cambio de código. «Me ha permitido comprender mucho mejor lo que ocurre en el código y hacerlo en tiempo real. También ha acelerado mi forma de dar aprobaciones en lo que respecta a la seguridad, la seguridad del código y el cumplimiento de la propiedad intelectual con el fin de seguir cumpliendo con el ritmo de entrega más rápido», señaló Hauser.
Código seguro, visibilidad integral e implementaciones más rápidas
Los equipos de ingeniería y arquitectura de Hilti ahora utilizan GitLab para SCM, CI/CD y paneles de seguridad que son compatibles con su pila tecnológica. Con GitLab, pudieron crear software de manera interna y a un ritmo más rápido que si hubieran utilizado un conjunto complicado de herramientas. La facilidad de integración permite a los equipos trabajar con Jira, Docker y Amazon Web Services (AWS). Todos los servicios integrados con GitLab, incluidos los artefactos de compilación y los runners, se ejecutan en AWS y se implementan en un clúster de Kubernetes.
«GitLab ha hecho un gran trabajo con el código fuente para enviar comentarios directamente después de haber abierto la solicitud de fusión o después de haber hecho un comentario o un push», señaló Widerin. «Lo que quiero decir es que básicamente uno no tiene que desarrollar todas estas cosas por su cuenta. GitLab está empaquetado como un conjunto de funcionalidades y se envía con un instalador muy sofisticado. Y luego, de alguna manera, funciona. Esto está muy bien si se trata de una empresa que solo quiere ponerlo en marcha». Con GitLab, los ciclos de comentarios se acortaron en un 50 %, de 6 a 3 días, lo que favorece una mayor eficiencia y colaboración.
Los miembros del equipo aprecian que el pipeline esté directamente integrado en el código fuente y que puedan obtener comentarios inmediatos de la solicitud de fusión, incluidos los resultados del análisis de seguridad. «A las personas realmente le gusta tener un punto central donde pueden conectarse y ver todos los microservicios y componentes mientras trabajan, incluso con aplicaciones móviles e interfaz de usuario web», agregó Widerin. Las verificaciones de código han aumentado considerablemente, de seis veces cada tres meses a dos veces por semana, lo que permite mantener una alta calidad.
Las velocidades de implementación han aumentado porque ahora los equipos de desarrollo y prueba son propietarios del código y pueden ver cuándo hay vulnerabilidades con anticipación. Los tiempos de implementación disminuyeron de un promedio de 3 horas a solo 15 minutos con GitLab. Ahora disponen de orientaciones claras sobre lo que aceptan para cualquier lanzamiento con respecto a la gravedad de las vulnerabilidades dentro del código. «Corregimos los hallazgos críticos más rápido y los equipos obtienen un poco más de estabilidad porque no tienen que resolver problemas de última hora antes del lanzamiento… nos ayuda a darles una visión general de dónde se encuentran para que no tengan que volver a hacer el mismo trabajo después de que el sprint se haya completado», afirmó Hauser.
Toda la información y las personas involucradas en el estudio de caso son precisas en el momento de la publicación.