Skip to main content

Coveo intègre Snyk à son pipeline de déploiement de microservices

Secteur d’activité: Tech
Emplacement: Canada

Points forts:

Snyk intégré directement au pipeline de déploiement de plus de 49 microservices

Vitesse de développement préservée pour des centaines de développeurs, sans compromis sur la sécurité

Plus de 1 000 mises en production déployées en toute sécurité en 3 mois grâce à un pipeline CI/CD automatisé

Aucune interruption de service sur plus de 1 500 déploiements clients

Nouveau déploiement lancé de zéro en une semaine seulement grâce à un pipeline automatisé

Le défi : faire évoluer le DevSecOps dans une architecture de microservices

Coveo, entreprise de logiciels en tant que service (SaaS) destinée aux grandes entreprises, est un pionnier de la recherche et des recommandations basées sur l’IA. Sa plateforme cloud aide les entreprises à offrir une expérience personnalisée à grande échelle à leurs clients, en proposant des informations pertinentes à chaque étape de leur parcours. À mesure que les expériences numériques évoluent, Coveo a rapidement étoffé ses équipes de développement pour répondre à une demande croissante.

La plateforme innovante de Coveo repose sur plus de 49 microservices, chacun conçu à l’aide d’un ensemble de technologies différent. Cette diversité technologique complique la mise en œuvre de la sécurité applicative à l’échelle de l’entreprise. Coveo souhaitait faire évoluer sa plateforme sans compromettre la sécurité, tout en accélérant le développement pour répondre aux attentes des clients. Pour y parvenir, l’entreprise savait qu’elle devait intégrer la sécurité directement à son processus d’intégration et de livraison continues (CI/CD).

« Nous avons de grandes ambitions pour notre processus de déploiement et notre produit », explique Alex Emery, responsable produit de la plateforme cloud chez Coveo. « Nos principes clés sont toujours les mêmes : adapter notre capacité à la demande et accélérer le travail des développeurs, tout en réduisant au minimum les problèmes en production et en garantissant la sécurité. »

La solution : intégrer la sécurité au pipeline de déploiement

Compte tenu de la diversité de sa pile technologique, Coveo s’appuie sur plusieurs éléments indépendants pour ses déploiements, notamment des artefacts, des contrôles d’infrastructure et des révisions de bases de données. L’entreprise a donc créé un pipeline de déploiement simplifié, adaptable à différents microservices — qu’ils soient conçus en Java, TypeScript, Go, Python ou dans un autre langage — et utilise Jenkins pour l’intégration continue.

« Chez Coveo, nous ne pensons pas qu’une pile technologique soit meilleure qu’une autre », explique Jean-Alexandre Beaumont, ingénieur en sécurité chez Coveo. « Pour adhérer à cette idée, nous devons faire preuve d’adaptabilité. Chaque équipe de développement doit pouvoir utiliser la pile de son choix tout en suivant le même pipeline de déploiement. »

Une fois le nouveau code fusionné, Jenkins exécute automatiquement les tests, l’analyse de sécurité Snyk, la compilation et la création des packages. À l’aide de l’interface de ligne de commande Snyk, chaque package est associé à une organisation Snyk, puis analysé pour vérifier la conformité des licences open source et détecter les vulnérabilités. Les problèmes sont ainsi détectés et corrigés dès qu’un nouveau code est envoyé, avant le déploiement des packages en production. De plus, un suivi est activé pour chaque package afin que Coveo soit informé des nouvelles vulnérabilités détectées par Snyk.

« Le déploiement de logiciels implique de nombreuses étapes », explique Emery. « Tout faire manuellement prend du temps, est fastidieux et sujet aux erreurs — et on n’a pas envie de le faire souvent. Nous savions donc que nous devions tout automatiser, y compris la sécurité, avec Snyk. »

Déployer Snyk à l’échelle de l’entreprise

Avec plus de 175 ingénieurs répartis dans 26 équipes de développement, le déploiement de Snyk exigeait une intégration fluide avec différentes technologies et pipelines CI/CD pour favoriser son adoption. En misant sur l’automatisation, le nouveau pipeline de déploiement élimine les tests d’assurance qualité manuels, les approbations, les analyses de sécurité et les autres tâches qui ralentissaient considérablement les précédents efforts de déploiement continu de l’entreprise.

Par ailleurs, le pipeline de déploiement masque une partie des processus sous-jacents : les développeurs n’ont donc pas besoin de comprendre toutes les étapes nécessaires pour livrer leur code en toute sécurité. La simplicité du pipeline intégré, notamment grâce à des outils faciles à utiliser comme Snyk, a facilité son adoption et permis de déployer le DevSecOps dans toute l’entreprise.

« Le pipeline de déploiement a d’abord été créé par une petite équipe, puis mis à la disposition de tous les développeurs », explique Beaumont. « Nous n’avons pas vraiment eu à convaincre les équipes de développement d’adopter le nouveau pipeline, tant ses avantages en matière de sécurité et de facilité d’utilisation étaient évidents. La transition s’est faite naturellement. »

Les résultats : plus de 1 000 mises en production sécurisées en 3 mois

Grâce à son nouveau pipeline de déploiement, Coveo a pu accélérer le développement tout en étendant la sécurité applicative à l’ensemble de l’entreprise grâce à l’automatisation. En seulement trois mois, l’entreprise a déployé plus de 1 000 versions de son code. Coveo peut non seulement déployer de nouvelles versions plus fréquemment et en toute sécurité, mais aussi garantir une disponibilité continue dans plus de 1 500 environnements clients. Voilà le DevSecOps à grande échelle.

À propos Coveo

Coveo utilise l’intelligence artificielle pour personnaliser des millions d’expériences numériques. Son moteur de compréhension permet aux entreprises de proposer des contenus plus pertinents à leurs employés, clients, revendeurs et partenaires. En constante croissance, Coveo s’appuie largement sur les services cloud et les technologies de conteneurisation. L’entreprise a choisi Snyk pour intégrer les bonnes pratiques de sécurité directement à ses workflows DevOps. Grâce à Snyk, les équipes DevOps de Coveo prennent en charge la sécurité et veillent au respect des licences ainsi qu’à l’analyse de toutes les dépendances open source et de toutes les images de conteneurs avant leur mise en production.