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

MongoDB in the Cloud - Jim O'Neil, Developer Evangelist, Microsoft

mongodb
October 14, 2011

MongoDB in the Cloud - Jim O'Neil, Developer Evangelist, Microsoft

MongoBoston 2011

MongoDB is synonomous with scale and performance, and, hey, so is cloud computing! It's peanut butter and chocolate all over again as we take at... look at why you might consider running MongoDB in the cloud in general and also look at the alpha release of MongoDB on Azure, a collaboration from 10gen and Microsoft.

mongodb

October 14, 2011
Tweet

More Decks by mongodb

Other Decks in Technology

Transcript

  1. Why Cloud? Perfect storm of capabilities v  Reach via network

    ubiquity v  Elasticity via virtualization v  Resource pooling via commodity hardware v  Pay-for-what-you-use economics
  2. Why Mongo on Cloud *  h/p://www.mongodb.org/display/DOCS/ProducAon+Notes   [MongoDB]  was  designed

     specifically  with  commodity   hardware  in  mind  (to  facilitate  cloud  compuAng).  *   Many  cores  helps  but  does  not  provide  a  high  level  of   marginal  return,  so  don't  spend  money  on  them.  *     Because,  we’re  geeks  and  we  can!  
  3. Which Cloud? Essen%al  Characteris%cs   On-­‐demand  self-­‐service   Broad  network

        access   Resource  Pooling   Rapid  Elas%city   Measured  service   Infrastructure  as  a  Service   PlaBorm  as  a  Service   SoCware  as     a  Service   Deployment  Models   Private  Cloud   Hybrid  Cloud   Community  Cloud   Public  Cloud  
  4. Cloud: The New Colossus Infrastructure as a Service (IaaS) Give

    me your VMs Platform as a Service (PaaS) Give me your apps Software as a Service (SaaS) Give me your users Database
  5. EC2 •  Instances* –  mongod: 64-bit, Large+, RAID10 –  Arbiter:

    64-bit, Micro+ –  Config (sharding): 64-bit, Micro+ •  Elastic Block Storage (RAID10*) •  Guidance –  10gen: http://bit.ly/MongoOnAWS_10gen –  mongodb.org: http://bit.ly/MongoOnAWS –  Alex Moffat blog: http://jectbd.com/?p=1579 *  Per  mongodb.org:  h/p://bit.ly/MongoOnAWS  
  6. App2   Sample Setup – Single Instance ElasAc  Block  Storage

     (EBS)   (RAID10)   mongod   EC2   instance   App1   App2   App2   ElasAc  Load  Balancing  
  7. App2   Sample Setup – Replica Sets mongod   App1

      App2   App2   ElasAc  Load  Balancing   (RAID10)   mongod   EBS   EC2  (large+)   mongod   (arbiter)   EC2  (micro)  
  8. App2   Sample Setup – Sharding App1   ElasAc  Load

     Balancing   mongod   mongod   mongod   (arbiter)   App2   App2   mongos   config   config   config   EC2   instance   (micro)   mongod   mongod   mongod   (arbiter)  
  9. •  Worker roles –  Everything is 64-bit –  mongod: Medium

    (2 CPU) up to X-Large (8 CPU) •  Storage –  Windows Azure Drives –  Local storage •  Guidance –  10gen: http://bit.ly/MongoMakogon –  mongodb.com: http://bit.ly/MongoOnAzure –  Simon Green blog: http://bit.ly/captaincodeman Intro-­‐offer?    Use  a  small  VM  size  to   stay  within  the  free  allotment.  
  10. Sample Setup – Single Instance Windows  Azure  Drive   (blob

     storage)   mongod   Worker  Role   App2   App2   App2   Web  Role   App1   Load  Balancer  
  11. Sample Setup – Warm Standby mongod   App2   App2

      App2   App1   Load  Balancer   Worker  Role   mongod  
  12. Sample Setup – Replica Sets mongod   App2   App2

      App2   Load  Balancer   mongod   Worker  role  (medium+)   mongod   (arbiter)   Worker  Role  (x-­‐small)  
  13. App2   Sample Setup – Sharding mongod   mongod  

    mongod   (arbiter)   App2   App2   mongos   config   config   config   Worker  Roles   (x-­‐small)   mongod   mongod   mongod   (arbiter)   Load  Balancer  
  14. MongoDB as a Service AWS    East  Region   EU

     –  West  (Small  only)   AWS  (East  in  2  availability  zones)   Joyent  (Las  Vegas)   Rackspace  (Chicago)   1.8.2    (some  sAll  at  1.6.5)   1.8.1  (as  of  June  4)   Plans    Single  server  durability    High  availability  replica  set    Dedicated   Plans    Starter    For-­‐pay,  mulA-­‐tenant  (master/slave)    Dedicated  (in-­‐alpha)   Regular  snapshots  for  disaster  recovery  puposes   S3  backup  opAon  (for  fee)   mongolab  UI     InformaAon  from  mongohq.com  and  mongolab.com  public  site  as  of  10/3/2011  
  15. •  Recently acquired MongoMachine •  Hosted on AWS –  East

    Region –  EU-West (small instance)* •  Three tiers –  Single Server –  Replica Set –  Dedicated (with sharding support) •  Optional backup to S3 –  Daily –  Weekly *  Small  instance  is  32-­‐bit;  10gen  recommendaAon  is  64-­‐bit  large  or  extra  large  instance  
  16. •  Multiple hosting options –  AWS (East in 2 availability

    zones) –  Rackspace (Chicago) –  Joyent (Las Vegas) •  Tiers –  Starter (up to 240 MB) –  For-Pay multi-tenant (S, M, L) –  Dedicated (alpha) •  Uses master/slave for paid databases “We are planning to replace master/slave replication with replica sets in the future.”* *  h/p://support.mongolab.com/entries/20162428-­‐do-­‐you-­‐use-­‐replicaAon  
  17. Are you Cloud Bound? •  Do you have infrastructure now?

    •  Are you a scale out kinda person? •  What are your usage patterns? –  24x7 steady state –  (Un-)predictable variance •  Do you need control? –  SLA –  Compliance
  18. … and don’t forget Cost! •  On-premises –  Hardware (and

    depreciation) –  IT administration •  IaaS / PaaS –  Compute –  Storage (at rest and transactions) –  Bandwidth •  SaaS –  Per user/application fees –  a la carte additions
  19. Thank You! Jim O’Neil – Developer Evangelist, Microsoft [email protected] v

    @jimoneil http://blogs.msdn.com/jimoneil hGp://bit.ly/TryAzureNow   hGp://bostonazure.org   (meets  here  monthly)   Free trial account!