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

StackUp: MongoDB Cloud Manager

StackUp: MongoDB Cloud Manager

A peek inside the stack of MongoDB Cloud Manager

justin j. moses

October 15, 2015
Tweet

More Decks by justin j. moses

Other Decks in Technology

Transcript

  1. mongod 2.6 mongod 3.0 mongod 2.4 mongod 3.x MongoDB processes

    (C++) Java 8 Jersey Morphia Client Stack (JS) Cloud Manager (Java 8, JavaScript ES5) mongos 3.x mongos 2.6 mongos 3.0 mongos 2.4 mongos 3.x mongos 3.0 mongos 2.6 automation agent monitoring agent backup agent automation agent monitoring agent backup agent (customer databases to manage) Cloud Backing DBs production & legacy agents (Go) MongoDB Hosted Customer Hosted (AWS, Azure, other)
  2. mongod 2.6 mongod 3.0 mongod 2.4 mongod 3.x MongoDB processes

    (C++) Java 8 Jersey Morphia Client Stack (JS) Cloud Manager (Java 8, JavaScript ES5) mongos 3.x mongos 2.6 mongos 3.0 mongos 2.4 mongos 3.x mongos 3.0 mongos 2.6 automation agent monitoring agent backup agent automation agent monitoring agent backup agent (customer databases to manage) Cloud Backing DBs production & legacy agents (Go) Customer Hosted (in their data centers)
  3. Java 8 Jersey Morphia Client Stack (JS) Cloud Manager (Java

    8, JavaScript ES5) mongos 3.x mongos 3.0 mongos 2.6 automation agent monitoring agent backup agent automation agent monitoring agent backup agent Cloud Backing DBs production & legacy agents (Go) We use our product to monitor, automate & backup the databases that support our product.
  4. Woe the dependencies. Cloud Manager Ops Manager ~ 5/6 months

    v2.0-rc0 MongoDB ~ 9/12 months (3 week sprints) v20151027 v3.2
  5. Bundled dependencies ES5 Bundled templates CommonJS dependencies Babel (ES2015) Browserify

    factor-bundle thirdparty Source Maps LESS BEM common app deployment onboarding charts provisioning backup Handlebars templates LESS Thirdparty Thirdparty minification CSS concatenator minification thirdparty main Thirdparty libraries
  6. Bundled dependencies ES5 Bundled templates CommonJS dependencies Babel (ES2015) Browserify

    thirdparty Source Maps LESS BEM app Handlebars templates LESS Thirdparty Thirdparty minification CSS concatenator minification thirdparty main Thirdparty libraries
  7. Bundled dependencies ES5 Bundled templates CommonJS dependencies Babel (ES2015) Browserify

    factor-bundle thirdparty Source Maps LESS BEM common app deployment onboarding charts provisioning backup Handlebars templates LESS Thirdparty Thirdparty minification CSS concatenator minification thirdparty main Thirdparty libraries
  8. When adding new dependencies... 1. Think twice before adding a

    new dependency 2. If you do, make sure it is tested and, where possible, regularly maintained 3. Where possible, include the bare minimum feature-set 4. Always bind to a specific version