Skip to main content

Coveo integra Snyk en su pipeline de despliegue de microservicios

Sector: Tecnología
Location: Canada

Aspectos destacados:

Integró Snyk directamente en el pipeline de despliegue de más de 49 microservicios

Mantuvo la velocidad de desarrollo de cientos de desarrolladores sin sacrificar la seguridad

Desplegó de forma segura más de 1,000 versiones en 3 meses mediante un pipeline de CI/CD automatizado

Logró cero tiempo de inactividad en más de 1,500 despliegues para clientes

Lanzó un nuevo despliegue desde cero en solo una semana mediante un pipeline automatizado

El desafío: escalar DevSecOps en una arquitectura de microservicios

Coveo, una empresa de software empresarial como servicio (SaaS), es pionera en búsquedas y recomendaciones con tecnología de IA. Su plataforma cloud-first ayuda a las empresas a ofrecer experiencias personalizadas a gran escala a sus clientes, con información relevante en cada etapa del recorrido del cliente. A medida que las experiencias digitales siguen evolucionando, los equipos de desarrollo de Coveo han crecido rápidamente para satisfacer la creciente demanda.

La innovadora plataforma de Coveo consta de más de 49 microservicios, cada uno creado con un conjunto diferente de tecnologías. Esta diversidad de tecnologías dificulta la implementación de la seguridad de las aplicaciones en toda la empresa. Coveo quería escalar su plataforma sin comprometer la seguridad y seguir aumentando la velocidad de desarrollo para responder a las expectativas de los clientes. Para lograrlo, la empresa sabía que debía integrar la seguridad directamente en su proceso de integración continua y entrega continua (CI/CD).

“Tenemos grandes objetivos para nuestro proceso de despliegue y nuestro producto”, afirmó Alex Emery, gerente de producto de Cloud Platform en Coveo. “Los principios clave que siempre tenemos presentes son escalar para satisfacer la demanda y aumentar la velocidad de los desarrolladores, minimizando al mismo tiempo los problemas en producción y garantizando la seguridad”.

La solución: integrar la seguridad en el pipeline de despliegue

Como Coveo utiliza una gran variedad de tecnologías, sus despliegues dependen de varios elementos desconectados, como artefactos, verificaciones de infraestructura, revisiones de bases de datos y más. Por eso, Coveo creó un pipeline de despliegue optimizado y adaptable a distintos microservicios, ya sea que estén desarrollados con Java, TypeScript, Go, Python u otra tecnología, y utiliza Jenkins para la integración continua.

“En Coveo, no creemos que una tecnología sea mejor que otra”, comentó Jean-Alexandre Beaumont, ingeniero de seguridad en Coveo. “Para adoptar esa idea, debemos ser flexibles. Cada equipo de desarrollo debe poder usar la tecnología que quiera y seguir usando el mismo pipeline de despliegue”.

Cuando se integra código nuevo, Jenkins ejecuta automáticamente las pruebas de código, el análisis de seguridad de Snyk, la compilación y el empaquetado. Con Snyk CLI, cada paquete se asigna a una organización de Snyk y se analiza para verificar el cumplimiento de las licencias de código abierto y detectar vulnerabilidades de seguridad. Así, los problemas se detectan y corrigen en cuanto se envía código nuevo, antes de que los paquetes se desplieguen en producción. Además, se inicia un monitoreo para cada paquete, de modo que Coveo reciba una notificación si Snyk encuentra nuevas vulnerabilidades en el futuro.

“Desplegar software implica muchas piezas en movimiento”, explicó Emery. “Si lo haces todo de forma manual, es lento, tedioso y propenso a errores, y no querrás hacerlo muy seguido. Por eso sabíamos que debíamos automatizarlo todo, incluida la seguridad, con Snyk”.

Cómo escalar Snyk en toda la organización

Con más de 175 ingenieros en 26 equipos de desarrollo, implementar Snyk requería una integración fluida con diversas tecnologías y pipelines de CI/CD para garantizar su adopción. Al enfocarse en la automatización, el nuevo pipeline de despliegue elimina las pruebas manuales de control de calidad, las aprobaciones, los análisis de seguridad y otras tareas que ralentizaban considerablemente los esfuerzos anteriores de despliegue continuo de la empresa.

Además, el pipeline de despliegue abstrae algunos de los procesos subyacentes, por lo que los desarrolladores no necesitan entender todo lo que implica entregar sus cambios de código de forma segura. La comodidad del pipeline integrado, especialmente con herramientas fáciles de usar para desarrolladores como Snyk, facilitó su adopción e hizo posible implementar DevSecOps en toda la empresa.

“Primero, un equipo pequeño creó el pipeline de despliegue y, más adelante, lo puso a disposición de todos los desarrolladores”, contó Beaumont. “No tuvimos que convencer a los equipos de desarrollo para que adoptaran el nuevo pipeline, gracias a todas sus ventajas en materia de seguridad y facilidad de uso. La transición se dio de forma natural”.

El impacto: desplegar de forma segura más de 1,000 versiones en 3 meses

Con su nuevo pipeline de despliegue, Coveo ha podido acelerar el desarrollo y escalar la seguridad de las aplicaciones en toda la organización mediante la automatización. De hecho, la empresa desplegó más de 1,000 versiones de código en solo tres meses. Coveo no solo puede desplegar nuevas versiones de forma segura y más frecuente, sino que también ha logrado cero tiempo de inactividad en más de 1,500 entornos de clientes. Así se ve DevSecOps a escala.

Acerca de Coveo

Coveo utiliza tecnología de inteligencia artificial para personalizar millones de experiencias digitales. Su motor de conocimiento permite a las empresas ofrecer contenido más relevante a sus empleados, clientes, distribuidores y socios. Como empresa en constante crecimiento, Coveo depende en gran medida de los servicios en la nube y aprovecha las tecnologías de contenedores. Coveo eligió Snyk para integrar las prácticas recomendadas de seguridad directamente en sus flujos de trabajo de DevOps. Con Snyk, Coveo permite que sus equipos de DevOps se hagan cargo de la seguridad, garanticen el cumplimiento de licencias y analicen todas las dependencias de código abierto y las imágenes de contenedores antes de ponerlas en producción.