ovh summit 2016 - map as a service by löic ortola
TRANSCRIPT
![Page 1: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/1.jpg)
![Page 2: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/2.jpg)
Map as a Service
Loïc Ortola
CTO – jawg
Adrien Peyron
Solution Architect - OVH
![Page 3: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/3.jpg)
Hier
Les cartes ont changé
![Page 4: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/4.jpg)
L’ Ère Mr Manuel
![Page 5: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/5.jpg)
L’ Ère A. Larrache
![Page 6: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/6.jpg)
Aujourd’hui
Les cartes ont changé
![Page 7: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/7.jpg)
![Page 8: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/8.jpg)
Délégation – Clé-en-main – Simple
• Standard
• Faible Time-To-Market
• Pay-as-you-go
![Page 9: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/9.jpg)
Indépendance – Maitrise – Personnalisation
•Propriété Intellectuelle
•Fonctionnalités custom
•Sur instances Dédiées / chez-vous
![Page 10: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/10.jpg)
JawgTake control of your Maps.
http://jawg.io
![Page 11: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/11.jpg)
Wonderland
![Page 12: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/12.jpg)
Wonderland
![Page 13: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/13.jpg)
Les incontournables
1. C’est quoi une carte?
2. A quoi sert un map-server?
3. Quid des performances / de la robustesse?
![Page 14: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/14.jpg)
1. Qu’entend-on par Carte?
4 métiers principaux dans les maps digitales
• Geocoding• Routing (Itinéraire)• Cartes (Fonds de carte) ex : WMS• Données supplémentaires (Vos POIs) ex : WFS
![Page 15: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/15.jpg)
1. Qu’entend-on par Carte?
Carte de Paris à l’échelle 1:15 000 (zoom 15)Monde entier: 70 trillion pixels
![Page 16: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/16.jpg)
1. Qu’entend-on par Carte?
Carte de Paris à l’échelle 1:15 000 (zoom 15)Monde entier: 1 billion tiles 256x256 pixels
![Page 17: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/17.jpg)
1. Qu’entend-on par Carte?
Zoom 0Scale 1:500 Million
Zoom 1Scale 1:250 Million
![Page 18: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/18.jpg)
1. Qu’entend-on par Carte?
Rendu jusqu’au Zoom 19: Somme des tuiles des zooms 0 à 19:
S = ~= 366 billion tiles
![Page 19: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/19.jpg)
1. Qu’entend-on par Carte?
![Page 20: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/20.jpg)
2. Ca sert à quoi un map-server?
• A dessiner des données sur des cartes (routes etc…)
• A faciliter le stockage / le cache / les flux de données
• A gérer la stratégie d’import / réimport
![Page 21: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/21.jpg)
2.1. Dessine moi une carte
• Entrée: Règles de “dessin”
• Sortie: Moteur de rendu• Lecture en DB• Clipping / drawing
• Prend du temps et des ressources• quelques ms à plusieurs minutes de rendu• utilise le CPU, la mémoire & le disque
![Page 22: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/22.jpg)
2.1. Dessine moi une carte
Besoin d’optimisations
… sur la DB
… sur le style
… sur les requêtes
![Page 23: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/23.jpg)
2.1. Optimiser le rendu des tuiles
Concept : La Meta-tileRendre plusieurs tuiles côte à côte, et les découper ensuite
Avantages:• Empêche de saturer les I/O • Diminue grandement les connections actives BDD
Inconvénients• Génère des tuiles inutiles plus long
![Page 24: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/24.jpg)
Rendement28/64 = 43%
Ex: Meta8
Rendement28/256 = 11%
2.1. Optimiser le rendu des tuiles
![Page 25: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/25.jpg)
2.1. Donc…
• Impossible de pré-calculer toutes les tuiles du monde à tous les niveaux de zoom.• c’est (infiniment) long• ça prend trop de place, c’est éphémère
• Besoin de logiques de “cache” et de “pré-rendu”
• Système hautement contraint
![Page 26: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/26.jpg)
2.2. Stockage des tuiles et cache
Une “map” entre 12 et 48 tuiles
Comment diminuer mes I/O quand je vais chercher des données?
![Page 27: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/27.jpg)
2.2. Stockage des tuiles et cache
• Stocker les tuiles contigues ensemble (Meta-Tile)
• Concentrer les requêtes demandant la même information
• Garder un cache mémoire (LRU)
![Page 28: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/28.jpg)
2.3. (Ré-)importer des données
• Une archive à importer dans une base
• Des traitements sur la donnée pour le rendu
• Peut prendre plusieurs heures à quelques jours
![Page 29: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/29.jpg)
2.3. (Ré-)importer des données
• Attention à la stratégie de mise à jour (fréquence, diff)
• Besoin d’une stratégie d’invalidation des caches• A dimensionner de façon intelligente
![Page 30: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/30.jpg)
3. Robustesse
Scalable Disponible
Elastique Support
Performant
![Page 31: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/31.jpg)
Map-as-a-Service1. Introduction
2. Le marché de la cartographie
3. Map services1. Definition2. GIS3. WMS4. WFS5. Autres métiers
4. Contraintes / architecture
5. Etude de cas : plateformes de mapping1. Primitives2. KPIs3. Bottlenecks4. Solutions du marché
6. Analyse1. Scenario2. Documentation3. Support services4. Scalabilité5. Service-discovery6. Intégration Cloud
7. Je prends le pari6. Que personne ne lira cette ligne7. Si tu lis cette-ligne, tu viens de gagner une bière8. Il ne reste plus qu’à trouver un bar
8. En plus, la journée a été longue non?6. A propos de cette bière… Tweet @loicortola
9. J’ai faim. 10. Raw Data11. Conclusion
![Page 32: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/32.jpg)
Map-as-a-Service1. Introduction
2. Le marché de la cartographie
3. Map services1. Definition2. GIS3. WMS4. WFS5. Autres métiers
4. Contraintes / architecture
5. Etude de cas : plateformes de mapping1. Primitives2. KPIs3. Bottlenecks4. Solutions du marché
6. Analyse1. Scenario2. Documentation3. Support services4. Scalabilité5. Service-discovery6. Intégration Cloud
7. Je prends le pari6. Que personne ne lira cette ligne7. Si tu lis cette-ligne, tu viens de gagner une bière8. Il ne reste plus qu’à trouver un bar
8. En plus, la journée a été longue non?6. A propos de cette bière… Tweet @loicortola
9. J’ai faim. 10. Raw Data11. Conclusion
![Page 33: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/33.jpg)
Jawg maps @Ovh peut-il tenir une invasion de zombies?
![Page 34: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/34.jpg)
Video 1 (see description)
![Page 35: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/35.jpg)
La pandémie
Virus = ZOMBIES Réseau principalHors ligne
![Page 36: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/36.jpg)
La pandémie
• Lancement d’une application : WAZEWorld Against the Zombie Epidemic
• Localise les ressources & abris locaux
![Page 37: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/37.jpg)
Le Scénario Pandémie
1 000 000Utilisateurs potentiels
1.12 milliards16% de la
population est sain
11.2 millions1% ont un accès
au réseau internet
![Page 38: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/38.jpg)
Video 2 (see description)
![Page 39: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/39.jpg)
Test de performance
• Mode Cluster• Métriques ultra-
détaillées• Live reporting
![Page 40: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/40.jpg)
Architecture
+ : Ressources dédiées- : Scalabilité
+ : Ressources dédiées- : Scalabilité non-native
Serveurs Dédiés Private Cloud
+ : Scalabilité en 1 ligne- : Ressources Mutualisées
Public Cloud
![Page 41: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/41.jpg)
Architecture
+ : Ressources dédiées- : Scalabilité
+ : Scalabilité en 1 ligne- : Ressources Mutualisées
+ : Ressources dédiées- : Scalabilité non-native
Serveurs Dédiés Public Cloud Private Cloud
![Page 42: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/42.jpg)
Architecture dans la RéalitéPRISE EN MAINRAPIDITEEXACTITUDE
BANDE PASSANTECPU
CPU
CPUMEMOIREI/O
UTILISATEURS
CACHES
RENDERS
MTA LB
IP LB CPU
![Page 43: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/43.jpg)
Architecture Test de Charge
EG-30
HG-30
EG-15
HG-120
INJECTEURS
CACHES
RENDERS
MTA LB
RRD DNS EG-7
• 8 vCores 2,3Ghz• 30 Go RAM• 2 Gbps BP
• 2 vCores 2,3Ghz• 7 Go RAM• 300 Mbps BP
• 8 vCores 3,1Ghz• 30 Go RAM• 2 Gbps BP
• 4 vCores 2,3Ghz• 15 Go RAM• 1 Gbps BP
• 32 vCores 3,1Ghz• 120 Go RAM• 4 Gbps BP
![Page 44: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/44.jpg)
Video 3 (see description)
![Page 45: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/45.jpg)
OUIObjective: 1 milliard de maps
Reached: 40 milliards de mapsWAZE sauve la planète
Jawg Maps @OVH peut-il tenir une invasion de zombies?
![Page 46: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/46.jpg)
Rétrospective : les embûches• Setup
• Spawn time• OVH Manager vs Horizon + Nova + Neutron
• Déploiement• SSHJ + OpenStack• Configuration Gatling Frontline
• Run• nf_conntrack_max• steal-cpu et network softirq• Bande passante
![Page 47: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/47.jpg)
Rétrospective : avec 4 caches
• 850 000 utilisateurs en 30 min• Entre 1 et 15 map views / user( entre 28 et 420 tuiles / user)• Sur les 12 zones les plus peuplées du monde entier
![Page 48: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/48.jpg)
Rétrospective : avec 4 caches
• 108 k req/s en pointe ~25k req/s/cache• Moyenne des temps de réponse = 65 ms• 99.9th percentile de temps de réponse < 600ms
![Page 49: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/49.jpg)
Rétrospective : avec 4 caches
• 2 Gbps atteints sur EG-30• ~10k utilisateurs concurrents
![Page 50: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/50.jpg)
Rétrospective : avec 4 caches
• 90% CPU utilisé• 5% IOWait• Steal & softirq négligeables
![Page 51: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/51.jpg)
Rétrospective : recommandations• Optimiser la bande passante• Choisir les bonnes instances (Cloud ou Dédié)? • Compression g-zip (tile-edge-cache)?
• Affiner le tuning kernel / DB / Runtime / Conf• file descriptors, ulimit, conntrack• PostGIS / profil d’import
• Optimiser l’architecture• Cache de niveau 2 – Object Storage• Séparation DB / Render
![Page 52: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/52.jpg)
Robustesse
Scalable Disponible
Elastique Support
Performant
![Page 53: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/53.jpg)
HostingOPS
SoftwareDEV
Robustesse
Scalable
Disponible
Elastique
Support
Performant
![Page 54: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/54.jpg)
White Papers
1. Map services: from theory to implementation• Disponible maintenant @ http://jawg.io
2. Map services: Benchmarks & high-scale profiles• 4e trimestre 2016
![Page 55: OVH Summit 2016 - Map as a Service by Löic Ortola](https://reader036.vdocuments.site/reader036/viewer/2022070523/58ed36b71a28ab1d1f8b45a3/html5/thumbnails/55.jpg)
Merci
Adrien Peyron
@APN_FR@OVH
Loïc Ortola
@LoicOrtola@jawgio