SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Mappy-ing Open Source
09/21/2013, FOSS4G2013
@AudreyMalherbe
Audrey Malherbe
Head of geo platform
at Mappy
audrey.malherbe@mappy.com
367 millions
route requests in 2012
4 millions
referenced business
Mappy, a brand of SoLocal Group
About 10 millions
monthly users
27 millions
monthly visits
Provide route planner and local services on the web and
mobiles devices
Feedback on the overhaul of
the mapping engine of Mappy
around Mapnik and PostGIS
Plan
The path
Our journey
Feedback
– Les enjeux du projet
The path
The path – starting
point
Background
– Map processing for 16 years with TomTom/AND databases
– Maps are used by Mappy & French YellowPages media
– « home-made » processing mastered but ageing
The future
– Repositionnning map to fit new requirements : the purpose of the
map is now to support content
– Open-source-oriented strategy (moving towards)
– Anticipate emerging challenges (vector tiles, HD maps, relief, ...)
Geographic data
SDK Mobile
Mappy
API AJAX
Mappy
Stack Mappy
Engine
Templates
Stack Mappy
Cache
Data processing
Mostly pre-computation
Duration : 10 days
Non standard
proprietary format
12 zoom levels
Software system
Fully mastered (behaviour)
Some dead code
Costly evolutions
Non negociable performances
6 Billions req/month
BACK OFFICE PRODUCTION
The path - goals
– Create a map design able to support content
– Be ready to release with the new version of our website
fr.mappy.com
– Reduce the computational time
– address weaknesses of the platform and keep in mind its strengths
– Streamlining map tile production
– Standardizing (REST API, etc.)
– Build for the future (Able to scale and support new services)
Take a Deep Breath.
Start Again.
Geographic
data
API AJAX
NewMappy
SDK Mobile
New Mappy
KyotoCabinetKyotoCabinet
New platform
in production
Reduced Preparation Time
2days (vector) + 2days (relief)
Standard
Live code
Mapnik contribution
Reduced operating cost
BACK OFFICE PRODUCTION
– Le chemin
Our journey
Our journey - Starting point
– Heterogeneous knowledge of the team
on open source technologies
– Training & getting help from expert
– Bring a culture of open source
– Split project
– Migrate brick by brick in order to learn and master the platform
– « Eat our own food »
– Test it fast
Innophi
Geographic
data
SDK Mobile
Mappy
API AJAX
Mappy
Stack Mappy
Engine
Templates
Stack Mappy
Cache
API AJAX
NewMappy
SDK Mobile
New Mappy
KyotoCabinetKyotoCabinet
BACK OFFICE PRODUCTION
BACK OFFICE PRODUCTION
Templates
Step 0
Map design
By marketing and Map designer
Geographic
data
SDK Mobile
Mappy
API AJAX
Mappy
Stack Mappy
Engine
Templates
Stack Mappy
Cache
API AJAX
NewMappy
SDK Mobile
New Mappy
KyotoCabinetKyotoCabinet
BACK OFFICE PRODUCTION
BACK OFFICE PRODUCTION
Step 1
Migration of database and map engine
Keep Front interface
Work on database performance
Geographic
data
SDK Mobile
Mappy
API AJAX
Mappy
Stack Mappy
Engine
Templates
Stack Mappy
Cache
API AJAX
NewMappy
SDK Mobile
New Mappy
KyotoCabinetKyotoCabinet
BACK OFFICE PRODUCTION
BACK OFFICE PRODUCTION
Step 2
Cache migration
New APIs
Add relief /HD tiles
Work on performance
and configuration (Cache/Service/APIs)
Geographic
data
SDK Mobile
Mappy
API AJAX
Mappy
Stack Mappy
Engine
Templates
Stack Mappy
Cache
API AJAX
NewMappy
SDK Mobile
New Mappy
KyotoCabinetKyotoCabinet
BACK OFFICE PRODUCTION
BACK OFFICE PRODUCTION
Step 3
Streamlining databases
Work on scaling
Optimizing process
Our journey – key points
– Be able to challenge historical choices
– Reach a better consensus with our customers (Web/Mobile)
– Less time on tools implementation than configuration
– We built prototype in two weeks
– We worked on configuration during 4 months
– Real issue : association of metadata
with map tiles
(dynamic display on map icons)
Our journey – technical choices
– PostGIS: transactional database/scalable/standard compliant
– Mapnik : approved by marketing and technical teams!
– Tornado :
– High performance reputation, already used by mobile team
– Varnish :
– Highyield
– Already used
by front teams
– Nothing to
prove
Our journey –
Contribution to Mapnik
– Mappy was legitimate to participate in an open source project
– Develop an open source policy at Mappy
– Arrange technical organization (Open Source Manager, Github
website : https://github.com/Mappy)
– Contribute to Mapnik : implementation of parallelism with PostGIS
(available on master). Performance gain: 25%
– Some tools availables on Github like pycnik
Feedback
Feedback– Key figures
– Production platform handles 85% of the load (All media except
Mobile YP)
– 14 servers:
– Varnish : 2 / Tornik : 8 / PostGIS : 4
– Output without cache:
– Peak 240 req/s
– Average throughput 150 req/s
– Output with cache: 2500 req/s (peak)
– Cache Hit Ratios: 94%
– Cache preload: 2 millions objects
– Postgis database: 75 Go
– Relief database: 300 Go
Feedback… team
– Positive
– Team motivation, proud and in control of our new platform
– PostGIS and Mapnik tools
– Contribution/open source world
– Negative
– Difficult to identify correct projects splitting
– Contribute lately to Mapnik
– Contributing requires available time (discussion with
community/ pull requests)
– Deployment by our customer not as fast as expected
Thank
you
@AudreyMalherbe https://github.com/Mappy

Contenu connexe

Similaire à Foss4G2013 Mappy-ing Open Source

BCS Workshop: Old Maps Online
BCS Workshop: Old Maps OnlineBCS Workshop: Old Maps Online
BCS Workshop: Old Maps Online
Petr Pridal
 
Building Mobile Cross-Platform Geospatial Apps, Nick Landry
Building Mobile Cross-Platform Geospatial Apps, Nick LandryBuilding Mobile Cross-Platform Geospatial Apps, Nick Landry
Building Mobile Cross-Platform Geospatial Apps, Nick Landry
Xamarin
 
OldMapsOnline.org: Open Source & Online Tools for Old Maps
OldMapsOnline.org: Open Source & Online Tools for Old MapsOldMapsOnline.org: Open Source & Online Tools for Old Maps
OldMapsOnline.org: Open Source & Online Tools for Old Maps
Petr Pridal
 

Similaire à Foss4G2013 Mappy-ing Open Source (20)

Upgrading maps with Linked Data
Upgrading maps with Linked DataUpgrading maps with Linked Data
Upgrading maps with Linked Data
 
BCS Workshop: Old Maps Online
BCS Workshop: Old Maps OnlineBCS Workshop: Old Maps Online
BCS Workshop: Old Maps Online
 
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...
OpenGeoData Italia - Roma - Simone Cortesi | Maurizio Napolitano | openstreet...
 
Thinking spatially with your open data
Thinking spatially with your open dataThinking spatially with your open data
Thinking spatially with your open data
 
Drupal Day 2011 - Thinking spatially with your open data
Drupal Day 2011 - Thinking spatially with your open dataDrupal Day 2011 - Thinking spatially with your open data
Drupal Day 2011 - Thinking spatially with your open data
 
An Overview of Web GIS and Location Based Services
An Overview of Web GIS and Location Based ServicesAn Overview of Web GIS and Location Based Services
An Overview of Web GIS and Location Based Services
 
Building Mobile Cross-Platform Geospatial Apps, Nick Landry
Building Mobile Cross-Platform Geospatial Apps, Nick LandryBuilding Mobile Cross-Platform Geospatial Apps, Nick Landry
Building Mobile Cross-Platform Geospatial Apps, Nick Landry
 
Scaling Spatial Analytics with Google Cloud & CARTO
Scaling Spatial Analytics with Google Cloud & CARTOScaling Spatial Analytics with Google Cloud & CARTO
Scaling Spatial Analytics with Google Cloud & CARTO
 
Foss4 G Slides V3
Foss4 G Slides V3Foss4 G Slides V3
Foss4 G Slides V3
 
Geospatial Analytics at Scale with Deep Learning and Apache Spark with Tim hu...
Geospatial Analytics at Scale with Deep Learning and Apache Spark with Tim hu...Geospatial Analytics at Scale with Deep Learning and Apache Spark with Tim hu...
Geospatial Analytics at Scale with Deep Learning and Apache Spark with Tim hu...
 
SOTM-JP 2015 Closing Keynote - Mapbox
SOTM-JP 2015 Closing Keynote - MapboxSOTM-JP 2015 Closing Keynote - Mapbox
SOTM-JP 2015 Closing Keynote - Mapbox
 
Maps and Apps
Maps and AppsMaps and Apps
Maps and Apps
 
2013 Vendor, MapQuest Plugins for Leaflet by Jonathan Harahush
2013 Vendor, MapQuest Plugins for Leaflet by Jonathan Harahush2013 Vendor, MapQuest Plugins for Leaflet by Jonathan Harahush
2013 Vendor, MapQuest Plugins for Leaflet by Jonathan Harahush
 
OldMapsOnline.org: Open Source & Online Tools for Old Maps
OldMapsOnline.org: Open Source & Online Tools for Old MapsOldMapsOnline.org: Open Source & Online Tools for Old Maps
OldMapsOnline.org: Open Source & Online Tools for Old Maps
 
OTB-FOSS4G-2010
OTB-FOSS4G-2010OTB-FOSS4G-2010
OTB-FOSS4G-2010
 
10 years of microservices at finn.no - why is that dragon still here (ndc o...
10 years of microservices at finn.no  - why is that dragon still here  (ndc o...10 years of microservices at finn.no  - why is that dragon still here  (ndc o...
10 years of microservices at finn.no - why is that dragon still here (ndc o...
 
Introduction of Open Source GIS
Introduction of Open Source GISIntroduction of Open Source GIS
Introduction of Open Source GIS
 
Stuart Miller - GIS Output and the Role of Cartography
Stuart Miller - GIS Output and the Role of CartographyStuart Miller - GIS Output and the Role of Cartography
Stuart Miller - GIS Output and the Role of Cartography
 
Integrating PostGIS in Web Applications
Integrating PostGIS in Web ApplicationsIntegrating PostGIS in Web Applications
Integrating PostGIS in Web Applications
 
Amal Mohamed-CV
Amal Mohamed-CVAmal Mohamed-CV
Amal Mohamed-CV
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Foss4G2013 Mappy-ing Open Source

  • 2. @AudreyMalherbe Audrey Malherbe Head of geo platform at Mappy audrey.malherbe@mappy.com
  • 3. 367 millions route requests in 2012 4 millions referenced business Mappy, a brand of SoLocal Group About 10 millions monthly users 27 millions monthly visits Provide route planner and local services on the web and mobiles devices
  • 4. Feedback on the overhaul of the mapping engine of Mappy around Mapnik and PostGIS
  • 6. – Les enjeux du projet The path
  • 7. The path – starting point Background – Map processing for 16 years with TomTom/AND databases – Maps are used by Mappy & French YellowPages media – « home-made » processing mastered but ageing The future – Repositionnning map to fit new requirements : the purpose of the map is now to support content – Open-source-oriented strategy (moving towards) – Anticipate emerging challenges (vector tiles, HD maps, relief, ...)
  • 8. Geographic data SDK Mobile Mappy API AJAX Mappy Stack Mappy Engine Templates Stack Mappy Cache Data processing Mostly pre-computation Duration : 10 days Non standard proprietary format 12 zoom levels Software system Fully mastered (behaviour) Some dead code Costly evolutions Non negociable performances 6 Billions req/month BACK OFFICE PRODUCTION
  • 9. The path - goals – Create a map design able to support content – Be ready to release with the new version of our website fr.mappy.com – Reduce the computational time – address weaknesses of the platform and keep in mind its strengths – Streamlining map tile production – Standardizing (REST API, etc.) – Build for the future (Able to scale and support new services)
  • 10. Take a Deep Breath. Start Again.
  • 11. Geographic data API AJAX NewMappy SDK Mobile New Mappy KyotoCabinetKyotoCabinet New platform in production Reduced Preparation Time 2days (vector) + 2days (relief) Standard Live code Mapnik contribution Reduced operating cost BACK OFFICE PRODUCTION
  • 12. – Le chemin Our journey
  • 13. Our journey - Starting point – Heterogeneous knowledge of the team on open source technologies – Training & getting help from expert – Bring a culture of open source – Split project – Migrate brick by brick in order to learn and master the platform – « Eat our own food » – Test it fast Innophi
  • 14. Geographic data SDK Mobile Mappy API AJAX Mappy Stack Mappy Engine Templates Stack Mappy Cache API AJAX NewMappy SDK Mobile New Mappy KyotoCabinetKyotoCabinet BACK OFFICE PRODUCTION BACK OFFICE PRODUCTION Templates Step 0 Map design By marketing and Map designer
  • 15. Geographic data SDK Mobile Mappy API AJAX Mappy Stack Mappy Engine Templates Stack Mappy Cache API AJAX NewMappy SDK Mobile New Mappy KyotoCabinetKyotoCabinet BACK OFFICE PRODUCTION BACK OFFICE PRODUCTION Step 1 Migration of database and map engine Keep Front interface Work on database performance
  • 16. Geographic data SDK Mobile Mappy API AJAX Mappy Stack Mappy Engine Templates Stack Mappy Cache API AJAX NewMappy SDK Mobile New Mappy KyotoCabinetKyotoCabinet BACK OFFICE PRODUCTION BACK OFFICE PRODUCTION Step 2 Cache migration New APIs Add relief /HD tiles Work on performance and configuration (Cache/Service/APIs)
  • 17. Geographic data SDK Mobile Mappy API AJAX Mappy Stack Mappy Engine Templates Stack Mappy Cache API AJAX NewMappy SDK Mobile New Mappy KyotoCabinetKyotoCabinet BACK OFFICE PRODUCTION BACK OFFICE PRODUCTION Step 3 Streamlining databases Work on scaling Optimizing process
  • 18. Our journey – key points – Be able to challenge historical choices – Reach a better consensus with our customers (Web/Mobile) – Less time on tools implementation than configuration – We built prototype in two weeks – We worked on configuration during 4 months – Real issue : association of metadata with map tiles (dynamic display on map icons)
  • 19. Our journey – technical choices – PostGIS: transactional database/scalable/standard compliant – Mapnik : approved by marketing and technical teams! – Tornado : – High performance reputation, already used by mobile team – Varnish : – Highyield – Already used by front teams – Nothing to prove
  • 20. Our journey – Contribution to Mapnik – Mappy was legitimate to participate in an open source project – Develop an open source policy at Mappy – Arrange technical organization (Open Source Manager, Github website : https://github.com/Mappy) – Contribute to Mapnik : implementation of parallelism with PostGIS (available on master). Performance gain: 25% – Some tools availables on Github like pycnik
  • 22. Feedback– Key figures – Production platform handles 85% of the load (All media except Mobile YP) – 14 servers: – Varnish : 2 / Tornik : 8 / PostGIS : 4 – Output without cache: – Peak 240 req/s – Average throughput 150 req/s – Output with cache: 2500 req/s (peak) – Cache Hit Ratios: 94% – Cache preload: 2 millions objects – Postgis database: 75 Go – Relief database: 300 Go
  • 23. Feedback… team – Positive – Team motivation, proud and in control of our new platform – PostGIS and Mapnik tools – Contribution/open source world – Negative – Difficult to identify correct projects splitting – Contribute lately to Mapnik – Contributing requires available time (discussion with community/ pull requests) – Deployment by our customer not as fast as expected