Slide 1

Slide 1 text

MongoDB en Prod: déploiement et monitoring Juin 2012 MongoDB Day

Slide 2

Slide 2 text

Speakers: §  Mathias Kluba – Fastconnect §  Twitter @mathiaskluba §  Loic Dachary – eNovance Intro: pourquoi Mongo? 2

Slide 3

Slide 3 text

Pourquoi avoir choisie MongoDB ? §  BigData §  Linéarité des coups de stockage §  Requêtes riches §  Agilité §  Time to market: passer rapidement de DEV à PRD §  Cloud §  La Scalabilité horizontale n’est pas une option, c’est une obligation Intro: pourquoi Mongo? 3

Slide 4

Slide 4 text

Avantage majeur de MongoDB: Scalabilité horizontale §  Sharding §  distribuer la charge en lecture/écriture §  Replica Set §  disponibilité / résilience §  distribuer la charge en lecture Intro: pourquoi Mongo? 4

Slide 5

Slide 5 text

Mais en pratique, quand on a 15 nœuds… §  Comment déployer le cluster? §  Comment monitorer? Agréger les logs? §  Comment effectuer des opérations de maintenances sur tous les nœuds? Introduction 5

Slide 6

Slide 6 text

6 Déploiement

Slide 7

Slide 7 text

Déploiement 7          Infrastructure            Middlewares            Applica3ons   Monitoring   Déploiement   API  de   Provisioning   Déploiement   Meta   Déploiement   Scalabilité  dynamique  /  récupéra4on  automa4que  

Slide 8

Slide 8 text

Plusieurs solutions de déploiement: §  Do it yourself! §  Scripts shell? §  Template de VM? §  Chef §  Puppet §  Cloudify §  VMWare App Director §  Windows Azure §  Amazon CloudFormation §  MongoHQ (Mongo As A Service) Déploiement 8

Slide 9

Slide 9 text

Chef sur Amazon EC2 §  http://community.opscode.com/cookbooks/mongodb Démos 9 knife ec2 server create "role[mongod]" -I ami-a29943cb -u ubuntu -i key.pem -N ubuntu-ec2 -f t1.micro -S key --region us-east-1 -Z us-east-1d -G default -d ubuntu12.04-gems knife bootstrap ec2-12-34-56-0.compute-1.amazonaws.com -x ubuntu -i key.pem --sudo mongo ec2-12-34-56-0.compute-1.amazonaws.com:27017 initReplicatSet.js

Slide 10

Slide 10 text

Démos 10

Slide 11

Slide 11 text

Windows Azure §  http://www.mongodb.org/display/DOCS/MongoDB+on +Windows+Azure Démos 11

Slide 12

Slide 12 text

Puppet et MongoDB §  https://github.com/puppetlabs/puppetlabs-mongodb Démos 12

Slide 13

Slide 13 text

Démos 13

Slide 14

Slide 14 text

Démos 14 Démo: Puppet sur OpenStack Centraliser la configuration puppet §  serveur puppetmaster §  chaque machine un client puppet §  le rôle de la machine dépend d'un fact

Slide 15

Slide 15 text

Démo: Cloudify sur Amazon EC2 §  3 Replicat Set Démos 15

Slide 16

Slide 16 text

16 Monitoring

Slide 17

Slide 17 text

Outils de base: §  http console §  db.server.status() §  db.stats() §  mongostat Monitoring 17

Slide 18

Slide 18 text

Monitoring 18

Slide 19

Slide 19 text

Monitoring 19

Slide 20

Slide 20 text

Monitoring 20 Plus?

Slide 21

Slide 21 text

Monitoring « As a Service »: MMS §  Installation facile §  Outil officiel de 10Gen §  Le support 10Gen peut diagnostiquer vos logs §  Ne monitore que MongoDB §  Externe à votre infrastructure Monitoring 21

Slide 22

Slide 22 text

Monitoring 22

Slide 23

Slide 23 text

Monitoring « As a Service »: Server Density §  Monitore le système (Windows/Linux/etc.) §  Monitore Mongo de base §  Monitore de nombreuses choses via plugins §  Application iPhone/Android :) §  Externe à votre infrastructure Monitoring 23

Slide 24

Slide 24 text

Monitoring 24

Slide 25

Slide 25 text

Monitoring 25

Slide 26

Slide 26 text

Monitoring 26

Slide 27

Slide 27 text

Monitoring 27

Slide 28

Slide 28 text

Outils de Monitoring OpenSource existants: §  S’intègre à votre SI §  Monitore plus que MongoDB (OS, Middlewares) §  Reste en interne §  Peut être complexe à installer/configurer Monitoring 28

Slide 29

Slide 29 text

Outils de Monitoring OpenSource existants: §  Nagios §  h

Slide 30

Slide 30 text

Exemple de stats Cacti et Munin Monitoring 30

Slide 31

Slide 31 text

Exemple de statut avec Nagios + Centreon Monitoring 31

Slide 32

Slide 32 text

Outils de Monitoring Pro existants: §  CA Unicenter §  IBM Tivoli / Patrol §  HP OpenView §  ? Monitoring 32

Slide 33

Slide 33 text

Outils de Monitoring Pro existants: SNMP? Monitoring 33

Slide 34

Slide 34 text

Démo: Monitoring avec Cloudify Démos 34

Slide 35

Slide 35 text

35 Questions ?

Slide 36

Slide 36 text

No content