Production Perig - Fotolia
Chez Colisweb, l’observabilité fait les premiers kilomètres de la BI
Afin de superviser sa plateforme technique, le commissionnaire de transport Colisweb a adopté la suite d’observabilité Datadog et commence à s’en servir pour obtenir des indicateurs particulièrement utiles pour les métiers.
Née en 2013 dans les locaux d’EuraTechnologies à Lille, Colisweb se présente comme une spécialiste de la livraison. La scale-up a surtout développé une expertise en tant que commissionnaire de transport, c’est-à-dire dans la mise en relation entre des transporteurs, les livreurs et les grandes enseignes.
Ses clients ? Sephora, Leroy Merlin, Darty, Décathlon, Habitat, Natures & Découvertes ou encore Auchan. Au total, plus de 100 enseignes font appel à ses services. Colisweb couvre un vaste territoire entre la France et la Belgique englobant plus de 6 500 villes. Son répertoire compte plus de 400 sociétés de transports à l’échelle régionale ou d’une ville, et environ 1 200 livreurs : l’entreprise est impliquée dans 3 000 livraisons par jour en moyenne, avec des pics à 4 000 lors des soldes et des événements commerciaux tels le Black Friday.
En décembre 2021, Colisweb prévoyait de réaliser un chiffre d’affaires annuel de près de 30 millions d’euros et espérait doubler ses revenus d’ici un an et demi. Ce bilan et ses ambitions ont convaincu ID Logistics qui a annoncé le rachat de la startup le 14 décembre 2021, l’acquisition sera finalisée au début de l’année 2022.
Une cinquantaine d’employés animent l’activité de Colisweb, dont Michel Daviot.
Michel Daviot a rejoint Colisweb en juin 2018 en tant que CTO, après avoir réalisé une carrière d’architecte logiciel chez Thales, CGI, ainsi que chez Atos Worldline. « Je suis responsable d’une équipe de quinze personnes et de toute la partie logicielle qui comprend le produit, la R&D, l’infrastructure et les développements », déclare l’intéressé.
Son rôle est de faire évoluer et de maintenir en condition le cœur de l’activité de Colisweb : la plateforme de mise en relation entre enseignes et sociétés de livraisons.
« Les transporteurs avec qui nous travaillons sont peu informatisés. Ce sont principalement de petites sociétés à qui l’on fournit, pour ainsi dire, un système informatique. Ce sont eux qui vont utiliser notre back-office et une application mobile qui se connectent via API à nos back-end », explique Michel Daviot.
Et les enseignes ? « Nos clients se connectent majoritairement via API REST avec nos systèmes. Nous sommes en train de mettre en place des échanges de fichiers de manière asynchrone via SFTP sur des EDI pour cibler une nouvelle typologie de clients et de besoins », ajoute le responsable.
Logique, Colisweb a commencé son activité en se concentrant sur la livraison du « dernier kilomètre », c’est-à-dire du transport d’un bien en partance d’un magasin vers le domicile d’un particulier. Désormais, l’entreprise cherche à se connecter aux entrepôts des transporteurs et des grandes enseignes.
Un choix « naturel »
Comme les front-end Web et les back-end de Colisweb sont les principales sources d’interaction avec ses partenaires, la startup a rapidement mis en place les bonnes pratiques de supervision de son SI. « Les systèmes d’information de Colisweb ont tout de suite été hébergés sur le cloud chez AWS et étaient supervisés par des outils qui étaient à l’époque Logmatic et New Relic pour l’APM », affirme Michel Daviot. « Quand je suis arrivé en 2018, il y avait déjà la volonté d’avoir une bonne vision sur l’état de la production ».
En septembre 2017, Datadog a annoncé le rachat de la startup française Logmatic. « Naturellement, nous avons été amenés vers Datadog par les outils de logs dès 2018. Nous avons été très satisfaits de la migration qui s’est déroulée sans douleur pour nous et sans perte de qualité de service », se rappelle le CTO.
Par la suite, Datadog a proposé son offre de gestion des performances des applications (APM) à Colisweb. « Nous avons décidé de tester les fonctionnalités de la plateforme. La migration de New Relic vers Datadog s’est faite également très simplement pour nous », indique Michel Daviot.
Le directeur de la technologie n’a pas cherché à réaliser un véritable benchmark avant de sélectionner Datadog comme plateforme d’observabilité.
« Nous avons eu la possibilité de centraliser les outils avec un partenaire existant, cela avait l’air de très bien fonctionner, je n’avais pas besoin de comparer avec d’autres acteurs du marché », affirme-t-il.
Michel DaviotCTO, Colisweb
« Pour moi, c’est plus simple d’avoir un seul fournisseur cloud, Amazon, et un seul fournisseur de solutions d’observabilité, Datadog. Je n’ai pas renouvelé le contrat avec New Relic et nous avons tous nos outils de supervision sur Datadog », déclare Michel Daviot.
Le CTO a bien envisagé une alternative : développer et héberger sa propre plateforme de supervision en s’appuyant sur des projets open source. « Par rapport à la taille de l’équipe et au temps alloué aux sujets liés aux opérations, cela n’aurait pas été raisonnable. Aujourd’hui, je trouve beaucoup plus intéressant d’avoir une solution clé en main comme Datadog », estime-t-il.
L’équipe IT continue tout de même d’utiliser Sentry afin d’être alertée lors des exceptions dans le code causées par des bugs. « Nous en avons discuté avec l’équipe produit de Datadog, qui envisage d’ajouter une fonctionnalité similaire, mais ce n’est pas encore disponible », explique Michel Daviot.
Au quotidien, les membres de l’équipe IT de Colisweb utilisent principalement Datadog pour « la concentration de logs, la recherche dans ces logs et l’extraction de métrique de ces logs ». « Nous utilisons aussi beaucoup les outils APM pour surveiller la latence de nos différents services », ajoute le CTO.
L’équipe fait également usage des traces distribuées, qui ont été un peu plus difficiles à mettre en place. En effet, la plateforme de Colisweb repose sur une quinzaine de microservices, dont la majeure partie est écrite en Ruby et en Scala. « Datadog fournit surtout des intégrations pour le monde Java,. Net, C#, etc. Pour nos frameworks, nous avons mis un peu plus de temps à remonter les métriques applicatives, notamment pour nos microservices Scala », témoigne-t-il.
Colisweb utilise http4s, une interface Scala pour des services HTTP. L’un des sous-jacents par défaut de http4s est la librairie blaze, qui permet de concevoir des pipelines asynchrones pour répondre aux besoins d’utilisation du réseau de http4s. Seulement, blaze ne supportait pas les traces distribuées, contrairement à Netty qui peut s’intégrer avec cette interface Scala. « En délai, nous avons mis plusieurs mois à trouver cette solution spécifique à notre architecture, mais le fait de pouvoir suivre les traces à travers différents microservices, c’est extrêmement utile pour nous ».
De manière générale, l’architecture de microservices de Colisweb repose sur Kubernetes. « Dans le cadre du déploiement de nouveaux services, nous avons défini notre propre Helm Chart qui ajoute les propriétés dont Datadog a besoin pour détecter que les services s’exécutent correctement. Il nous faut une heure pour démarrer un nouveau service sur un Pod et sa supervision est immédiate », avance le responsable.
Les Ops de Colisweb n’ont pas les yeux rivés en permanence sur les tableaux de bord dédiés à la supervision de l’infrastructure. En revanche, « Nous commençons à utiliser le tableau de bord préconfiguré, dédié aux clusters Kubernetes, qui est plus facile d’accès que les outils en ligne de commande pour surveiller l’état des nœuds, des jobs, l’usage de la mémoire sur les nœuds, etc. », complète Michel Daviot.
Une histoire de confiance dans la technique
« Nous surveillons surtout les back-end REST. Nous sommes alertés quand il y a une quantité anormale de codes d’erreur Nginx, quand trop de logs sont en erreur sur un service, quand le percentile P90 ou P95 dépasse un certain seuil, quand les synthétiques qui simulent des appels clients sur nos API ou certaines de nos pages Web ne répondent pas dans les temps. Nous avons quelques alertes sur l’espace disque en base de données, sur la mémoire ou sur le CPU, mais ce sont des choses qui “sonnent” très rarement », liste-t-il.
« Cela nous offre un gain de temps indéniable pour moi et mon équipe lorsqu’il s’agit d’analyser les événements : la recherche dans les logs ou dans les traces distribuées, l’analyse de la latence est simple », assure Michel Daviot. « Cela permet à nous et à nos clients d’avoir confiance dans la stabilité de la plateforme. Ils nous comparent à des partenaires avec lesquels ils s’intègrent et nous avons généralement des retours très positifs sur la qualité de notre IT ».
L’équipe IT consacrerait finalement une petite portion de son temps au run. « De temps en temps, il y a des incidents ou des choses étranges qui se passent en production qu’il faut que l’on examine, mais en ratio par rapport au temps de veille c’est très faible. J’ai moins d’un demi-temps plein sur ces aspects-là ».
Michel DaviotCTO, Colisweb
Comme beaucoup d’entreprises dont l’activité repose principalement sur le Web, l’équipe IT de Colisweb a adopté le déploiement continu. « Parfois, nous déployons du code cinq à six fois par jour en production pour mettre à jour certains microservices. Le fait d’être alerté à chaud, de voir les conséquences de ces déploiements, les effets de bords, les ralentissements, les erreurs sur d’autres services nous rassure », déclare le CTO.
« Par exemple, si nous déployons quelque chose le vendredi et qu’il n’y a pas d’alertes ou d’erreurs particulières, nous savons que nous allons être tranquilles le week-end. Je n’ai pas besoin de formaliser une astreinte alors même que notre plateforme est utilisée le samedi. Une personne de bonne volonté reste joignable en cas de souci ».
Prototyper les cas d’usage BI avec la suite Datadog
Pour d’autres sujets, la plateforme d’observabilité rend possibles des cas d’usage insoupçonnés. « Beaucoup de nos rapports BI sont partagés avec les commerciaux et les équipes marketing depuis [Google] Data Studio », explique Michel Daviot. « Datadog m’a permis de lancer un PoC qui sera industrialisé dans Data Studio, très apprécié par le directeur commercial », annonce-t-il.
Certains clients font appel à Colisweb pour couvrir les livraisons sur la totalité d’une zone donnée. « Chez d’autres clients, nous sommes mis en concurrence avec d’autres sociétés. Ceux-là évaluent la qualité de service moyenne et le prix. Dans ce contexte, nous pouvons jouer sur les tarifs au moment des demandes de livraison pour essayer de récupérer des parts de marché », affirme le CTO.
« Les commerciaux sont intéressés pour connaître le taux de conversion de Colisweb sur un périmètre, sur un ensemble de magasins, sur une période donnée, sur une typologie de livraison selon la taille et le poids des colis », explique-t-il.
Sauf que les responsables commerciaux n’avaient pas cette formule dans Data Studio. « En quelques heures dans Datadog, j’ai pu construire un tableau de bord réellement configurable pour le business afin d’obtenir ce taux de conversion », se réjouit Michel Daviot.
Michel DaviotCTO, Colisweb
Il faut dire que les données nécessaires pour calculer ce taux de conversion ne se trouvaient pas n’importe où. « Pour simplifier, notre système génère un log lorsque l’on est sollicité pour une livraison. Ensuite, nous extrayons des informations comme la taille, les dimensions, le poids, le code postal et une portion du code client avec des parsers de logs. Nous recevons un deuxième log quand nous avons la confirmation que la livraison a été effectuée. Avec cela, je peux calculer le taux de conversion et le ventiler sur toutes les dimensions de mes métriques », détaille le CTO. « Je peux ainsi connaître les critères sur lesquels reposent les choix de nos clients ».
À l’avenir, l’équipe IT va poursuivre cette démarche de prototypage en s’appuyant sur Datadog avant d’intégrer de nouveaux indicateurs dans les suites BI de la société. L’autre chantier en cours concerne la base de données. « L’entreprise a un enjeu de croissance important. Du côté IT, cela se traduit par la montée à l’échelle et l’amélioration des performances de la base de données », affirme Michel Daviot. Colisweb utilise MySQL, un SGBD sur lequel « il y a encore beaucoup de requêtes complexes ». Le CTO n’a pas obtenu toute satisfaction des fonctionnalités de Datadog. « Nous avons des informations sur la charge CPU, la charge mémoire, la latence moyenne, etc. Mais nous n’avons pas autant de détails sur l’analyse des performances des requêtes ou des index », explique Michel Daviot.
Il en va de même pour instrumenter les intégrations avec les EDI des partenaires. « Sur les échanges de fichiers de manière asynchrone, ce qui représente aujourd’hui environ 5 % de notre flux, nous sommes un peu moins outillés. Datadog apporte une bonne vision de la santé des API avec des indicateurs comme la latence et les taux d’erreurs des appels API. Sur l’intégration de fichiers, j’ai moins les idées claires sur la manière dont nous allons pouvoir bénéficier de la plateforme ».
À ces sujets, l’équipe IT surveille de près les nouveautés proposées par Datadog. « Nous sommes en veille constante », affirme le CTO.
L’entretien avec Michel Daviot a été mené le 10 décembre 2021, avant l’annonce du rachat de Colisweb par ID Logistics.