You are on page 1of 16

Meteor & Mongo, a Case Study

Presented by: David Wihl

What is Meteor?
a 14 month old very ambitious JavaScript framework Include client and server side Uses Mongo as default / only persistence

Meteor Highlights
Reactivity Super easy data sync Client and server consistency Hot Code Pushes Smart packages / NPM happiness

Next-gen mobile email triage client Hoped to use HTML5 to be multiplatform



Our Experience with Meteor

Started as UX prototype only in Sept After security added in Oct, added real users By no means experts at Mongo Pushing platform pretty hard

Gander Architecture



Centerpiece of our app Myriad of hosting and on prem options

Currently using MongoHQ + EC2

Changed schema numerous times Good for semi-structured data like email

Goodness of Meteor
Easy to prototype Symmetric on client and server (minimongo) Nice pub/sub model, DDP Great bunch of guys, moving quickly Easy deploy, wrapped Mongo All open source

Not so Goodness
Work in progress: 0.6.3 < 1.0 Performance
cf. findOne

Missing Mongo features, e.g Replica set

Here Be Dragons
Doesnt use Mongo security model Uses Fibers to wrap async node calls
Can still access Mongo directly

Young MVC Design Patterns Need to host Mongo elsewhere than for direct access

Aggregation Example

Meteor Corp Biz Model

Eventually enter the hosting biz via Galaxy How will that relate to Mongos advanced options and current hosting choices? What about on-prem?

Learn More

SO, Google Groups (meteor-core, meteortalk), Google+

Questions for the Audience

Should we store attachments in S3 or GridFS? What gotchas exist in a REST front end to Mongo? Node.js or Rails? Anyone used Mongo 2.4 full text search yet?

In our opinion, Meteor is the best JS framework out there Symmetric data is super useful It s a work-in-progress with great potential Worth trying some prototype apps