Créé en 2001, Aramisauto est le distributeur automobile multimarque de référence en France. Il offre la possibilité d’acheter en ligne ou dans un réseau d’agences commerciales, une voiture neuve ou d’occasion reconditionnée. L’entreprise dispose d’un site Web, totalisant un million de visiteurs uniques par mois, ainsi que de deux applications mobiles. Aramisauto s’appuie depuis deux ans sur une analyse fine des données pour optimiser ses processus et ainsi augmenter sa compétitivité.

« En 2016, notre pôle Business Intelligence s’est restructuré pour devenir une direction « data » autonome. Sa mission est d’identifier et d’activer tous les leviers data pour optimiser les processus d’Aramisauto. La première étape a été la mise en place d’un Data Lake permettant de stocker, traiter et d’analyser toutes nos données Web et opérationnelles ainsi que les données externes. Comme il est difficile d’anticiper les capacités de calcul et de stockage nécessaires à moyen et long terme, nous avons décidé d’adopter Amazon Web Services (AWS). Ce choix nous a permis de ne pas tomber dans le piège d’une sous ou surestimation de l’infrastructure, qui aurait pu nous coûter cher ou impacter le projet. »

  • Exécuter des modèles d’apprentissage automatique en temps réel.
  • S’adapter au trafic du site Web pour déployer des produits chez les clients sans dégrader la qualité des services.
  • Mettre rapidement en place des applications et les stopper tout aussi vite, sans contraintes ou surcoûts.

Le pôle Data d’Aramisauto travaille sur de nombreuses thématiques (pricing, scoring vente, scoring visiteurs, scoring joignabilité…) et cherche à faciliter l’usage de ces données par les autres services de l’entreprise (vente, marketing…). La plupart de ces projets nécessitent des algorithmes d’apprentissage automatique (machine learning) pour générer des prédictions. « Pour que nos algorithmes soient utiles, il faut les exécuter sur des données « chaudes » et pousser les résultats en instantané. Un de ces algorithmes permet par exemple, via l’utilisation des données de navigation et opérationnelles, d’augmenter la productivité de notre force commerciale en ciblant les meilleurs prospects. Des scores sont calculés puis poussés directement dans notre CRM », précise Hayssen Chouikh. L’objectif final est d’aider les commerciaux à prioriser les prospects.

« Nous avions besoin de beaucoup de flexibilité au niveau de l’engagement pour adapter notre infrastructure et les services à nos besoins, ce que propose AWS avec les instances à la demande. Nous avons mis en place une première version de notre Data Lake puis nous avons fait évoluer notre plateforme, raconte Hayssen Chouikh. Aujourd’hui, le Data Lake utilise 300 To de stockage et nous ne nous posons plus la question de la capacité de stockage nécessaire. Dès que l’on a l’opportunité de récupérer des données qui peuvent servir, on les stocke ».

Avant de migrer sur AWS, l’équipe disposait de partenaires de trafic qui lui permettaient de récupérer les données de navigation après 24h, un délai au bout duquel l’information est périmée. « Le scoring de joignabilité permet, par exemple, d’identifier les prospects susceptibles d’être en ligne et disponibles, précise Hayssen Chouikh. Si l’information n’est pas poussée instantanément à nos commerciaux, elle est inutile. »

« Nous avons alors imaginé notre propre solution en choisissant une architecture sans gestion de serveurs (serverless) réunissant :

Cette conception serverless a permis d’optimiser les coûts de 30 %, puisque la tarification s’effectue à l’utilisation. Côté performance, le temps moyen d’acheminement d’une donnée est aujourd’hui de 1,5 seconde.

Aramisauto utilise les déclencheurs DynamoDB pour la réconciliation des données de navigation post-sauvegarde, c’est-à-dire pour regrouper les navigations qui concernent la même personne, par exemple quelqu’un qui navigue sur un ordinateur puis sur son mobile, ce qui permet à Aramisauto de mieux la cibler et connaître son parcours. « Ce type de calcul s’effectuait en mode batch (traitement par lot). Aujourd’hui, on détecte la navigation d’une même personne quasi instantanément puisque nous sommes passés d’un temps de traitement de 15 mn à moins de 0,5s, note le data architect. Si l’on reprend l’exemple de la joignabilité, l’information est périmée en 5 mn, donc devoir attendre 15 mn n’avait pas de sens. »

Si les produits Data Science développés au départ n’avaient pas d’impact sur la production car les résultats étaient destinés au CRM, l’équipe a ensuite commencé à intégrer des modèles interagissant avec le client, comme le pricing (estimation du prix des véhicules en ligne) dont 2 000 sont réalisés chaque jour. « Cette cohabitation implique d’avoir un même niveau d’exigence, en assurant la haute disponibilité des services, d’autant plus que le trafic sur notre site Web est très variable (jusqu’à 20 fois supérieur pendant les campagnes TV) », indique Hayssen Chouikh.

Pour répondre à ce besoin, Aramisauto utilise AWS Elastic Beanstalk afin de facilement mettre en place une plateforme complète pour déployer des applications avec les exigences de la production. Elle gère la flexibilité, la répartition de charge et la surveillance de l’état de l’application. Avec ce service, l’équipe a déployé des conteneurs Docker afin de permettre une meilleure portabilité des applications et faciliter la mise en place d’une solution d’intégration continue. « Au bout de 3 jours, le service était en production alors que plusieurs semaines auraient été nécessaires chez un hébergeur classique, estime Hayssen Chouikh. Nous avons supprimé toutes les procédures classiques d’anticipation de pics de charge ce qui nous a rassuré sur notre capacité à absorber les variations de trafic. »

Convaincu par les services managés, Aramisauto les exploite au maximum dans ses architectures. « Le gain de temps lors de la mise en place est non négligeable. Nous avons déployé une solution (AWS ElastiCache - Redis, AWS Lambda, AWS API Gateway) en 5 jours au lieu de 30 pour son équivalent on-premise. Nous avons pu nous concentrer sur le produit et passer moins de temps sur la gestion de l’infrastructure. »

Beaucoup de projets data nécessitent une haute vélocité au moment de leur mise en place, mais peuvent aussi avoir une durée de vie limitée. « Si un projet n’est pas utile ou concluant, nous devons pouvoir nous en séparer facilement. Pour nous, à l’exception d'Amazon S3, tout est jetable et remplaçable. Dès le début, nous avons adopté une architecture microservices qui nous permet de dissocier facilement les services obsolètes. »

Enfin, les data sont très sensibles : leur sécurité est donc un enjeu énorme. C’est aussi pour cette raison qu’Aramisauto s’est tourné vers AWS. « Les données sont chiffrées dans S3 et, avec AWS CloudTrail, nous pouvons surveiller l’historique complet de nos comptes AWS et recevoir une alerte quand un dépôt S3 devient public. Nous utilisons également CloudWatch pour surveiller le trafic des VPC. »

L’utilisation d’AWS a permis à Aramisauto de réaliser d’importantes économies en optimisant l’utilisation des ressources (GPU, CPU ou RAM). « Grâce aux instances Spot, pour des demandes ponctuelles, nous sommes parvenus à réduire les coûts de 71 %, notamment pour l’entraînement de nos modèles de data science qui sont assez gourmands et qui peuvent être ainsi exécutés pendant les périodes creuses où les prix sont très bas », précise Hayssen Chouikh.

Aramisauto dispose également d’un support Business chez AWS qui va du déblocage de situation à la recommandation de services. « Il y en a tellement, avec une grande variété de moyen pour obtenir ce que l’on souhaite ! Notre account manager nous aide beaucoup. Par son profil technique solide, il est force de proposition pertinente. Grâce à ses recommandations, nous avons pu réduire notre facture de 20 % ! »

« Le catalogue de services AWS est riche et ne cesse d’évoluer avec, par exemple, plus de 1 400 nouvelles fonctionnalités et nouveaux services en 2017, dont certains vont nous permettre d’aller vers une architecture encore plus performante », rappelle Hayssen Chouikh. Aramisauto s’est d’ailleurs déjà lancé dans l’exploitation de certains nouveaux services comme Amazon SageMaker pour faciliter le déploiement de modèles de machine learning et Amazon EKS pour l’orchestration de containers Docker, afin de pousser toujours plus loin l’optimisation de leurs processus.