Conversica se positionne comme le leader mondial dans le domaine de l'IA avec l'aide de GitLab Ultimate
Vous souhaitez découvrir ce que GitLab Ultimate peut offrir à votre équipe ?
L'équipe d'ingénierie de Conversica était à la recherche d'un outil unique et évolutif capable de prendre en charge l'ensemble des processus CI/CD.
Avec GitLab Ultimate, les développeurs de Conversica bénéficient des dernières fonctionnalités CI/CD.
Leader mondial dans le domaine de l'IA
Conversica est leader dans le domaine de l'intelligence artificielle dédiée aux entreprises. C'est aussi le seul fournisseur de logiciels d'engagement de prospects basés sur l'IA pour les équipes de marketing et de vente. Utilisé par plus de 1 500 entreprises dans le monde entier, Conversica propose des solutions SaaS qui permettent aux utilisateurs de concevoir et de gérer des campagnes efficaces pour attirer et fidéliser leur clientèle.
Les inconvénients des outils disparates
L'équipe de développement de Conversica utilisait TeamCity comme outil pour l'intégration et livraison continues (CI/CD), Quay.io pour le registre d'images Docker et GitHub pour le contrôle des versions. Cette configuration créait une sorte de patchwork, où les outils étaient partiellement intégrés autour de GitHub, sans former un environnement cohérent et contrôlé. L'équipe de développement était mécontente et rencontraient des difficultés à utiliser ces outils de manière efficace. « Dans TeamCity, la configuration repose sur un fichier XML interne que TeamCity stocke de manière complexe et très opaque pour les développeurs », explique Rob Fulwell, Engineering Manager chez Conversica. « Ils y accèdent uniquement via l'interface utilisateur, ce qui ne correspond pas aux habitudes de travail des développeurs. Ils préfèrent manipuler des fichiers texte. »
Le workflow désorganisé devenait finalement trop lent pour répondre aux besoins de l'entreprise. « Nous subissions la pression des équipes commerciales et marketing, qui voulaient que l'on livre des fonctionnalités plus rapidement », déclare Rob Fulwell. « Auparavant, nous étions contraints de nous concentrer sur la livraison, parfois au détriment de la gestion de cette dette technique. »
L'équipe consacrait de plus en plus de temps à résoudre les problèmes de pipeline plutôt que de se concentrer sur des actions avec un impact réel. « Nous étions également inquiets concernant notre capacité à répondre aux futures exigences en matière de sécurité et d’analyse des licences sur l'ensemble de nos systèmes », poursuit Rob Fulwell.
Création de petits projets logiciels
Les experts métier ont effectué des recherches en amont, et Conversica a décidé d'adopter GitLab pour l'ensemble des équipes d'ingénierie. Et en trois mois, la migration avait été effectuée avec succès. L'une des exigences de Conversica dans le processus de prise de décision était que l'outil sélectionné fournisse une documentation claire pour faciliter la migration. « Nous nous sommes assurés que la documentation soit parmi les meilleures du marché. Et si ça n'avait pas été le cas, je pense que nous aurions vraiment hésité à passer à un autre ensemble d'outils », précise Rob Fulwell.
L'équipe dirigée par Rob Fulwell a joué le rôle de consultant auprès des équipes d'ingénierie pendant le processus d'apprentissage de déploiement des pipelines sur GitLab. « Nous avons effectué beaucoup de programmation en binôme avec les développeurs des autres équipes, et de concert avec eux, nous avons mis en place les pipelines », indique Rob Fulwell. « Nous nous sommes assurés de respecter les critères établis pour un pipeline efficace, puis de garantir la bonne progression des tests automatisés. C'est ainsi que nous avons réussi à déployer l'outil de CI/CD de GitLab dans l'ensemble de l'équipe. »
Conversica a choisi GitLab Ultimate afin de tirer parti au maximum des fonctionnalités de CI/CD, sans aucune limitation. « Nous avons opté pour l'auto-hébergement. Ainsi, si nous avons besoin de développer régulièrement des API en interne, nous avons désormais la capacité de créer l'infrastructure technique nécessaire », affirme Rob Fulwell.
Avec GitHub, Conversica avait rencontré certaines « limitations » qui ralentissaient les développeurs et les empêchaient de travailler efficacement. Ces derniers étaient en capacité d'accepter davantage d'appels, mais ils ne disposaient pas auparavant de l'édition nécessaire pour atteindre ce niveau de production. Avec GitLab Ultimate, les développeurs ne sont plus inactifs.
Une interface utilisateur moderne, des pipelines compréhensibles pour tous les membres de l'équipe, des capacités de mise à l'échelle accrues
L'un des avantages indéniables de la migration vers GitLab tient à la possibilité de visualiser le pipeline de bout en bout. Conversica a récemment dû procéder à une inversion d'urgence, sur un déploiement effectué pendant un week-end. Avec GitLab, les ingénieurs ont pu identifier la validation spécifique qui avait été déployée dans cet environnement. « C'était la première fois que j'effectuais une inversion, et j'ai été tout bonnement époustouflé. Je pouvais naviguer dans cet environnement et passer littéralement en un simple clic sur le head de la branche principale pour accéder à un autre environnement », déclare Rob Fulwell. Bien qu'il soit possible d'annuler d'urgence des modifications dans TeamCity et GitHub, cela ne se fait pas aussi simplement. Il fallait plusieurs étapes rien que pour localiser la validation. « Alors qu'avec un pipeline de bout en bout, effectuer ce genre de recherche pour un bogue ou d'autres dysfonctionnements est tellement plus facile avec GitLab. C'est vraiment un énorme avantage », poursuit-il.
L'UI est plus intuitive et plus conviviale pour les développeurs par rapport à leur workflow d'outils précédent. L'intégration continue, du contrôle de version à l'aide du pipeline CI/CD jusqu'au déploiement, fournit une efficacité à l'équipe de développement que le précédent ensemble d'outils n'était pas en mesure d'offir. Les équipes d'ingénierie et les développeurs peuvent désormais communiquer plus efficacement, travailler sur des projets en commun et collaborer avec succès. Le processus de déploiement est simplifié et plus rapide, parce qu'avec GitLab, la livraison des éléments du pipeline est garantie. De plus, la sécurité est désormais intégrée au niveau du code, ce qui n'était pas le cas auparavant chez Conversica.
Conversica déploie ses solutions Elastic Container Registry (ECR) vers Elastic Kubernetes Service (EKS), puis vers l'instance GitLab Ultimate auto-gérée. L'entreprise n'a pas encore intégré Kubernetes, mais explore les moyens d'y parvenir. « L'adoption de GitLab nous a semblé naturelle en termes d'évolutivité, de fiabilité et de sécurité », déclare Rob Fulwell. « C'est sans aucun doute une approche qui a bien fonctionné en termes de mise en œuvre et de complémentarité avec les systèmes AWS que nous connaissions déjà. »
À la date de publication, toutes les informations et les personnes mentionnées dans l'étude de cas sont exactes.