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
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
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
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