Leader du covoiturage courte distance en France, iDVROOM est une solution Web et mobile qui propose à ses 250 000 utilisateurs actifs de partager leurs trajets, notamment domicile-travail. L’entreprise développe également des sites dédiés aux collectivités et aux entreprises qui souhaitent promouvoir la pratique du covoiturage auprès de leurs salariés. iDVROOM a également conclu un partenariat avec Renault pour intégrer le service dans les véhicules connectés du constructeur afin que les propriétaires puissent partager leurs trajets avec les utilisateurs. Filiale à 100 % de SNCF depuis 2013, elle est basée à Angers, Paris et La Rochelle.

« Les services que nous utilisions chez notre ancien hébergeur, notre plateforme historique, n’étaient vraiment conçus que pour un usage interne et ne pouvaient être utilisés que par nos applications mobiles. Nous disposions d’un système d’authentification, qui était intégré dans nos applications, mais qui ne se prêtait pas à être ouvert. Par ailleurs, nous n’avions pas de système de pilotage, de demande d’accès, de suivi. Sans parler des performances qui n’auraient pas été au rendez-vous à long terme avec le développement du nombre d’utilisateurs. Nous avons donc fait le choix de construire nos nouveaux projets directement chez Amazon Web Services ».

  • Sortir l’API de consultation de trajets en quelques jours avec un coût humain raisonnable
  • Avoir des serveurs capables de supporter plusieurs centaines de milliers d’appel au lancement du service
  • Supporter des variations de trafic de 1 000 à 2 000 %

Le fer de lance du service iDVROOM est Speed API, une API dimensionnée pour encaisser des millions d’appels quotidiens sans baisse de performance, qui permet aux utilisateurs de consulter les trajets disponibles rapidement. « Nous avons eu besoin de la mettre en place en quelques jours, sachant qu’elle devait répondre à un grand nombre d’appels, être rapide à l’exécution et supporter de lourdes charges. Notre plateforme historique ne permettait pas de le faire rapidement et avec un coût humain élevé (20 à 30 jours/homme), sans compter qu’elle n’était pas dimensionnée pour encaisser 100 ou 1 000 fois plus de trafic. Ce besoin très précis a été un déclencheur et nous a conduits chez Amazon Web Services (AWS) en septembre 2016 », raconte Jérémy Lamorinière.

iDVROOM a construit son projet avec la solution AWS, adoptant une démarche tranchée. « Nous déployons les nouveaux produits directement chez AWS et nous y migrons les fonctionnalités existantes au fur et à mesure de leurs évolutions, quitte à revoir notre copie pour les passer en microservices. Nous avons en effet tout intérêt à nous orienter vers des microservices plutôt que ce monolithe qu’est iDVROOM pour l’instant. En effet, cela simplifie les évolutions de chacun de ces microservices, en limitant les impacts sur les autres fonctionnalités, et nous permet d'offrir de nouvelles fonctionnalités plus rapidement. Nous pensons que ça nous permettra vraiment d’agir sur l’avenir et de s’y adapter, explique Jérémy Lamorinière. Nous investissons ce temps car nous croyons vraiment que cela nous permettra d’être plus efficaces à l’avenir. » Le dernier service en date est ainsi hébergé complètement chez AWS. Baptisé Pop & Vroom, il propose des lignes de covoiturage, avec des trajets prédéfinis sur le modèle de lignes de bus.

Disposer de services qui s’adaptent en fonction de la charge était primordial. « Nous pouvons avoir des phénomènes de pics prévisibles, d’où l’intérêt de services évolutifs non seulement pour notre croissance naturelle et continue, mais également pour des évènements plus occasionnels comme des pics de pollution, les départs en vacances, les travaux sur le RER… ». Avec la moitié de ses utilisateurs se situant en Île-de-France, la circulation alternée mise en place à Paris suite aux pics de pollution a par exemple multiplié par six le trafic, alors qu’il s’agit d’un événement local. « Notre ancienne infrastructure n’aurait pas fonctionné à plus de 10 appels/secondes. Maintenant, nous avons des pics à quelques centaines d’appels/secondes, sans ralentissement du service », note Jérémy Lamorinière.

iDVROOM utilise les services managés, ce qui leur permet de s’épargner la gérance de l’infrastructure pour se concentrer uniquement sur leur métier. Parmi ces services, trois sont récurrents à chaque projet :

  • Amazon API Gateway, un service évolutif, sans maintenance particulière, qui « apporte du confort et permet une gestion d’accès, de quota, lorsque nous faisons des API », précise Mickaël Bezard, Lead Dev Mobile & Architect Cloud AWS chez iDVROOM
  • AWS Lambda, pour la partie traitement métier. « Sa grosse force est liée à sa flexibilité et au déploiement du code, qu’il gère entièrement. Nous nous concentrons sur notre métier, notre code, et Lambda gère le déploiement ».
  • Amazon Dynamo DB, pour le stockage de données. « Couplé à Lambda, il nous offre des tarifs intéressants en termes d’architecture », ajoute Mickaël Bezard.

Les équipes d’iDVROOM utilisent également Amazon Elasticsearch Service, un service qui va devenir de plus en plus important et pour lequel les attentes sont grandes. « Il nous permet de gérer nos besoins de performance sur des recherches toujours plus complexes et sur des volumes d’informations de plus en plus massifs, de l’ordre de quelques millions, et exponentiels, rappelle Mickaël Bezard. Nous nous servons aussi d’Elasticsearch pour extrapoler de l’information (comportements similaires, lieux de rencontre possibles, etc.). »

iDVROOM a d’ailleurs été autonome dans la mise en place des différents services AWS. « Au moment de la construction d’une solution, nous aimons avoir la maîtrise du sujet. Nous voulions avoir les compétences en interne. Nous avons donc pris en main les services. Globalement, nous avons l’impression de nous en être bien sortis ! La documentation AWS nous a bien servis et nous pouvions compter sur notre expert AWS en cas de besoin ou questions », conclut Mickaël Bezard.

« La flexibilité des différents services nous a fait gagner en souplesse, nous avons moins de contraintes liées au trafic. Nous sommes plus flexibles et rapides pour lancer des services ou des expérimentations. La mise à disposition immédiate nous permet de tester des solutions, d’évaluer les performances, d’étudier d’autres manières de faire, de choisir si l’on creuse ou non, et de facilement jeter si ça ne convient pas, détaille Jérémy Lamorinière. Nous avons une approche de laboratoire sur certaines petites choses avant de lancer la grosse machine. » Cette rapidité s’est ressentie dès la bêta de notre projet utilisant Speed API, réalisée en 3 jours. Entre l’idée du service et la mise à disposition par SNCF, premier client à l’avoir utilisé, il n’a fallu qu’un mois !

Aujourd’hui, les équipes d’iDVROOM se posent beaucoup moins de questions. « Certains sujets ne nous viennent même pas à l’esprit, comme l’infogérance. Ce n’est pas notre métier et nous n’avons plus à nous en soucier. Nous pouvons consacrer plus de temps à ce qui fait notre force : innover avec des partenaires comme Renault, trouver des parcours clients toujours plus adaptés, chercher de nouveaux usages..., à gérer nos systèmes de surveillance, ou notre maintenance. Notre univers est extrêmement concurrentiel, nous devons être très agiles et offensifs. Devoir se préoccuper de ce type de petits sujets nous freine ».

Autre avantage relevé par Jérémy Lamorinière : la logique de paiement des services en fonction de l’usage. « C’est un principe intéressant pour nous, en termes de logique de filiale. Nous pouvons, en fonction de nos objectifs, faire des projections de tarifs et surtout baisser nos coûts au quotidien ! ».