Publicité

Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB

Cloud leader chez MyScript® à MyScript®
19 Nov 2014
Publicité

Contenu connexe

Similaire à Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB(20)

Publicité

Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB

  1. Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB Pierre-Alban DEWITTE @__pad__ MongoDB Days Paris 18 novembre 2014
  2. Bouygues Telecom 13 M de clients
  3. @__pad__
  4. Merci!
  5. Agenda Plus de flexibilité et de scalabilité chez Bouygues Télécom 1.Problèmes existants 2.Protoype 3.Build 4.Ce que nous avons appris
  6. Agenda 1.Problèmes existants
  7. Problèmes existants Consumer Customers Existing Sytem Compagny Customers LDAP access Micropayment system Identity and Oauth management system Network Connexion system ETL
  8. Existing problems Projet avec deux ans de retard Adaptation du schéma très ardue Performance
  9. Existing problems
  10. Agenda 1.Problèmes existants 2.Protoype A.MongoDB B.Tomcat C.Storm
  11. Protoype - MongoDB Schéma flexible Haute disponibilité Capacité à monter en charge Cout modéré du stockage permettant la duplication
  12. POC entre Tomcat et NodeJS Pas de dispersion, focalisation sur MongoDB ! Protoype - Tomcat
  13. Protoype - Storm Système de traitement des données en parallèle
  14. Protoype – Schéma global Consumer Customer MongoDB database Compagny Customers REST Micropayment system Identity and Oauth management system Network Connexion system API STORM VOD Key FAI Customer
  15. Agenda 1.Problèmes existants 2.Protoype 3.Build A.Topologie Storm B.Architecture MongoDB C.Schema design D.Approche DevOps
  16. Build - Topologie Storm Customer files are pushed every night Read file line by line 1 … DetectFile Spout ProcessLine Bolt 2 line
  17. Build - Topologie Storm
  18. Build - Topologie Storm Emitting tuple for each set of functional collections ProcessLine Bolt 4 Oauth UpdaterBolt Identity UpdaterBoltTransform a line into a document & check delta 3
  19. Build - Topologie Storm
  20. Build - Topologie Storm
  21. Build - Topologie Storm Gestion des acquittements et des erreurs ack(Object msgId) failed(Object msgId)
  22. Build - Topologie Storm Rapidité de mise à l’échelle des traitements batch
  23. Build - Architecture MongoDB Customer collections Reference collections Customer (Photo) Customer (Delta) Delta computation Delta filtering Reference update Customers collection update Consultation Services
  24. Build - Architecture MongoDB Choix de dupliquer les données Une collection est modélisée pour l’écriture ou la lecture Le traitement d’alimentation est garant de la cohérence Possibilité de reprocess Outillage de l’audit de cohérence
  25. Build - Architecture MongoDB Les questions lors de l’estimation de la volumétrie 1.Quels sont les cas d’utilisation ? 2.Quels sont leurs volumes ? 3.Quelle est la modélisation associée ? 4.Quelle est la proportion du document mise à jour en cas d’update ? 5.Quelle proportion des données doit être accessible de façon concurrente ? 6.Quelle est la durée de vie des données ?
  26. Build - Architecture MongoDB 20 collections 750 Go de données utiles 9 serveurs « Data » physiques 3 shards, sharding par hash 2 To de RAM 3 serveurs « Config » virtuels 3 serveurs virtuels pour le backup
  27. Architecture MongoDB
  28. Build - Schema design Conception User -Name -Compagny -Billcycle -Payment Mode Acces Point -Name -Compagny -Billcycle -Payment Mode 1 1..n Conception
  29. Build - Schema design Development
  30. Build - Schema design Qualification
  31. Build - Schema design Development
  32. Build - Schema design « Ca marche !» Qualification Conception
  33. Build - Schema design StressTest
  34. Build - Schema design ConceptionConception
  35. Build - Schema design ConceptionConception
  36. Build - Schema design Development
  37. Build - Schema design Development Qualification Conception StressTest
  38. Build - Schema design and refactor Parfait ! Development Conception StressTes
  39. Build - DevOps
  40. Build - DevOps Coopération entre Dev et Ops
  41. Build - DevOps Formation internes par l’équipe de développement Rédaction d’un manuel d’exploitation dédié Exécution conjointe DEV et PROD des tests de pré-production Ecriture précoce des tests de performance
  42. 6 mois plus tard
  43. 1 an plus tard
  44. Agenda 1.Problèmes existants 2.Protoype 3.Build 4.Ce que nous avons appris
  45. Ce que nous avons appris Apache Tomcat Apache STORM Plus de flexibilité et de scalabilité avec une solution 100% Open Source
  46. Ce que nous avons appris 1.Choisir sa bataille 2.« Use the right tool for the right job » 3.Tester, échouer, recommencer 4.L’adoption passe par la formation
  47. Questions ? @__pad__
  48. Photo credits 100 m start : http://fr.wikipedia.org/wiki/100_m%C3%A8tres_%28athl%C3%A9tisme%29#mediaviewer/Fichier :Mens_100m_finals_British_Champs_and_Olympic_Trials.jpg by Paul Foot from Birmingham, UK Question mark block : https://www.flickr.com/photos/jarbo/9379813470 by Jared Cherup Pelleteuse orange : http://fr.123rf.com/photo_3669950_un-grand-pelleteuse-orange-stationne-a-un-chantier-de- construction.html by Stephen Mcsweeny Punaise : https://www.flickr.com/photos/24362608@N05/3501112978/sizes/l/in/photolist- f5R8g4-6kiVfR-6koahu-6ko7US-6ko8Qh-d9NUKU-nDi2eb-ffg13f-8h56wx-cgAcib-hchCtD-decZ4p- 6kocrL-6kj2J6-5doxaw-gbTPmK-nCFBBq-672Snf-2sCzvw-e1zAjM-8voRbc-c9Rh1m-amFFGt- 2iZNBq-cFSnFU-81Ckk4-2XHZAy-9Ggpfw-m8FfKz-8hW6r5-4xSuxC-awXsp4-5aVn7g-fbXVHZ- 9GAPLX-9qr7uU-fcddgA-cP1EN7-np2q92-6V8oBT-cenSsb-cyzaEd-8h5a2F-6V2b3F-ch1RME-fJ52s3- 9XthVN-kBs5mW-6qSPaF-5cA9Qb/ par dractrain94 Une longue vue qui louche : https://www.flickr.com/photos/la_bretagne_a_paris/3847733265/ par Yann Caradec NASA-Apollo8-Dec24-Earthrise : http://www.hq.nasa.gov/office/pao/History/alsj/a410/AS8-14- 2383HR.jpg par NASA / Bill Anders

Notes de l'éditeur

  1. Part of Bouygues group, mostly know in us for COLAS firm building and maintaining train railway Fourth french operator 13 Million customers Leader in 4G deployment
  2. Go POC !
  3. You all know MongoDB !
  4. Team like to try new things, why not used node ? Go quick
  5. BREAKKKKKKKKKKKKKK
  6. 3000 req/s 95% req < 100ms 500 000 customers loaded in less than 2 hours
  7. Scaling with a 100% open source stack it is possible ! We reach MongoDB and it was fine
  8. We want know do more
Publicité