Map as a Service OVH Summit 2016

55

Transcript of Map as a Service OVH Summit 2016

Page 1: Map as a Service OVH Summit 2016
Page 2: Map as a Service OVH Summit 2016

Map as a Service

Loïc Ortola CTO – jawg

Adrien Peyron Solution Architect - OVH

Page 3: Map as a Service OVH Summit 2016

Hier

Les cartes ont changé

Page 4: Map as a Service OVH Summit 2016

L’ Ère Mr Manuel

Page 5: Map as a Service OVH Summit 2016

L’ Ère A. Larrache

Page 6: Map as a Service OVH Summit 2016

Aujourd’hui

Les cartes ont changé

Page 7: Map as a Service OVH Summit 2016
Page 8: Map as a Service OVH Summit 2016

Délégation – Clé-en-main – Simple

• Standard• FaibleTime-To-Market

• Pay-as-you-go

Page 9: Map as a Service OVH Summit 2016

Indépendance – Maitrise – Personnalisation

• PropriétéIntellectuelle

• Fonc<onnalitéscustom

• SurinstancesDédiées/chez-vous

Page 10: Map as a Service OVH Summit 2016

Jawg Take control of your Maps.

hBp://jawg.io

Page 11: Map as a Service OVH Summit 2016

Wonderland

Page 12: Map as a Service OVH Summit 2016

Wonderland

Page 13: Map as a Service OVH Summit 2016

Les incontournables

1.  C’estquoiunecarte?

2.  Aquoisertunmap-server?

3.  Quiddesperformances/delarobustesse?

Page 14: Map as a Service OVH Summit 2016

1. Qu’entend-on par Carte?

4mé0ersprincipauxdanslesmapsdigitales

• Geocoding• Rou<ng(I<néraire)• Cartes(Fondsdecarte)ex:WMS• Donnéessupplémentaires(VosPOIs)ex:WFS

Page 15: Map as a Service OVH Summit 2016

1. Qu’entend-on par Carte?

CartedeParisàl’échelle1:15000(zoom15)Mondeen<er:70trillionpixels

Page 16: Map as a Service OVH Summit 2016

1. Qu’entend-on par Carte?

CartedeParisàl’échelle1:15000(zoom15)Mondeen<er:1billion<les256x256pixels

Page 17: Map as a Service OVH Summit 2016

1. Qu’entend-on par Carte?

Zoom0Scale1:500Million

Zoom1Scale1:250Million

Page 18: Map as a Service OVH Summit 2016

1. Qu’entend-on par Carte?

Rendu jusqu’au Zoom 19: Somme des tuiles des zooms 0 à 19: S = ~= 366 billion tiles

Page 19: Map as a Service OVH Summit 2016

1. Qu’entend-on par Carte?

Page 20: Map as a Service OVH Summit 2016

2. Ca sert à quoi un map-server?

• Adessinerdesdonnéessurdescartes(routesetc…)

• Afaciliterlestockage/lecache/lesfluxdedonnées

• Agérerlastratégied’import/réimport

Page 21: Map as a Service OVH Summit 2016

2.1. Dessine moi une carte

•  Entrée:Règlesde“dessin”•  Sor<e:Moteurderendu

•  LectureenDB•  Clipping/drawing

• Prenddutempsetdesressources•  quelquesmsàplusieursminutesderendu•  u<liseleCPU,lamémoire&ledisque

Page 22: Map as a Service OVH Summit 2016

2.1. Dessine moi une carte

Besoind’op<misa<ons

…surlaDB

…surlestyle

…surlesrequêtes

Page 23: Map as a Service OVH Summit 2016

2.1. Optimiser le rendu des tuiles

Concept:LaMeta-<leRendreplusieurstuilescôteàcôte,etlesdécouperensuite

Avantages:•  EmpêchedesaturerlesI/O•  Diminuegrandementlesconnec<onsac<vesBDD

Inconvénients

•  Génèredestuilesinu<lesèpluslong

Page 24: Map as a Service OVH Summit 2016

Rendement28/64=43%

Ex: Meta8

Rendement28/256=11%

2.1. Optimiser le rendu des tuiles

Page 25: Map as a Service OVH Summit 2016

2.1. Donc…

•  Impossibledepré-calculertouteslestuilesdumondeàtouslesniveauxdezoom.

•  c’est(infiniment)long•  çaprendtropdeplace,c’estéphémère

• Besoindelogiquesde“cache”etde“pré-rendu”

•  Systèmehautementcontraint

Page 26: Map as a Service OVH Summit 2016

2.2. Stockage des tuiles et cache

Une“map”óentre12et48tuilesèCommentdiminuermesI/Oquandjevaischercherdesdonnées?

Page 27: Map as a Service OVH Summit 2016

2.2. Stockage des tuiles et cache

•  Stockerlestuilescon<guesensemble(Meta-Tile)

• Concentrerlesrequêtesdemandantlamêmeinforma<on

• Garderuncachemémoire(LRU)

Page 28: Map as a Service OVH Summit 2016

2.3. (Ré-)importer des données

• Unearchiveàimporterdansunebase

• Destraitementssurladonnéepourlerendu

• Peutprendreplusieursheuresàquelquesjours

Page 29: Map as a Service OVH Summit 2016

2.3. (Ré-)importer des données

• ABen<onàlastratégiedemiseàjour(fréquence,diff)

• Besoind’unestratégied’invalida<ondescaches•  Adimensionnerdefaçonintelligente

Page 30: Map as a Service OVH Summit 2016

3. Robustesse

Scalable Disponible

Elastique Support

Performant

Page 31: Map as a Service OVH Summit 2016

Map-as-a-Service 1.  Introduc<on

2.  Lemarchédelacartographie

3.  Mapservices1.  Defini<on2.  GIS3.  WMS4.  WFS5.  Autresmé<ers

4.  Contraintes/architecture

5.  Etudedecas:plateformesdemapping1.  Primi<ves2.  KPIs3.  BoBlenecks4.  Solu<onsdumarché

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

Page 32: Map as a Service OVH Summit 2016

Map-as-a-Service 1.  Introduc<on

2.  Lemarchédelacartographie

3.  Mapservices1.  Defini<on2.  GIS3.  WMS4.  WFS5.  Autresmé<ers

4.  Contraintes/architecture

5.  Etudedecas:plateformesdemapping1.  Primi<ves2.  KPIs3.  BoBlenecks4.  Solu<onsdumarché

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

Page 33: Map as a Service OVH Summit 2016

Jawg maps @Ovh peut-il tenir une invasion de zombies?

Page 34: Map as a Service OVH Summit 2016
Page 35: Map as a Service OVH Summit 2016

La pandémie

Virus = ZOMBIES Réseau principal Hors ligne

Page 36: Map as a Service OVH Summit 2016

La pandémie

•  Lancementd’uneapplica<on:WAZEWorldAgainsttheZombieEpidemic

•  Localiselesressources&abrislocaux

Page 37: Map as a Service OVH Summit 2016

Le Scénario Pandémie

1000000U<lisateurspoten<els

1.12 milliards 16% de la

population est sain

11.2 millions 1% ont un accès au réseau internet

Page 38: Map as a Service OVH Summit 2016

Le Scénario Pandémie

Page 39: Map as a Service OVH Summit 2016

Test de performance

•  Mode Cluster •  Métriques ultra-détaillées •  Live reporting

Page 40: Map as a Service OVH Summit 2016

Architecture

+:Ressourcesdédiées-:Scalabilité

+:Ressourcesdédiées-:Scalabiliténon-na<ve

Serveurs Dédiés Private Cloud

+:Scalabilitéen1ligne-:RessourcesMutualisées

Public Cloud

Page 41: Map as a Service OVH Summit 2016

Architecture

+:Ressourcesdédiées-:Scalabilité

+:Scalabilitéen1ligne-:RessourcesMutualisées

+:Ressourcesdédiées-:Scalabiliténon-na<ve

Serveurs Dédiés Public Cloud Private Cloud

Page 42: Map as a Service OVH Summit 2016

Architecture dans la Réalité PRISEENMAINRAPIDITEEXACTITUDE

BANDEPASSANTECPU

CPU

CPUMEMOIREI/O

UTILISATEURS

CACHES

RENDERS

MTA LB

IP LB CPU

Page 43: Map as a Service OVH Summit 2016

Architecture Test de Charge EG-30

HG-30

EG-15

HG-120

INJECTEURS

CACHES

RENDERS

MTA LB

RRD DNS EG-7

•  8vCores2,3Ghz•  30GoRAM•  2GbpsBP

•  2vCores2,3Ghz•  7GoRAM•  300MbpsBP

•  8vCores3,1Ghz•  30GoRAM•  2GbpsBP

•  4vCores2,3Ghz•  15GoRAM•  1GbpsBP

•  32vCores3,1Ghz•  120GoRAM•  4GbpsBP

Page 44: Map as a Service OVH Summit 2016
Page 45: Map as a Service OVH Summit 2016

OUIObjec0ve:1milliarddemapsReached:40milliardsdemaps

WAZEsauvelaplanète

Jawg Maps @OVH peut-il tenir une invasion de zombies?

Page 46: Map as a Service OVH Summit 2016

Rétrospective : les embûches •  Setup

•  Spawn<me•  OVHManagervsHorizon+Nova+Neutron

•  Déploiement•  SSHJ+OpenStack•  Configura<onGatlingFrontline

•  Run•  nf_conntrack_max•  steal-cpuetnetworksoyirq•  Bandepassante

Page 47: Map as a Service OVH Summit 2016

Rétrospective : avec 4 caches

•  850000u<lisateursen30min•  Entre1et15mapviews/user(óentre28et420tuiles/user)•  Surles12zoneslespluspeupléesdumondeen<er

Page 48: Map as a Service OVH Summit 2016

Rétrospective : avec 4 caches

•  108kreq/senpointeó~25kreq/s/cache• Moyennedestempsderéponse=65ms•  99.9thpercen<ledetempsderéponse<600ms

Page 49: Map as a Service OVH Summit 2016

Rétrospective : avec 4 caches

•  2GbpsaBeintssurEG-30•  ~10ku<lisateursconcurrents

Page 50: Map as a Service OVH Summit 2016

Rétrospective : avec 4 caches

•  90%CPUu<lisé•  5%IOWait•  Steal&soyirqnégligeables

Page 51: Map as a Service OVH Summit 2016

Rétrospective : recommandations • Op<miserlabandepassante

•  Choisirlesbonnesinstances(CloudouDédié)?•  Compressiong-zip(<le-edge-cache)?

• Affinerletuningkernel/DB/Run<me/Conf•  filedescriptors,ulimit,conntrack•  PostGIS/profild’import

• Op<miserl’architecture•  Cachedeniveau2–ObjectStorage•  Sépara<onDB/Render

Page 52: Map as a Service OVH Summit 2016

Robustesse

Scalable Disponible

Elastique Support

Performant

Page 53: Map as a Service OVH Summit 2016

Hos0ngOPS

SoTwareDEV

Robustesse

Scalable

Disponible

Elastique

Support

Performant

Page 54: Map as a Service OVH Summit 2016

White Papers

1. Mapservices:fromtheorytoimplementa<on•  Disponiblemaintenant@hBp://jawg.io

2. Mapservices:Benchmarks&high-scaleprofiles•  4etrimestre2016

Page 55: Map as a Service OVH Summit 2016

Merci

AdrienPeyron

@APN_FR@OVH

LoïcOrtola

@LoicOrtola@jawgio