rd mongo-meetup-2013-05-21

16
Meteor & Mongo, a Case Study Presented by: David Wihl

Upload: claire-willett

Post on 02-Aug-2015

51 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rd mongo-meetup-2013-05-21

Meteor & Mongo, a Case StudyPresented by: David Wihl

Page 2: Rd mongo-meetup-2013-05-21

What is Meteor?

• a 14 month old very ambitious JavaScript framework

• Include client and server side• Uses Mongo as default / only persistence

Page 3: Rd mongo-meetup-2013-05-21

Meteor Highlights

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

Page 4: Rd mongo-meetup-2013-05-21

Gander

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

Ref: http://www.emailmonday.com/mobile-email-usage-statistics

Page 5: Rd mongo-meetup-2013-05-21

Gander Demo

Page 6: Rd mongo-meetup-2013-05-21

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

Page 7: Rd mongo-meetup-2013-05-21

Gander Architecture

Page 8: Rd mongo-meetup-2013-05-21

We Mongo

• 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

Page 9: Rd mongo-meetup-2013-05-21

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

Page 10: Rd mongo-meetup-2013-05-21

Not so Goodness

• Work in progress: 0.6.3 < 1.0• Performance

– cf. findOne

• Missing Mongo features, e.g Replica set

Page 11: Rd mongo-meetup-2013-05-21

Here Be Dragons…

• Doesn’t 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

meteor.com for direct access

Page 12: Rd mongo-meetup-2013-05-21

Aggregation Example

Page 13: Rd mongo-meetup-2013-05-21

Meteor Corp Biz Model

• Eventually enter the hosting biz via Galaxy• How will that relate to Mongo’s advanced

options and current hosting choices?• What about on-prem?

Page 14: Rd mongo-meetup-2013-05-21

Learn More

• www.meteor.com• http://www.discovermeteor.com/• http://www.ripariandata.com/blog/meteor-resources

• SO, Google Groups (meteor-core, meteor-talk), Google+

Page 15: Rd mongo-meetup-2013-05-21

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?

Page 16: Rd mongo-meetup-2013-05-21

Conclusions

• 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