Customer Success Story: Geovelo

Qu’est ce que Geovelo ?

Geovelo est une plateforme de navigation GPS pour le vélo. Un peu comme le fait Waze pour les automobilistes, elle propose aux cyclistes des itinéraires adaptés : du plus court au plus sécurisé vers leurs destinations.
Avec plus de 400K téléchargements, elle compte près de 200K profils d’utilisateurs actifs et réguliers qui réalisent plus de 700K KM par mois.
Ils sont, en grande partie, situés en Île-de-France.

L’application est téléchargeable gratuitement et n’affiche pas de publicité. Leur revenu est généré par des prestations aux collectivités :

  • Intégration et mise à jour des cartographies vélo,
  • Tableau de bord de suivi et d’analyse des pratiques vélo (flux des cyclistes à partir des traces GPS anonymisées),

- Signalements de problèmes de sécurité par la communauté.

Aujourd’hui Geovelo compte plus de 20 grandes villes et agglomérations Européennes parmi ses clients, elle a d’ores et déjà généré plus de 500K de chiffre d’affaires.
Son équipe est composée de 10 collaborateurs dont la moitié occupe des fonctions d’ingénieurs.

Leur projet

Les utilisateurs peuvent calculer leurs itinéraires depuis les applications iOS et Android ou grâce au site internet www.geovelo.fr.
Les applications mobiles sont utiles pour la récupération de données car elles fournissent de la data relative aux routes utilisées et à la fluidité du trafic grâce aux différents capteurs du smartphone (comme le GPS et l’accéléromètre).
Ces données sont ensuite transmises au backend via leur API.

Leur solution

Geovelo est client des solutions Scaleway depuis le début de son activité, soit depuis 2010.
Jusqu’à il y a 5 mois, l’entreprise utilisait 15 serveurs Scaleway Dedibox. Elle a cependant pris la décision de migrer progressivement la presque totalité de sa charge de travail chez Scaleway, et aujourd’hui l’écosystème Scaleway Elements supporte 90% de leur infrastructure.
L’entreprise a une utilisation assez complète des produits et fonctionnalités de Scaleway. Elle emploie notamment du Kapsule, Registry, PostgreSQL, Block Storage et un Load Balancer.

“Nous avons fait le choix, aujourd’hui, de migrer une grosse partie de notre charge de travail, depuis Dedibox vers l’écosystème Scaleway Elements et principalement sur Kapsule.
Chaque fois qu’une nouvelle version de notre code est prête à être déployée, il y a un push sur nos images Scaleway Registry en privé. Notre base de données PostgreSQL est aussi managée par Scaleway.
Toute notre data est rendue persistante grâce à un Block Storage, puis montée dans un cluster Kubernetes.” explique Gaël Sauvanet, CTO de Geovelo.

Point de vue technique


L’application web utilise de l’Angular comme outil front-end ainsi que plusieurs Django pour le back-end.
Un load balancer vient garantir la bonne répartition des charges.
En ce qui concerne la couche de persistance, les données relationnelles sont exploitées via PostgreSQL, les données géographiques ainsi que la génération de cartes, quant à elles, se font au travers de Postgis.
Le backend de la solution Geovelo permet la génération de cartes, au format vectoriel ou rastérisé, fournies par OpenStreetMap.

L’itinéraire personnalisé visant à assurer la sécurité des cyclistes passe par un algorithme développé en C++ ainsi que du Python. Ceci afin d’assurer les interactions avec le reste de la pile Django.
L’ensemble de ces algorithmes est optimisé afin de permettre le calcul rapide d’itinéraires.
De larges cartes sont ainsi chargées dans la RAM (mémoire vive) pour être traitées via un algorithme de recherche de trajet.

Pour ses infrastructures, Geovelo fonctionne sur du Kubernetes et Gitlab gère le pipeline de déploiement.
Les images des conteneurs sont créées automatiquement à chaque push puis envoyées en privé sur le Registry. Elles sont enfin déployées sur du Kubernetes.
Tous les environnements de développement, de pré-production et de production peuvent être déployés automatiquement via Gitlab.

Les atouts de Scaleway

L’utilisation des services cloud Scaleway permettent à Geovelo de déployer des services à la demande en cas de besoin ponctuel.

Geovelo a commencé à utiliser des Dedibox en 2010 et, à mesure que son activité se développait, Scaleway évoluait et offrait des produits correspondants à leurs besoins.
Gaël Sauvanet explique : “Notre charge de travail est très gourmande en RAM, nous avons donc besoin de nœuds performants tels que les GP1-M afin de les exécuter de manière optimisée via Kapsule. Nous avons également un mode opératoire très saisonnier : une grosse partie de notre trafic est générée le matin et le soir lorsque les utilisateurs font le trajet entre leur travail et leur domicile. C’est également l’une des raisons qui nous a poussé à utiliser une plateforme cloud. Il est important pour nous de pouvoir moduler notre infrastructure de façon dynamique par l’utilisation de Kubernetes pour gérer ces pics de trafic”.

Les équipes techniques de Geovelo sont, par ailleurs, très satisfaites de l’assistance et de la disponibilité des équipes Scaleway.
Ils ont appuyé sur le fait qu’ils se sentaient très proches de nos équipes qu’elles étaient très à l’écoute.
« Joignables directement sur Slack, elles répondent à toutes nos questions et nous pouvons leur soumettre des propositions de fonctionnalités futures. Nous apprécions également le fait d’avoir un blog et des tutoriels à disposition pour nous accompagner sur les sujets que nous ne maîtrisons pas. Les services additionnels sont mis à disposition aux bons endroits sur la console qui est, elle-même, très agréable à utiliser et intuitive. » décrit Gaël Sauvanet.