To build or not to build ? Faire ses maps soi-même, la meilleure alternative ?

16 Juillet, Google Maps change ses pricings... Pensez aux alternatives ! Quand créer son propre serveur de tuiles? A quel moment dois-je choisir un prestataire spécialisé ? On vous apporte quelques éléments de réponses.

To build or not to build ? Faire ses maps soi-même, la meilleure alternative ?

Il y a deux semaines se déroulait la 6ème édition du State of The Map France à Bordeaux. Cet évènement, organisé par l'association OpenStreetMap France (OSM) et ouvert à tous, permet à chacun de s'informer, se former et d'échanger à propos d'OpenStreetMap et de son écosystème.
sotmfr-2

Loïc Ortola, CTO de Jawg Maps, a eu la chance de donner une conférence sur comment servir une carte. S'en est suivi un échange très intéressant avec l'audience qui a fait surgir deux questions principales : Quand créer son propre serveur de tuiles? Pourquoi choisir de passer par un prestataire spécialisé ? On vous apporte quelques éléments de réponse.

Petits rappels

La Mapocalypse de Google Maps est arrivée et il est plus que jamais temps de chercher une alternative!
L’occasion aussi de découvrir l’envers du décor : le serveur de cartes (mapserver).

Un serveur de cartes sert à plusieurs choses, mais en particulier à :

  1. générer le rendu de vos fonds de cartes en créant des tuiles de manière automatique
  2. gérer votre stockage et le cache de tuiles
  3. contrôler le cycle de vie de vos données, en ré-important dans votre base de données celles dernièrement mises à jour.

Quand on souhaite créer une portion de carte (une tuile), le serveur de cartes effectue les étapes suivantes pour chacune des couches (layers) à dessiner:

  • Regarder quelle requête géospatiale je dois faire pour obtenir les données du layer
  • Appeler la base et isoler les géométries qui sont en intersection avec la région que je souhaite dessiner
  • Clipper (couper) les géométries en les réduisant à ma région
  • Dessiner les géométries sur un support (un canvas raster ou dans un format vectoriel)

Le style, utilisé souvent en dessin raster, correspond aux règles de dessin nécessaires à la création d'un fond de carte. Mais quand on sait qu'une carte représente environ 8 à 15 tuiles, il peut vite devenir nécessaire d'optimiser la génération de tuiles au risque de voir votre temps de réponse s'allonger.

Et dès lors, tout devient important: la complexité des géométries, la quantité de données, le nombre de layers etc... En fait, la donnée géospatiale agit dans un environnement… assez contraint dirons nous!

Quand créer son propre serveur de tuiles ?

Hier, créer un serveur de tuiles tenait de l’acrobatie. De nos jours, construire son serveur de tuiles est devenu accessible, bien que cela nécessite toujours certaines compétences techniques.

Jawg (qui s’appelait Mapsquare à l’époque) était parmi les premiers à proposer un outil de déploiement automatisé d’un serveur de tuiles, présenté lors du State of the Map Scoland en 2015 dans la désormais célèbre legobox. Un serveur de tuiles qui tient dans une boite en légo, c'est comme si on avait mis OSM en bouteille ;) !
legobox-1

Avec une équipe Ops qui gère les serveurs et les mises à jour régulières, vous pouvez créer votre propre serveur de maps vectorielles avec de la donnée en cache et l'héberger assez facilement. C’est suffisant si vous souhaitez seulement utiliser des fonds de cartes simples ou si vous avez besoin d'une carte pour des usages fléchés. Alors oui, on ne va pas faire des milliers de requêtes par seconde dessus, mais pour un petit site web, cela peut suffire.

Aujourd'hui, des fournisseurs comme OpenMapTiles mettent à disposition des fichiers MBtiles (un peu comme une archive contenant toutes les tuiles du zoom 0 au zoom 14) qui contiennent les données “de base” dont on aurait besoin dans un fond de cartes.
Oui, il manque des choses. Oui, les hillshades et landcover ne sont pas très jolis, oui le style n’est pas facilement personnalisable, mais, vous aurez votre carte streets.Vous n'aurez plus qu'à prendre ce fichier et le servir à travers un logiciel qui pourra soit rendre vos tuiles vectorielles comme telles, soit les convertir en raster.
Le niveau d'accessibilité d'une tuile street classique est donc grandement facilité.

Mais alors, pourquoi continuer à investir dans du SaaS pour les tuiles?
La tuile (et surtout la donnée géospatiale) c’est un métier à part entière et tout est en réalité une question d’investissement.

Vous allez devoir investir pour apprendre à développer vos compétences dans ce domaine:

  • apprendre à exploiter un map server
  • réimporter les données
  • invalider les caches
  • apprendre à personnaliser un style
  • opérer les serveurs au quotidien (et les payer!)

Parfois, les tuiles communautaires ne contiendront peut-être pas ce que vous souhaitez. C'est à ce moment là que l’expertise redevient nécessaire, plus encore lorsque l’on a un besoin spécifique. Enfin, il faut s’assurer que ça marche, que la performance est là, et que le service reste disponible.

… Quel est le coût de votre tranquillité?

Le prix de la tranquillité

Ahh, la tranquillité ou la question du “Build vs Buy”.
En tant que développeur, on pense souvent de manière biaisée. On aime s’approprier, on aime encore plus résoudre des challenges, et on adore maîtriser tout notre écosystème, la notion de “vendor-lock” nous fait peur.
Cela dit, rares sont ceux qui hébergent leurs serveurs physiques maintenant. Nous appuyons tous nos développements sur des librairies, des frameworks.
Parfois, déléguer pour mieux se centrer sur son métier, c’est important.
Je ne dirai pas qu’un chaton meurt à chaque fois qu’on ajoute un élément dans la liste des services à monitorer dans son SI, mais presque.

Les besoins sont divers et variés : carte dédiée, fonds de cartes ou thèmes différents, affichage des hillshades ou landcover, ajout de détails sur vos tuiles... Pour des données dites dynamiques type géocoding ou routing par exemple, il est nécessaire de posséder de puissants serveurs.

Se tourner vers du SaaS aura plus de sens et sera moins coûteux que de le faire vous-même. Il y a une différence entre utiliser la donnée et la gérer soi-même.

Aidez-nous, prestataires, à mieux vous outiller en vous proposant un service sur mesure, adapté à vos besoins, et utilisez-nous! En fait, on est là pour ça!

Vous souhaitez en savoir plus sur les serveurs de tuiles ?
Retrouvez l'intégralité de la conférence de Loïc Ortola au State Of The Map France 2018, ici .

Enfin, pour comprendre en détail les chemins de migration possibles pour sortir de Google Maps, c'est par .