CACI utiliza GitLab para impulsar la entrega de tecnología para los clientes del sector público
GitLab Ultimate
¿Quiere ver lo que GitLab Ultimate puede hacer por su equipo?
Gracias a GitLab, CACI ha podido satisfacer mejor las necesidades de software de los clientes a escala, fortaleciendo la posición de la empresa en la industria, así como sus resultados.
CACI International Inc., una empresa de 6700 millones de dólares cuya tecnología y experiencia desempeñan un papel fundamental en la seguridad nacional de los Estados Unidos y la modernización del gobierno, se considera un importante disruptor de la industria, y su ágil desarrollo de software es su mayor fortaleza. CACI se ha posicionado al entregar software crítico y hardware habilitado para software a agencias gubernamentales de EE. UU., la comunidad de inteligencia de EE. UU. y el Departamento de Defensa. Por eso, cuando la empresa se dio cuenta de que necesitaban cambiar su forma de desarrollar e implementar software, se asociaron con GitLab, una empresa que consideraban que estaba cambiando su propio sector.
CACI migró a la plataforma de DevSecOps con tecnología de IA de GitLab para aumentar la eficiencia, la seguridad y la productividad, al tiempo que consolidaba lo que habían sido cadenas de herramientas engorrosas y costosas.
«Nuestros clientes confían en nosotros porque saben que el desarrollo ágil de software es nuestra mayor fortaleza», afirma Glenn Kurowski, vicepresidente sénior y director de Tecnología de CACI. «Sin embargo, al realizar un análisis crítico de nosotros mismos descubrimos que algunos programas utilizaban cadenas de herramientas de DevSecOps que eran excelentes hace años, pero no tanto hoy en día. Con múltiples adquisiciones en nuestro haber, teníamos diferentes cadenas de herramientas de DevSecOps repartidas entre nuestros equipos de desarrollo de software. Funcionaba, pero sabíamos que podía ser más eficiente. Tuvimos que transformarnos a nosotros mismos para mejorar nuestra fortaleza».
Según Kurowski, CACI seleccionó a GitLab como socio debido a la confianza que le tenía como plataforma completa de DevSecOps, el rápido ritmo de innovación continua de GitLab y su disposición a colaborar en los requisitos de seguridad emergentes del gobierno de EE. UU. La adopción de GitLab también permitió a CACI tener un enfoque más homogéneo y eliminó las brechas creadas por el uso de productos dispares.
La columna vertebral del entorno común de CACI
Una parte importante del plan de CACI era comprometerse a utilizar GitLab como el engranaje central en la construcción de un Entorno Común de Desarrollo de Software (CSDE) para toda la empresa.
La creación del software de CACI en el CSDE, que se configura como un servicio en AWS GovCloud, garantiza que todo lo que desarrollen cumpla plenamente con las regulaciones federales emergentes. El entorno incluye un conjunto estándar de herramientas, servicios y marcos de reglas para mandatos reglamentarios. Con CSDE como servicio, está disponible para todos los proyectos. Y la plataforma de DevSecOps de GitLab juega un papel central en todo esto.
«Anteriormente, nuestros equipos tenían que crear con frecuencia una nueva cadena de herramientas de DevSecOps para cada nuevo contrato que recibían», dice Kyle Craft, líder de servicio de CSDE en CACI. «Con GitLab como parte central de nuestro CSDE, simplemente se crea una nueva cuenta y se comienza a trabajar en el software, en lugar de tener que dedicar tiempo a crear y gestionar una cadena de herramientas. Es mucho más eficiente».
Los equipos de CACI utilizan el CSDE para los casi 190 proyectos de desarrollo de software diferentes de la empresa, a menos que un cliente requiera el uso de su propio entorno. La empresa está ahorrando un 90 % en mano de obra y trabajo administrativo en torno a la administración de la cadena de herramientas desde que se pasó a un CSDE basado en GitLab. La automatización de la creación de parches se redujo de horas a minutos, mientras que el análisis de seguridad se aceleró 13 veces en comparación con las implementaciones anteriores.
«A nuestros desarrolladores les encanta la facilidad de uso, la disponibilidad, la confiabilidad y la escalabilidad de nuestro servicio CSDE basado en GitLab», afirma Craft. «GitLab es la columna vertebral de la forma en que creamos software, y a nuestra fuerza laboral le encanta la rapidez con la que pueden iniciar proyectos y producir software para nuevos programas y proyectos».
CACI ha experimentado un «crecimiento explosivo» en los usuarios de CSDE desde la estandarización en GitLab. La implementación de CSDE comenzó con solo 110 usuarios iniciales en el verano de 2022. Pero poco más de un año después, ya lo estaban usando más de 1900 desarrolladores. Ayuda a que GitLab se ajuste a la escala a la que se ejecuta el desarrollo de software ágil de CACI. Por ejemplo, un solo programa en CACI tiene más de 150 aplicaciones y publica 800 lanzamientos de nuevas funcionalidades al año.
«Nuestros clientes esperan innovación y software de alta calidad. Necesitan desesperadamente una alta velocidad: lanzamientos rápidos de nuevas funcionalidades para abordar las necesidades clave cambiantes», dice Kurowski. «Muchos en nuestro sector se dedican al desarrollo de software, pero nosotros lo llevamos al siguiente nivel, y a escala. Para expandir nuestra posición de liderazgo, recurrimos a GitLab para que nos permitiera repensar e interrumpir la forma en que compilamos software rápidamente sin comprometer la seguridad».
Apoyo a una compilación de software importante
El CSDE basado en GitLab ha sido fundamental en el trabajo de CACI para crear una nueva versión de un sistema de comunicación para uno de sus clientes.
Se crearon dos versiones anteriores del proyecto mediante una variedad de diferentes herramientas de DevSecOps. Para apoyar el desarrollo de la nueva versión de la aplicación de la misión, el equipo cambió al CSDE basado en GitLab de CACI para obtener una plataforma de DevSecOps integrada de extremo a extremo.
«GitLab tenía todas las funcionalidadesy automatización que necesitábamos en una sola aplicación. Simplificó nuestro trabajo», comenta Wesley Monroe, gerente de proyectos técnicos de CACI. «Con todas las hojas de ruta, el seguimiento de problemas y el análisis de seguridad en un solo lugar, nos resulta difícil incluso comparar GitLab con las herramientas que utilizábamos antes».
Cumplimiento de las regulaciones gubernamentales
Una de las mayores ventajas de utilizar la plataforma de DevSecOps de GitLab es que permite a CACI estar preparado para hacer frente a los nuevos requisitos de cumplimiento en materia de seguridad, lo que evita costosas modificaciones posteriores.
El cumplimiento de las leyes, regulaciones y normas gubernamentales es esencial para un contratista del gobierno. Eso significa no solo cumplir las normas, sino también poder demostrarlo.
El CSDE fue otro ejemplo de inversión de CACI adelantándose a las necesidades de sus clientes. «Nos hemos posicionado para poder cumplir con los requisitos de seguridad de los contratos futuros», dice Craft. «Podemos dar fe de que cumplimos con los estándares de seguridad, y tenemos los datos que lo respaldan, que se rastrean y almacenan en la plataforma de GitLab».
El uso de una sola plataforma también permite a los equipos de CACI aplicar la metodología de prueba shift left a la seguridad, incorporándola en todas las fases del ciclo de desarrollo del software. Eso es clave para poder cumplir con las regulaciones del gobierno de EE. UU. centradas en la seguridad, como el Marco de desarrollo de software seguro (SSDF).
Reducción de costos y simplificación de complejidades
Antes de que CACI lanzara su migración a DevSecOps de GitLab, los equipos se habían visto abrumados por una gran cantidad de herramientas dispares y costosas en toda la empresa. Ahora están reduciendo esa complejidad al migrar algunas de esas herramientas.
Kurowski afirma que, gracias al recorte de las cadenas de herramientas de la empresa, redujeron los cosos de licencias, dedican menos tiempo a la administración de sus herramientas y pueden dedicar más tiempo al desarrollo de software. También señala que los equipos son más productivos, lanzan proyectos mucho más rápido y satisfacen con mayor facilidad los aumentos repentinos de la demanda. Afirma que la capacitación también se ha simplificado, las actualizaciones se realizan de manera más fluida y rápida, y la gestión de proyectos se ha adaptado mejor al desarrollo del código. Ahora, los parches también se realizan con poco o nada de tiempo de inactividad.
Los desarrolladores de software, que trabajan en una plataforma común, ahora se mueven fácilmente entre proyectos para satisfacer los aumentos en la demanda de los clientes. «Esto garantiza que los clientes tengan acceso a los mejores talentos de desarrollo de software a gran velocidad», comenta Kurowski.
La plataforma también les ha permitido crear documentación «muchísimo mejor» que la que podían producir antes, señala Craft. Esto se debe en gran medida a que la plataforma fomenta una estrecha colaboración dentro de los equipos de DevSecOps y entre ellos, lo que les brinda una mejor visibilidad de los proyectos y la posibilidad de compartir la responsabilidad de tomar notas sobre problemas, soluciones y prácticas recomendadas.
Creación de una comunidad de DevSecOps
Los usuarios de DevSecOps de CACI han estado creando lo que Craft llama una «comunidad de práctica» debido a la visibilidad y colaboración adicionales que pueden lograr a través de la plataforma. «Debido a que usamos la misma plataforma, nos conocemos como nunca antes», explica.
Parte del uso cada vez mayor de GitLab por parte de CACI consiste en aprovechar de forma consciente y responsable las funcionalidades de IA, como GitLab Duo, integradas en la plataforma. Kurowski afirma que prevén utilizar la IA para ayudar a aprender y comprender el código existente, y para desarrollar código nuevo.
«Nos encanta hacia dónde se dirige GitLab con el aumento de DevSecOps con IA», agrega. «Nuestros programadores pasan más tiempo entendiendo el código que escribiéndolo. Esa es la norma del sector. La idea de aumentar el proceso con explicaciones de código, sugerencias de código y asistencia con el código, en general, es una necesidad fundamental».
Toda la información y las personas involucradas en el estudio de caso son precisas en el momento de la publicación.