SlideShare uma empresa Scribd logo
1 de 50
Plus de flexibilité et de
scalabilité chez Bouygues
Télécom grâce à
MongoDB
Pierre-Alban DEWITTE
@__pad__
MongoDB Days Paris
18 novembre 2014
Bouygues Telecom
13 M de
clients
@__pad__
Merci!
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
Agenda
1.Problèmes existants
Problèmes existants
Consumer
Customers
Existing Sytem
Compagny
Customers
LDAP
access
Micropayment
system
Identity and Oauth
management system
Network
Connexion system
ETL
Existing problems
Projet avec deux
ans de retard
Adaptation du schéma
très ardue
Performance
Existing problems
Agenda
1.Problèmes existants
2.Protoype
A.MongoDB
B.Tomcat
C.Storm
Protoype - MongoDB
Schéma flexible
Haute disponibilité
Capacité à monter en charge
Cout modéré du stockage
permettant la duplication
POC entre Tomcat et
NodeJS
Pas de dispersion,
focalisation sur
MongoDB !
Protoype - Tomcat
Protoype - Storm
Système de traitement des données en
parallèle
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
Agenda
1.Problèmes existants
2.Protoype
3.Build
A.Topologie Storm
B.Architecture MongoDB
C.Schema design
D.Approche DevOps
Build - Topologie Storm
Customer files
are pushed
every night
Read file line by
line
1
…
DetectFile
Spout
ProcessLine
Bolt
2
line
Build - Topologie Storm
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
Build - Topologie Storm
Build - Topologie Storm
Build - Topologie Storm
Gestion des acquittements et des erreurs
ack(Object msgId)
failed(Object msgId)
Build - Topologie Storm
Rapidité de mise à l’échelle des
traitements batch
Build - Architecture MongoDB
Customer
collections
Reference
collections
Customer (Photo) Customer (Delta)
Delta computation Delta filtering
Reference update
Customers
collection update
Consultation
Services
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
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 ?
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
Architecture MongoDB
Build - Schema design
Conception User
-Name
-Compagny
-Billcycle
-Payment
Mode
Acces Point
-Name
-Compagny
-Billcycle
-Payment
Mode
1
1..n
Conception
Build - Schema design
Development
Build - Schema design
Qualification
Build - Schema design
Development
Build - Schema design
« Ca marche !»
Qualification
Conception
Build - Schema design
StressTest
Build - Schema design
ConceptionConception
Build - Schema design
ConceptionConception
Build - Schema design
Development
Build - Schema design
Development
Qualification
Conception
StressTest
Build - Schema design and refactor
Parfait !
Development
Conception
StressTes
Build - DevOps
Build - DevOps
Coopération entre Dev et Ops
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
6 mois plus tard
1 an plus tard
Agenda
1.Problèmes existants
2.Protoype
3.Build
4.Ce que nous avons appris
Ce que nous avons appris
Apache Tomcat Apache STORM
Plus de flexibilité et de
scalabilité avec une solution
100% Open Source
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
Questions ?
@__pad__
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

Mais conteúdo relacionado

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

Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Morning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMorning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMongoDB
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureThomas Conté
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...Microsoft
 
Keynote change 2013
Keynote change 2013Keynote change 2013
Keynote change 2013rbschange
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Développer et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftDévelopper et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftLeTesteur
 
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]ANEO
 
Alan Poe appliqué au data streaming - toutes choses sont bonnes ou mauvaises ...
Alan Poe appliqué au data streaming - toutes choses sont bonnes ou mauvaises ...Alan Poe appliqué au data streaming - toutes choses sont bonnes ou mauvaises ...
Alan Poe appliqué au data streaming - toutes choses sont bonnes ou mauvaises ...Julien Cognet
 
Morning With MongoDB
Morning With MongoDBMorning With MongoDB
Morning With MongoDBFastConnect
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de phpGautier DUMAS
 
Découverte .Net Core et Asp.Net Core
Découverte .Net Core et Asp.Net CoreDécouverte .Net Core et Asp.Net Core
Découverte .Net Core et Asp.Net CoreIonut Mihalcea
 
Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopJoseph Glorieux
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement bruteYounesOuladSayad1
 
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...OSA02 - Pas de transactionnel haute performance sans un couple machine logici...
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...Nicolas Desachy
 
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELECRetour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELECMicrosoft Technet France
 

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

Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Morning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMorning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast Connect
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
 
Keynote change 2013
Keynote change 2013Keynote change 2013
Keynote change 2013
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Développer et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftDévelopper et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoft
 
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
 
Alan Poe appliqué au data streaming - toutes choses sont bonnes ou mauvaises ...
Alan Poe appliqué au data streaming - toutes choses sont bonnes ou mauvaises ...Alan Poe appliqué au data streaming - toutes choses sont bonnes ou mauvaises ...
Alan Poe appliqué au data streaming - toutes choses sont bonnes ou mauvaises ...
 
Morning With MongoDB
Morning With MongoDBMorning With MongoDB
Morning With MongoDB
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
Découverte .Net Core et Asp.Net Core
Découverte .Net Core et Asp.Net CoreDécouverte .Net Core et Asp.Net Core
Découverte .Net Core et Asp.Net Core
 
Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX Hadoop
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...OSA02 - Pas de transactionnel haute performance sans un couple machine logici...
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...
 
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELECRetour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
Retour d'expérience BIG COMPUTE & HPC sur Windows Azure, par ANEO et SUPELEC
 
vNext
vNextvNext
vNext
 

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

Notas do Editor

  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