Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MongoDB Paris 2012: Déploiement et Monitoring

mongodb
July 19, 2012
96

MongoDB Paris 2012: Déploiement et Monitoring

Mathias Kluba, Manager of the NoSQL division, Fastconnect
Vous avez opté pour MongoDB, pour sa souplesse du "schemaless design", pour sa scalabilité horizontale, et pour sa simplicité. C'est un pur bonheur pour le développement, mais qu'en est-il en production? - comment facilement et rapidement déployer 10 ou 100 nœuds? - comment s'abstraire de l'infrastructure existante pour le déploiement sur des machines physiques, virtuelles, ou du Cloud public/privé? - comment monitorer tout le cluster, et effectuer des opérations de maintenance (backups, etc..)? Nous allons vous présentez lors de cette session quelques outils permettant de déployer une architecture MongoDB solide et fiable, que ce soit en sharding ou replicatSet, tout en monitorant l'ensemble pour garantir une haute disponibilité. Choisir les bons outils va vous permettre de réduire le temps et le coût lors du passage de la phase de développement à une production solide avec une forte SLA. Cette présentation sera en Français.

mongodb

July 19, 2012
Tweet

Transcript

  1. 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
  2. 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
  3. 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
  4. Déploiement 7          Infrastructure      

         Middlewares            Applica3ons   Monitoring   Déploiement   API  de   Provisioning   Déploiement   Meta   Déploiement   Scalabilité  dynamique  /  récupéra4on  automa4que  
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. Outils de Monitoring OpenSource existants: §  Nagios §  h<ps://github.com/mzupan/nagios-­‐plugin-­‐mongodb  

    §  Hyperic §  h<p://support.hyperic.com/display/hyperforge/ MongoDB   §  Munin §  h<ps://github.com/erh/mongo-­‐munin   §  h<ps://github.com/pcdummy/mongomon   §  Etc. Monitoring 29
  12. Outils de Monitoring Pro existants: §  CA Unicenter §  IBM

    Tivoli / Patrol §  HP OpenView §  ? Monitoring 32