lightpoet - stock.adobe.com

Pourquoi Yespark a migré vers une PaaS française

De moins en moins satisfait par le niveau de service fourni par Heroku et guidé par la nécessité de renforcer sa conformité au RGPD, Yespark s’est tourné sans regret vers la PaaS du Français Scalingo.

Fondée en 2014, Yespark est la société parisienne derrière une plateforme de mise en relation de loueurs de place de parking avec les automobilistes.

Elle propose aux utilisateurs un moyen de location à l’heure, la journée, ou au mois, de places de stationnement mises à disposition par des particuliers (1 600 propriétaires) et des bailleurs sociaux en France, dont 3F, CDC Habitat, ou bien Gecina dans plus de 600 communes françaises. Yespark a racheté en 2018 Parking Facile sur ses fonds propres et a lancé son offre en Italie. Aujourd’hui, Yespark dispose d’un parc locatif de plus de 72 000 places de parking, dont 50 000 en Île-de-France. Son chiffre d’affaires a atteint 30 millions d’euros en 2023.

Depuis 2021, Yespark diversifie son offre, notamment en proposant l’accès à des parkings relais (468, pour 9 000 places), des emplacements pour les motos, les vélos et les véhicules électriques en favorisant l’installation de bornes de recharge à prix réduit. Après avoir levé 28 millions d’euros en 2022, la startup espère commercialiser 150 000 places en 2027. Elle recense actuellement plus de 40 000 abonnés à son service.

Pour les utilisateurs, la part la plus visible de l’activité de Yespark, c’est son site Web et son application mobile Android et iOS.

Au moment de choisir la pile technologique, Guillaume Wrobel, cofondateur et directeur technique de Yespark, le choix était évident.

« En 2014, Heroku était très à la mode pour sa prise en charge du framework Ruby on Rails », se rappelle-t-il.

« Toutes les startups se lançaient sur Heroku parce qu’il y avait des plans gratuits pour commencer et la mise à l’échelle était assez rapide ».

Des choix techniques qui ont accompagné la croissance de Yespark

Le CTO considère que la PaaS acquise par Salesforce en 2010 « a bien accompagné la croissance de la société ». « Nous étions très contents d’Heroku pendant des années, cela nous a permis de nous concentrer sur le produit ».

« Nous répondons à des mises en concurrence de propriétaires de places de parking et, il y a deux à trois ans, un critère est devenu récurrent : l’hébergement des données doit être en Europe ».
Guillaume WrobelCofondateur et CTO, Yespark

Pour louer les places de parkings des bailleurs sociaux, Yespark répond à des appels d’offres. « Nous répondons à des mises en concurrence de propriétaires de places de parking et, il y a deux à trois ans, un critère est devenu récurrent : l’hébergement des données doit être en Europe », indique Guillaume Wrobel. « Heroku est conforme au RGPD, mais les serveurs que nous utilisions étaient installés aux États-Unis. Nous avons donc transféré notre stack vers un data center situé en Irlande ». C’était en 2022.

Techniquement, l’opération fut intéressante. Yespark et ses utilisateurs ont noté un léger gain de performance. Or, en parallèle, le CTO observait un mécontentement sur les réseaux sociaux de la part des clients d’Heroku. Il faut dire que Salesforce a supprimé les plans gratuits à la même période.

Ce n’était pas un sujet pour Yespark qui payait un abonnement annuel auprès de Salesforce. « Nous-même, quand nous avions une panne à 8 h du matin à Paris qui semblait liée à Heroku ou à son cloud d’accueil, j’obtenais une réponse dans l’après-midi le temps que les ingénieurs se réveillent en Californie », note Guillaume Wrobel. « Au fur et à mesure, je recevais des réponses de moins en moins qualitatives, le support me renvoyait vers la documentation du “help center”, sans davantage d’explications ».

Si les deux phénomènes ne sont pas forcément liés, la dégradation de la qualité du support observé par Guillaume Wrobel a lieu en pleine crise COVID. « J’ai travaillé sur un projet bénévole et open source nommé Covidliste ».

Il s’agissait de mettre en contact des volontaires à la vaccination et des professionnels de santé disposant de doses.

« C’était à l’époque où les vaccins étaient des denrées rares et les centres de vaccination devaient gérer des fioles qui se périmaient en quelques jours ».

Sébastien Saunier, cofondateur et alors CTO de la startup le Wagon, un acteur spécialisé dans la formation aux métiers IT, participe également à Covidliste. « Le CTO du Wagon a annoncé à travers un commentaire sur le GitHub de Covidliste que la startup migrait d’Heroku à Scalingo. Nous avons discuté et j’ai compris que c’était en quelque sorte le Heroku français ».

Guillaume Wrobel a donc étudié l’offre de Scalingo. Il se rend compte de la proximité technologique avec Heroku, et du fait que la PaaS est hébergée en France sur le cloud de 3DS Outscale.

Scalingo, un Heroku « à la française »

« Il y avait aussi d’autres alternatives comme Render ou Fly.io, mais comme nous étions sur un niveau de production et au vu de nos exigences et de celles de nos partenaires, nous nous sommes tournés vers Scalingo », déclare Guillaume Wrobel.

Cette décision est prise en 2023. Un premier test est mené afin d’héberger une instance Metabase sur Scalingo. Un projet réussi. Mais pour migrer l’application principale de Yespark, il fallait trouver les équivalents aux buildpacks d’Heroku. « Heroku a des plug-ins très intéressants, mais spécifiques qui déclenchent des cron jobs, des mailers, un outil de monitoring, etc. » Il a fallu trouver des remplaçants dans les modules fournis par Scalingo et des tiers, puis les déployer. En comptabilisant le temps de recherche, cela a pris entre « quatre et cinq mois ». « Le gros de la migration a eu lieu le jour J », commente le CTO de Yespark.

« L’idée était de copier les données de notre base de données PostgreSQL, d’arrêter l’écriture dans Heroku puis de la migrer vers Scalingo », poursuit-il.

« Une fois la copie terminée, le plan était que tout soit réglé en 20 minutes, et les clients comprendraient cette brève interruption. Mais ce qui devait durer 20 minutes a finalement pris 5 à 6 heures ».

Le problème ? Une base de données bien plus volumineuse que ce qu’envisageaient les ingénieurs de Yespark. « Elle contenait plusieurs dizaines de gigas de données, dont une grande partie représente des logs inutiles », note-t-il. « Aujourd’hui encore, elle pèse environ 70 Go, et je traîne des données qui n’ont jamais été nettoyées, ce qui a énormément ralenti le processus de migration ».

Un support réactif

Une fois la migration et la propagation des noms de domaines effectuées, le CTO n’a pas remarqué de problèmes. « Nous avons deux ou trois modifications à effectuer, mais cela s’est bien passé ».

Le site Web en question repose sur une architecture monolithique basée sur Ruby On Rails et son framework front-end par défaut, Hotwire, ainsi que sur PostgreSQL.

« Mon interface ressemble beaucoup à celle d’Heroku, et je pense que c’est intentionnel », déclare le CTO. « Je vois tous mes conteneurs d’un coup d’œil : un pour le Web, un autre pour les workers, une couche de cache Redis, etc. Je peux ajuster leur taille en augmentant la RAM allouée, et pour l’instance PostgreSQL, je peux facilement changer de plan en un clic. En matière de performance, honnêtement, je ne perçois pas de différence par rapport à Heroku ».

Le site Web de Yespark reçoit 1 million de visites par mois et gérait (au moment de l’entretien avec LeMagIT) environ 1 000 requêtes par minute.

Au quotidien, les cinq développeurs full stack ne consultent pas l’interface de la PaaS. La branche principale du dépôt GitHub de Yespark est connectée à Scalingo, ce qui permet de pousser les modifications – l’équipe effectue plusieurs dizaines de déploiements par jour – automatiquement. Celles-ci sont « live » en dix minutes environ.

Les coûts sont par ailleurs similaires. Le gain le plus appréciable pour Guillaume Wrobel, c’est la proximité et la qualité du support de Scalingo, « sans décalage horaire ». « J’ai l’impression qu’il y a un peu plus de petits pépins où il est plus difficile de déterminer si c’est notre faute ou celle de Scalingo, mais l’entreprise est plus jeune qu’Heroku et elle compense amplement par la réactivité et la pertinence de son support ».

« C’est bien si je peux payer une solution française qui rend le même service qu’un Américain par pur esprit “cocorico” ».
Guillaume WrobelCofondateur et CTO, Yespark

Si la conformité au RGPD est un point important pour les clients et les partenaires de Yespark, le CTO cherchait surtout un équivalent à Heroku. « C’est bien si je peux payer une solution française qui rend le même service qu’un Américain par pur esprit “cocorico”. Ce qui compte pour nos clients, c’est que nous respectons le RGPD. J’ai l’impression qu’ils ne font pas de différence concernant le lieu d’hébergement », considère Guillaume Wrobel. Les partenaires, eux, sont plus regardants. « En revanche, je ne pense pas que nous ayons gagné des mises en concurrence en expliquant que nous hébergeons nos données chez un acteur français. Nous utilisons également les services de Slack, de Google (Workspace), d’Hubspot, de Snowflake, etc. », souligne-t-il.

Si un acteur français ou européen égale ou surpasse une de ces solutions, le directeur technique se dit toutefois preneur.

La tentation de la mouvance « No PaaS »

Concernant l’application principale de Yespark, le CTO sent que le recours à une seule base de données atteint ses limites.

« Pendant les campagnes de marketing importantes, notre logiciel CRM envoie des notifications et des emails aux clients, et en retour, nous recevons des informations sur leur interaction, ce qui peut générer jusqu’à 100 000 requêtes », évoque le CTO. « Cela surcharge notre application pour des données qui n’ont pas besoin d’être traitées en temps réel ».

Afin de mieux gérer cette charge et de préserver la performance de l’application, il semble nécessaire de mettre en place un microservice annexe chargé du stockage des notifications, « sans solliciter la base de données de production ».

À ce sujet, Guillaume Wrobel est inspiré par la mouvance « No PaaS » poussée par le créateur de Ruby On Rails, David Heinemeir Hansson, également patron de 37signals, l’éditeur de Basecamp et Hey ayant effectué une migration inversée (du cloud vers des environnements sur site). Le directeur technique de Yespark et son équipe testent le déploiement de ce microservice sur les serveurs de l’hébergeur allemand Hetzner, réputé pour son offre bare-metal commercialisée au dixième du prix d’un service PaaS.

Si le passage complet à Hetzner semble économiquement avantageux, Guillaume Wrobel considère que l’exercice de maintien en condition opérationnelle de l’application de Yespark serait bien plus complexe et nécessiterait de renforcer l’équipe technique (neuf personnes sur un total de 85 collaborateurs actuellement). « Je n’aurais pas la conscience tranquille au vu des nombreux éléments que gère Scalingo derrière le rideau », compare-t-il.

Pour approfondir sur PaaS