OVH Summit 2016
Date: 11 October 2016
Title: Map as a Service
Presenter: Löic Ortola, CTO of Jawg (jawg.io)
Videos: on Jawg's Youtube Channel, titled "state of the map"
https://www.youtube.com/channel/UC2buEGpGLtAO-QdfvWiA09g
Besoin de Map-as-a-Service dans le Cloud?
Maitriser la data est stratégique pour vous?
Découvrez Jawg, powered by OVH.
Plutôt qu'un long discours, vous participerez à la rétrospective du tir de charge de milliards de maps/mois sur nos infras OVH!
Besoin de Map-as-a-Service dans le Cloud?
Maitriser la data est stratégique pour vous?
Découvrez Jawg, powered by OVH.
Plutôt qu'un long discours, vous participerez à la rétrospective du tir de charge de milliards de maps/mois sur nos infras OVH!
Modern DevOps - kill the bottleneck (part 2/2)Loic Ortola
Most Developers live in Wonderland, a place where resources are unlimited, failures don't happen and where we take naps inside giant mushrooms.
The reality is different. Bottlenecks, failures, latency... take the red pill and come down the rabbit hole with us.
What the common bottlenecks are, how to detect them, the usual optimizations, and a full-scale use-case based on Jawg Maps (part 2)
Présentation et démos techniques des principaux services Google Cloud et leurs relations
(Compute Engine, Cloud Storage, Bigquery, Cloud SQL, Dataflow, Pub/Sub, Cloud Function)
MapReduce: Traitement de données distribué à grande échelle simplifiéMathieu Dumoulin
Présentation qui reprend les éléments principaux de l'article fondamental sur MapReduce de Dean et Ghemawat de 2004: MapReduce: simplified data processing on large clusters
Comment analyser chaque jour des téra de logs générés par plus de 600 JVMs en production, sans impacter leur fonctionnement ?
Nous vous présenterons durant cette session la solution Big Data 100% Open Source mise en place chez un des plus grands sites du web européen. Une architecture basée sur syslog-ng, Flume, Hadoop, MongoDb et Play!, qui n'a rien à envier aux géants d'outre-atlantique !
Venez découvrir comment nous avons divisé par 20 le temps de détection et de traitement des incidents. Mais aussi comment BigData a permis de nouvelles utilisations des logs à la fois techniques et surtout métier, comme la détection des fraudes, l’analyse de traffic web, BI en temps réel, ...
À travers ce retour d'expérience, nous vous proposons de vivre, au coeur d'une des plus exigeantes productions de France, la mise en place de ce projet digne des très grands du web.
Paris Web 2012 - Les nouveaux horizons de la cartographie sur le WebBBecquet
État actuel de la cartographie sur le web, encore dominée par l'offre complète de Google Maps depuis son lancement en 2005. Mise en évidence des alternatives basées sur les données OpenStreetMap et l'écosystème actif qui les entoure. État des lieux sur les plateformes mobiles/tactiles. Émergence d'un nouveau modèle viable de cartographie vectorielle, dont la 3D est une des nombreuses applications. Rapide présentation d'approches plus locales ou plus orientées vers la visualisation de données.
Présenté pendant la conférence Paris Web 2012.
Slides du meetup Google Cloud présentant les différents services Google Cloud
- Compute Engine
- Gigquery
- Cloud Storage
- Cloud Function
- Google Dataflow / Apache Beam
- Google Spanner etc...
Présentation effectuée à Confoo 2020 (26 février 2020) par Christophe Villeneuve sur "la réalité mélangée dans vos applications".
Nous voyons comment embarquer une page web dans la réalité virtuelle, réalité augmentée, réalité virtuelle associé à la réalité mélangée pour les utiliser dans les applications webs
Capteurs connectés et data visualisation pour mesurer la pénibilité au travai...jollivetc
Conférence faite avec Sébastien Laporte lors de Sunny - Tech 2018.
Concepts d'un ensemble de capteurs et d'une stack technique permettant l'analyse de la pénibilité du travail par les contraintes physiques.
Nommer les choses est difficile, les trouver encore plus, surtout dans une infrastructure comme Criteo constituée de plus de plus de 1500 types de services fonctionnant sur 30 000 nœuds répartis sur 8 DCs !
HashiCorp Consul et son système de découverte de services permet de mélanger conteneurs et machines physiques, de passer d'un système de machine dédiées à une architecture de services dynamiques, d'une topologie physique à une topologie virtuelle dynamique.
Nous verrons comment Criteo réparti la charge sur son infrastructure avec des mécanismes variés: HaProxy, F5 (matériels) ou des bibliothèques côté client (Client Side Load Balancing) et de basculer à terme vers du ServiceMesh - que nous expliquerons - en utilisant Consul.
Cette présentation est à destination de développeurs ou d'Ops qui pourrons découvrir une vision d'architecture au delà d'une simple présentation du produit.
Nous expliquerons également comment Criteo est devenu premier contributeur externe à Consul, et quelques unes de nombreuses optimisations que nous avons dû y apporter de manière à en faire un des fondements de notre infrastructure.
https://cfp.devoxx.fr/2019/talk/QAF-5196/Consul@Criteo:_Des_services_un_peu,_des_machines_beaucoup,_du_ServiceMesh_bientot
Pour le programme Montpellier Territoire numérique, la petite fabrique des services urbains. Atelier données n°1 - Formation à la cartographie libre sur OSM
Contenu connexe
Similaire à OVH Summit 2016 - Map as a Service by Löic Ortola
Modern DevOps - kill the bottleneck (part 2/2)Loic Ortola
Most Developers live in Wonderland, a place where resources are unlimited, failures don't happen and where we take naps inside giant mushrooms.
The reality is different. Bottlenecks, failures, latency... take the red pill and come down the rabbit hole with us.
What the common bottlenecks are, how to detect them, the usual optimizations, and a full-scale use-case based on Jawg Maps (part 2)
Présentation et démos techniques des principaux services Google Cloud et leurs relations
(Compute Engine, Cloud Storage, Bigquery, Cloud SQL, Dataflow, Pub/Sub, Cloud Function)
MapReduce: Traitement de données distribué à grande échelle simplifiéMathieu Dumoulin
Présentation qui reprend les éléments principaux de l'article fondamental sur MapReduce de Dean et Ghemawat de 2004: MapReduce: simplified data processing on large clusters
Comment analyser chaque jour des téra de logs générés par plus de 600 JVMs en production, sans impacter leur fonctionnement ?
Nous vous présenterons durant cette session la solution Big Data 100% Open Source mise en place chez un des plus grands sites du web européen. Une architecture basée sur syslog-ng, Flume, Hadoop, MongoDb et Play!, qui n'a rien à envier aux géants d'outre-atlantique !
Venez découvrir comment nous avons divisé par 20 le temps de détection et de traitement des incidents. Mais aussi comment BigData a permis de nouvelles utilisations des logs à la fois techniques et surtout métier, comme la détection des fraudes, l’analyse de traffic web, BI en temps réel, ...
À travers ce retour d'expérience, nous vous proposons de vivre, au coeur d'une des plus exigeantes productions de France, la mise en place de ce projet digne des très grands du web.
Paris Web 2012 - Les nouveaux horizons de la cartographie sur le WebBBecquet
État actuel de la cartographie sur le web, encore dominée par l'offre complète de Google Maps depuis son lancement en 2005. Mise en évidence des alternatives basées sur les données OpenStreetMap et l'écosystème actif qui les entoure. État des lieux sur les plateformes mobiles/tactiles. Émergence d'un nouveau modèle viable de cartographie vectorielle, dont la 3D est une des nombreuses applications. Rapide présentation d'approches plus locales ou plus orientées vers la visualisation de données.
Présenté pendant la conférence Paris Web 2012.
Slides du meetup Google Cloud présentant les différents services Google Cloud
- Compute Engine
- Gigquery
- Cloud Storage
- Cloud Function
- Google Dataflow / Apache Beam
- Google Spanner etc...
Présentation effectuée à Confoo 2020 (26 février 2020) par Christophe Villeneuve sur "la réalité mélangée dans vos applications".
Nous voyons comment embarquer une page web dans la réalité virtuelle, réalité augmentée, réalité virtuelle associé à la réalité mélangée pour les utiliser dans les applications webs
Capteurs connectés et data visualisation pour mesurer la pénibilité au travai...jollivetc
Conférence faite avec Sébastien Laporte lors de Sunny - Tech 2018.
Concepts d'un ensemble de capteurs et d'une stack technique permettant l'analyse de la pénibilité du travail par les contraintes physiques.
Nommer les choses est difficile, les trouver encore plus, surtout dans une infrastructure comme Criteo constituée de plus de plus de 1500 types de services fonctionnant sur 30 000 nœuds répartis sur 8 DCs !
HashiCorp Consul et son système de découverte de services permet de mélanger conteneurs et machines physiques, de passer d'un système de machine dédiées à une architecture de services dynamiques, d'une topologie physique à une topologie virtuelle dynamique.
Nous verrons comment Criteo réparti la charge sur son infrastructure avec des mécanismes variés: HaProxy, F5 (matériels) ou des bibliothèques côté client (Client Side Load Balancing) et de basculer à terme vers du ServiceMesh - que nous expliquerons - en utilisant Consul.
Cette présentation est à destination de développeurs ou d'Ops qui pourrons découvrir une vision d'architecture au delà d'une simple présentation du produit.
Nous expliquerons également comment Criteo est devenu premier contributeur externe à Consul, et quelques unes de nombreuses optimisations que nous avons dû y apporter de manière à en faire un des fondements de notre infrastructure.
https://cfp.devoxx.fr/2019/talk/QAF-5196/Consul@Criteo:_Des_services_un_peu,_des_machines_beaucoup,_du_ServiceMesh_bientot
Pour le programme Montpellier Territoire numérique, la petite fabrique des services urbains. Atelier données n°1 - Formation à la cartographie libre sur OSM
Similaire à OVH Summit 2016 - Map as a Service by Löic Ortola (20)
20. 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
21. 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
22. 2.1. Dessine moi une carte
Besoin d’optimisations
… sur la DB
… sur le style
… sur les requêtes
23. 2.1. Optimiser le rendu des tuiles
Concept : La Meta-tile
Rendre 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
25. 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
26. 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?
27. 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)
28. 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
29. 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
31. Map-as-a-Service
1. Introduction
2. Le marché de la cartographie
3. Map services
1. Definition
2. GIS
3. WMS
4. WFS
5. Autres métiers
4. Contraintes / architecture
5. Etude de cas : plateformes de mapping
1. Primitives
2. KPIs
3. Bottlenecks
4. Solutions du marché
6. Analyse
1. Scenario
2. Documentation
3. Support services
4. Scalabilité
5. Service-discovery
6. Intégration Cloud
7. Je prends le pari
6. Que personne ne lira cette ligne
7. Si tu lis cette-ligne, tu viens de gagner une bière
8. 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 Data
11. Conclusion
32. Map-as-a-Service
1. Introduction
2. Le marché de la cartographie
3. Map services
1. Definition
2. GIS
3. WMS
4. WFS
5. Autres métiers
4. Contraintes / architecture
5. Etude de cas : plateformes de mapping
1. Primitives
2. KPIs
3. Bottlenecks
4. Solutions du marché
6. Analyse
1. Scenario
2. Documentation
3. Support services
4. Scalabilité
5. Service-discovery
6. Intégration Cloud
7. Je prends le pari
6. Que personne ne lira cette ligne
7. Si tu lis cette-ligne, tu viens de gagner une bière
8. 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 Data
11. Conclusion
36. La pandémie
• Lancement d’une application : WAZE
World
Against the
Zombie
Epidemic
• Localise les ressources & abris locaux
37. Le Scénario Pandémie
1 000 000
Utilisateurs potentiels
1.12 milliards
16% de la
population est sain
11.2 millions
1% ont un accès
au réseau internet
45. OUI
Objective: 1 milliard de maps
Reached: 40 milliards de maps
WAZE sauve la planète
Jawg Maps @OVH peut-il tenir
une invasion de zombies?
46. 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
47. 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
48. 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
49. Rétrospective : avec 4 caches
• 2 Gbps atteints sur EG-30
• ~10k utilisateurs concurrents
50. Rétrospective : avec 4 caches
• 90% CPU utilisé
• 5% IOWait
• Steal & softirq négligeables
51. 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
20 Years ago, when most people were hearing the word “maps”, this is what they’d imagine.
That little piece of paper you’d see in your glove compartment, lying under an old melted chocolate bar from last year
Back then, making a trip was something you planned in advance, at home.
Mr Larrache, quand il entre dans la voiture, il ne sait toujours pas où il va ni comment il y va.
Mr Larrache, il n’a aucune idée de comment rejoindre ses amis lorsqu’il sort du métro
Mr Larrache c’est moi, et c’est vous aussi.
Regardez, si je suis ici devant vous, c’est grâce à une map. Et si vous êtes arrivés jusqu’aux docks de paris dans une salle, c’est probablement grâce à une map aussi.
Notre vision du déplacement a changé d’une chose qui se planifiait et qui s’étudiait à une action temps-réel.
Et regardez, les maps sont de partout, dès votre sortie du métro ou même quand vous allez attraper le Pikachu le plus proche.
J’ai un petit sondage à faire, et promis je ne jugerai pas.
Qui parmi vous est déjà sorti du métro, a lancé google maps, et a préféré faire 100m pour se rendre compte que la bulle allait dans la mauvaise direction, plutôt que de chercher les numéros de rue?
On est entré dans l’ère de l’assistant personnel, où l’homme choisit de déléguer certains usages à la technologie.
“Comment” et “Ou” se déplacer, sont des questions qu’on a délégué à la technologie.
Le jour où nous avons compris ça, c’est le jour où Jawg est né dans nos têtes.
When maps become critical assets for a service
… new matters come into play.
QoS
Independence
Data Governance / Intellectual Property
Custom needs
Looking at different options on the market
Bon allez, il faut que je vous fasse une confidence.
En fait même si on s’appelle pas Maurice, on a une histoire qui a d’étranges ressemblances à ce que je viens de partager avec vous.
Alors ce soir, je représente Jawg, et sa team de passionnés.
Tellement passionnés qu’ils sont tous là ce soir pour m’écouter vous raconter des sottises
Requêtes / Indexation / Partitionnement / Tuning
Modèle optimisé pour le rendu
Polygones simplifiés pour certaines échelles
Données simplifiées pour certaines échelles
Ai-je vraiment besoin de dessiner les maisons au niveau 12?
Est-ce que je dois représenter chaque arbre?
Pourquoi demander 28 tuiles contigues plutôt qu’une seule moyenne tuile?
What does business-grade even mean?
Among other things, a business grade service usually means that it is:
@Antoine
Efficient, Scalable, Available, (and that you might get some support out of it.>> Ne pas oublier d’en parler à la fin)
I know you gave me 30 minutes, and such a question would require a decent amount of explanation.
If we had all day, this is what we would be covering
You know what? That’s boring”
If we get back to our original question “Is OpenStreetMap business-grade?”
We could probably find some better way to assert that than going over the big picture.
We thought : wouldn’t it be better to try to show a real-world example proving that an OSM application is business-grade?
So tonight, instead, we wanted to answer a really important question. A question that keeps everyone up at night.
A question you may not even have dared to ask yourself:
TODO: rajouter un zombie, changer la carte
Zombies have infected earth
Zombies have infected earth
A community of OpenStreetMap contributors
84% contaminated
Description scénario gatling
3 things:
In terms of architecture, we wanted to stick to the classic OpenStreetMap stack: ImpOSM, mod_tile, renderd, squid.
What changed is that we tried to do an elastic scenario:
when the demand gets higher, new servers get spawned until it reaches the pool limit.
3 things:
In terms of architecture, we wanted to stick to the classic OpenStreetMap stack: ImpOSM, mod_tile, renderd, squid.
What changed is that we tried to do an elastic scenario:
when the demand gets higher, new servers get spawned until it reaches the pool limit.
Utilisateurs : Automobilistes, visiteurs, vous, nous, chasseurs de Pokemon
Serveurs de Cache : tile-edge redis cache, tile-edge disk cache, redis, tile-edge
Meta-tile Aware Load Balancer
Serveurs de Rendu : Tile-Edge mapnik, metalery, mapni, postgreSQL, postGIS
Injecteurs : Gatling Frontline, machine standard
Injecteurs : Gatling Frontline, machine standard
99th percentile: 2.1s
Spawn time:
Le problème du spawn c’est qu’entre le moment où on aurait besoin d’une nouvelle instance et le moment où elle est opérationnelle, il se passe plusieurs minutes.
On avait un soucis avec le Public Cloud qui a été remonté puis corrigé avec OVH, mais ca ne suffisait pas En effet, le lancement d’un serveur de rendu est associé à une BD de plusieurs centaines de GB. Le temps de provisionner la machine est en général supérieur à la réactivité attendue d’un tel service.
Manager:
Le manager OVH n’est pas adapté à un grand nombre d’instances et c’est dommage car on a rapidement du passer sur Horizon et tout piloter via l’API Openstack, Nova, et Neutron.
Run:
Soucis avec le trafic trop important sur les caches. Les images de base d’OS OVH ne provisionnaient pas un nf_conntrack_max assez élevé.
Spawn time:
Le problème du spawn c’est qu’entre le moment où on aurait besoin d’une nouvelle instance et le moment où elle est opérationnelle, il se passe plusieurs minutes.
On avait un soucis avec le Public Cloud qui a été remonté puis corrigé avec OVH, mais ca ne suffisait pas En effet, le lancement d’un serveur de rendu est associé à une BD de plusieurs centaines de GB. Le temps de provisionner la machine est en général supérieur à la réactivité attendue d’un tel service.
Manager:
Le manager OVH n’est pas adapté à un grand nombre d’instances et c’est dommage car on a rapidement du passer sur Horizon et tout piloter via l’API Openstack, Nova, et Neutron.
Run:
Soucis avec le trafic trop important sur les caches. Les images de base d’OS OVH ne provisionnaient pas un nf_conntrack_max assez élevé.
Spawn time:
Le problème du spawn c’est qu’entre le moment où on aurait besoin d’une nouvelle instance et le moment où elle est opérationnelle, il se passe plusieurs minutes.
On avait un soucis avec le Public Cloud qui a été remonté puis corrigé avec OVH, mais ca ne suffisait pas En effet, le lancement d’un serveur de rendu est associé à une BD de plusieurs centaines de GB. Le temps de provisionner la machine est en général supérieur à la réactivité attendue d’un tel service.
Manager:
Le manager OVH n’est pas adapté à un grand nombre d’instances et c’est dommage car on a rapidement du passer sur Horizon et tout piloter via l’API Openstack, Nova, et Neutron.
Run:
Soucis avec le trafic trop important sur les caches. Les images de base d’OS OVH ne provisionnaient pas un nf_conntrack_max assez élevé.
Spawn time:
Le problème du spawn c’est qu’entre le moment où on aurait besoin d’une nouvelle instance et le moment où elle est opérationnelle, il se passe plusieurs minutes.
On avait un soucis avec le Public Cloud qui a été remonté puis corrigé avec OVH, mais ca ne suffisait pas En effet, le lancement d’un serveur de rendu est associé à une BD de plusieurs centaines de GB. Le temps de provisionner la machine est en général supérieur à la réactivité attendue d’un tel service.
Manager:
Le manager OVH n’est pas adapté à un grand nombre d’instances et c’est dommage car on a rapidement du passer sur Horizon et tout piloter via l’API Openstack, Nova, et Neutron.
Run:
Soucis avec le trafic trop important sur les caches. Les images de base d’OS OVH ne provisionnaient pas un nf_conntrack_max assez élevé.
Spawn time:
Le problème du spawn c’est qu’entre le moment où on aurait besoin d’une nouvelle instance et le moment où elle est opérationnelle, il se passe plusieurs minutes.
On avait un soucis avec le Public Cloud qui a été remonté puis corrigé avec OVH, mais ca ne suffisait pas En effet, le lancement d’un serveur de rendu est associé à une BD de plusieurs centaines de GB. Le temps de provisionner la machine est en général supérieur à la réactivité attendue d’un tel service.
Manager:
Le manager OVH n’est pas adapté à un grand nombre d’instances et c’est dommage car on a rapidement du passer sur Horizon et tout piloter via l’API Openstack, Nova, et Neutron.
Run:
Soucis avec le trafic trop important sur les caches. Les images de base d’OS OVH ne provisionnaient pas un nf_conntrack_max assez élevé.
Spawn time:
Le problème du spawn c’est qu’entre le moment où on aurait besoin d’une nouvelle instance et le moment où elle est opérationnelle, il se passe plusieurs minutes.
On avait un soucis avec le Public Cloud qui a été remonté puis corrigé avec OVH, mais ca ne suffisait pas En effet, le lancement d’un serveur de rendu est associé à une BD de plusieurs centaines de GB. Le temps de provisionner la machine est en général supérieur à la réactivité attendue d’un tel service.
Manager:
Le manager OVH n’est pas adapté à un grand nombre d’instances et c’est dommage car on a rapidement du passer sur Horizon et tout piloter via l’API Openstack, Nova, et Neutron.
Run:
Soucis avec le trafic trop important sur les caches. Les images de base d’OS OVH ne provisionnaient pas un nf_conntrack_max assez élevé.
What does business-grade even mean?
Among other things, a business grade service usually means that it is:
@Antoine
Efficient, Scalable, Available, (and that you might get some support out of it.>> Ne pas oublier d’en parler à la fin)
What does business-grade even mean?
Among other things, a business grade service usually means that it is:
@Antoine
Efficient, Scalable, Available, (and that you might get some support out of it.>> Ne pas oublier d’en parler à la fin)