SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
La revolución del JS
à AcommeAssure.com
26/10/2016
BrestJS
Thomas Garcia
Pierre Le Roux
Thomas Garcia
Devops à AcommeAssure.com
@tomgarcia_
Pierre Le Roux
CEO de AcommeAssure.com
@pilerou
Un bon gros N-tiers à papa
SOAP pour
partenaires
SOAP métiers
Référentiel Batch de synchro...
Assureurs, téléphonie,
signature électronique...
Pas scalable
Boucle infernale
Progiciel...
Lourd
¡ Hasta la victoria siempre !
Juin 2014 :
Souhait de gérer nous même nos
contrats
Mieux gérer nos données
… en profiter pour donner un coup
dans le système
Septembre 2014 :
Lancement du ProChé Guévara
Septembre 2015 :
Bascule sur le nouveau système
L’architecture actuelle
SOAP pour
partenaires
...
Assureurs, téléphonie,
signature électronique...
Rest
Rest
Rest
Réplique
Rest, SOAP...
Big bang du système
Ancienne infrastructure Nouvelle infrastructure
DNS Acommeassure.com
...
Froide
Chaude
Filesystem rsync
Batch
Problématiques Infra externalisée
Constat en mars 2015 :
● Les équipes techniques externes ne maîtrisent pas nos nouvelles technos
● Nécessité de configurer nous même nos VMs
● Beaucoup de documentations en prévision pour les procédures
● 25 VMs
● Coût élevé
● Mise en place de l’intégration continue… pas simple
Internalisation de la nouvelle infra
… la solution de facilité
● Montée en compétence de l’ensemble de l’équipe
● Industrialisation simple à configurer pour un développeur
● Mise en place d’une équipe de garde
● 23 serveurs physiques
● Coût réduit de moitié
● Implication et solidarité de l’équipe augmentée
Problème 1: La communication
Problème 2: qui est où ?
Registrator
Nouvelle infrastructure
La garde de l’infra
MongoDB le coeur du système
Centraliser toutes les données pour mieux connaître le client
Affaires, contrats, mails, communications client, documents,
sinitres, mouvements financiers...
… l’importance du modèle
Avoir un modèle lisible par les humains
140 tables Mysql
remplacées par
15 collections Mongodb
Informations d'une affaire en un seul objet :
coordonnées, besoins, propositions...
Finies les jointures
Pas de documentation "développeur"
⇒ le code suffit
MongoDB ne bloque pas
Pas de transaction en MongoDB
Pas de blocage des processus en Node.JS
Favoriser la rapidité d’exécution
Gestion de l’atomicité des accès à chaque enregistrement
Pas de blocage des traitements
Développements en conséquence
Gérer la cohérence des données
On n'insère pas n'importe quoi …
...mais on n'alourdit pas les traitements par des contrôles
Requête
REST
Contrôle
JSON
SCHEMA
Routes
Express
Middleware
Accès
Mongoose
(contrôles…)
MongoDB
Redonder les données
Primary
Secondary Secondary
MongoConnector ElasticSearch
Primary
Scaler verticalement...
BDD au début
500 Go SSD
BDD au bout de 5 mois
BDD au bout de 10 mois
Alerte
Shard 1 Shard 2
Shard 3 Shard 4
… puis scaler …
horizontalement !
MongoDB le coeur du système
Mongos router
Mongod-shard-1 (P)
prod-1
Mongos router
Mongod-shard-2 (P)
prod-2
Mongos router
Mongod-shard-3 (P)
prod-3
Mongos router
Mongod-shard-4 (P)
Mongod-config (P)
prod-4
Mongod-shard-1
(S)
Mongod-shard-1
(S)
prod-7 prod-11
Mongod-shard-2
(S)
Mongod-shard-2
(S)
prod-8 prod-12
Mongod-shard-3
(S)
Mongod-shard-3
(S)
prod-9 prod-13
Mongod-shard-4
(S)
Mongod-config
(S)
Mongod-shard-4
(S)
Mongod-config
(S)
prod-10 prod-14
Industrialisation:
Automatisation des tests
Jenkins
Image
NodeJS
plugin XUnit
de jenkins
docker run
-v worspace_jenkins:/var/data
aca/nodejsbuilder gulp runTest
workspace
Industrialisation:
Automatisation de la qualimétrie
Jenkins
Image
NodeJS
plugin
checkstyle
jenkins
docker run
-v worspace_jenkins:/var/data
aca/nodejsbuilder
gulp jshint && gulp jscs
workspace
Industrialisation:
Automatisation de la construction des livrable
Jenkins
Image
NodeJS
docker run
-v worspace_jenkins:/var/data
aca/nodejsbuilder build.sh
workspace
docker build -t aca/monAppliJS .
docker push aca/monAppliJS
Industrialisation:
Livraison en recette / production
docker tag aca/monAppliJS
aca/monAppliJS:recette
docker push
aca/monAppliJS:recette
ansible-playbook deploy_containers -e
hosts=recette
-e container_state=reloaded
--tags=monAppliJS
Industrialisation:
Revenir en arrière
Industrialisation:
Je livre en prod quand je veux
Registrator
Une revolucion Réussie

Contenu connexe

Similaire à La revolución del JS à AcommeAssure.com - BrestJS SE01E02

Cas d'usage MongoDB chez Voyages-sncf.com
Cas d'usage MongoDB chez Voyages-sncf.comCas d'usage MongoDB chez Voyages-sncf.com
Cas d'usage MongoDB chez Voyages-sncf.comPierre Gentile
 
Voodoo.io NodeJS Meetup - November 13
Voodoo.io NodeJS Meetup - November 13Voodoo.io NodeJS Meetup - November 13
Voodoo.io NodeJS Meetup - November 13Aymeric Roffé
 
Cwin16 - Paris - blockchain
Cwin16 - Paris - blockchainCwin16 - Paris - blockchain
Cwin16 - Paris - blockchainCapgemini
 
REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)DataStax Academy
 
MongoDB 3.6 Customer Deck pptx.pptx
MongoDB 3.6 Customer Deck pptx.pptxMongoDB 3.6 Customer Deck pptx.pptx
MongoDB 3.6 Customer Deck pptx.pptxMongoDB
 
Les nouveautés de MongoDB 3.6
Les nouveautés de MongoDB 3.6Les nouveautés de MongoDB 3.6
Les nouveautés de MongoDB 3.6MongoDB
 
2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...
2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...
2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...Club Alliances
 
BizTalk Summit L'intégration en mutation
BizTalk Summit   L'intégration en mutationBizTalk Summit   L'intégration en mutation
BizTalk Summit L'intégration en mutationMichel HUBERT
 
Comment construire un environnement e-commerce complet avec Symfony 2 ?
Comment construire un environnement e-commerce complet avec Symfony 2 ? Comment construire un environnement e-commerce complet avec Symfony 2 ?
Comment construire un environnement e-commerce complet avec Symfony 2 ? Fabien Gasser
 
What's new in MongoDB 3.6
What's new in MongoDB 3.6What's new in MongoDB 3.6
What's new in MongoDB 3.6MongoDB
 
1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhuiRomain Jouin
 
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réelMathieu DESPRIEE
 
Le chiffrement en 2019 - Lybero.net - Arnaud Laprévote
Le chiffrement en 2019 - Lybero.net - Arnaud LaprévoteLe chiffrement en 2019 - Lybero.net - Arnaud Laprévote
Le chiffrement en 2019 - Lybero.net - Arnaud Laprévotealaprevote
 
Webinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud DatabasesWebinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud DatabasesOVHcloud
 
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...Bruno Bonnin
 
2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies2.0 Mode d'emploi Technologies
2.0 Mode d'emploi TechnologiesGiroud Marie
 

Similaire à La revolución del JS à AcommeAssure.com - BrestJS SE01E02 (20)

Cas d'usage MongoDB chez Voyages-sncf.com
Cas d'usage MongoDB chez Voyages-sncf.comCas d'usage MongoDB chez Voyages-sncf.com
Cas d'usage MongoDB chez Voyages-sncf.com
 
HLayer / DevOps REX
HLayer / DevOps REXHLayer / DevOps REX
HLayer / DevOps REX
 
Voodoo.io NodeJS Meetup - November 13
Voodoo.io NodeJS Meetup - November 13Voodoo.io NodeJS Meetup - November 13
Voodoo.io NodeJS Meetup - November 13
 
Cwin16 - Paris - blockchain
Cwin16 - Paris - blockchainCwin16 - Paris - blockchain
Cwin16 - Paris - blockchain
 
2.0 TEchnologies
2.0 TEchnologies2.0 TEchnologies
2.0 TEchnologies
 
T
TT
T
 
REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)
 
MongoDB 3.6 Customer Deck pptx.pptx
MongoDB 3.6 Customer Deck pptx.pptxMongoDB 3.6 Customer Deck pptx.pptx
MongoDB 3.6 Customer Deck pptx.pptx
 
Les nouveautés de MongoDB 3.6
Les nouveautés de MongoDB 3.6Les nouveautés de MongoDB 3.6
Les nouveautés de MongoDB 3.6
 
2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...
2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...
2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...
 
Mon Stockage a la Cloud Attitude
Mon Stockage a la Cloud Attitude Mon Stockage a la Cloud Attitude
Mon Stockage a la Cloud Attitude
 
BizTalk Summit L'intégration en mutation
BizTalk Summit   L'intégration en mutationBizTalk Summit   L'intégration en mutation
BizTalk Summit L'intégration en mutation
 
Comment construire un environnement e-commerce complet avec Symfony 2 ?
Comment construire un environnement e-commerce complet avec Symfony 2 ? Comment construire un environnement e-commerce complet avec Symfony 2 ?
Comment construire un environnement e-commerce complet avec Symfony 2 ?
 
What's new in MongoDB 3.6
What's new in MongoDB 3.6What's new in MongoDB 3.6
What's new in MongoDB 3.6
 
1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui
 
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel
[USI] Lambda-Architecture : comment réconcilier BigData et temps-réel
 
Le chiffrement en 2019 - Lybero.net - Arnaud Laprévote
Le chiffrement en 2019 - Lybero.net - Arnaud LaprévoteLe chiffrement en 2019 - Lybero.net - Arnaud Laprévote
Le chiffrement en 2019 - Lybero.net - Arnaud Laprévote
 
Webinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud DatabasesWebinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud Databases
 
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
 
2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies
 

Dernier

GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 

Dernier (15)

GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 

La revolución del JS à AcommeAssure.com - BrestJS SE01E02

  • 1. La revolución del JS à AcommeAssure.com 26/10/2016 BrestJS Thomas Garcia Pierre Le Roux
  • 2. Thomas Garcia Devops à AcommeAssure.com @tomgarcia_
  • 3. Pierre Le Roux CEO de AcommeAssure.com @pilerou
  • 4. Un bon gros N-tiers à papa SOAP pour partenaires SOAP métiers Référentiel Batch de synchro... Assureurs, téléphonie, signature électronique... Pas scalable Boucle infernale Progiciel... Lourd
  • 5. ¡ Hasta la victoria siempre ! Juin 2014 : Souhait de gérer nous même nos contrats Mieux gérer nos données … en profiter pour donner un coup dans le système Septembre 2014 : Lancement du ProChé Guévara Septembre 2015 : Bascule sur le nouveau système
  • 6. L’architecture actuelle SOAP pour partenaires ... Assureurs, téléphonie, signature électronique... Rest Rest Rest Réplique Rest, SOAP...
  • 7. Big bang du système Ancienne infrastructure Nouvelle infrastructure DNS Acommeassure.com ... Froide Chaude Filesystem rsync Batch
  • 8. Problématiques Infra externalisée Constat en mars 2015 : ● Les équipes techniques externes ne maîtrisent pas nos nouvelles technos ● Nécessité de configurer nous même nos VMs ● Beaucoup de documentations en prévision pour les procédures ● 25 VMs ● Coût élevé ● Mise en place de l’intégration continue… pas simple
  • 9. Internalisation de la nouvelle infra … la solution de facilité ● Montée en compétence de l’ensemble de l’équipe ● Industrialisation simple à configurer pour un développeur ● Mise en place d’une équipe de garde ● 23 serveurs physiques ● Coût réduit de moitié ● Implication et solidarité de l’équipe augmentée
  • 10. Problème 1: La communication
  • 11. Problème 2: qui est où ? Registrator
  • 13. La garde de l’infra
  • 14.
  • 15. MongoDB le coeur du système Centraliser toutes les données pour mieux connaître le client Affaires, contrats, mails, communications client, documents, sinitres, mouvements financiers...
  • 16. … l’importance du modèle Avoir un modèle lisible par les humains 140 tables Mysql remplacées par 15 collections Mongodb Informations d'une affaire en un seul objet : coordonnées, besoins, propositions... Finies les jointures Pas de documentation "développeur" ⇒ le code suffit
  • 17. MongoDB ne bloque pas Pas de transaction en MongoDB Pas de blocage des processus en Node.JS Favoriser la rapidité d’exécution Gestion de l’atomicité des accès à chaque enregistrement Pas de blocage des traitements Développements en conséquence
  • 18. Gérer la cohérence des données On n'insère pas n'importe quoi … ...mais on n'alourdit pas les traitements par des contrôles Requête REST Contrôle JSON SCHEMA Routes Express Middleware Accès Mongoose (contrôles…) MongoDB
  • 19. Redonder les données Primary Secondary Secondary MongoConnector ElasticSearch Primary
  • 20. Scaler verticalement... BDD au début 500 Go SSD BDD au bout de 5 mois BDD au bout de 10 mois Alerte Shard 1 Shard 2 Shard 3 Shard 4 … puis scaler … horizontalement !
  • 21. MongoDB le coeur du système Mongos router Mongod-shard-1 (P) prod-1 Mongos router Mongod-shard-2 (P) prod-2 Mongos router Mongod-shard-3 (P) prod-3 Mongos router Mongod-shard-4 (P) Mongod-config (P) prod-4 Mongod-shard-1 (S) Mongod-shard-1 (S) prod-7 prod-11 Mongod-shard-2 (S) Mongod-shard-2 (S) prod-8 prod-12 Mongod-shard-3 (S) Mongod-shard-3 (S) prod-9 prod-13 Mongod-shard-4 (S) Mongod-config (S) Mongod-shard-4 (S) Mongod-config (S) prod-10 prod-14
  • 22. Industrialisation: Automatisation des tests Jenkins Image NodeJS plugin XUnit de jenkins docker run -v worspace_jenkins:/var/data aca/nodejsbuilder gulp runTest workspace
  • 23. Industrialisation: Automatisation de la qualimétrie Jenkins Image NodeJS plugin checkstyle jenkins docker run -v worspace_jenkins:/var/data aca/nodejsbuilder gulp jshint && gulp jscs workspace
  • 24. Industrialisation: Automatisation de la construction des livrable Jenkins Image NodeJS docker run -v worspace_jenkins:/var/data aca/nodejsbuilder build.sh workspace docker build -t aca/monAppliJS . docker push aca/monAppliJS
  • 25. Industrialisation: Livraison en recette / production docker tag aca/monAppliJS aca/monAppliJS:recette docker push aca/monAppliJS:recette ansible-playbook deploy_containers -e hosts=recette -e container_state=reloaded --tags=monAppliJS
  • 27. Industrialisation: Je livre en prod quand je veux Registrator