Meteor.js
Plan for Deployment to Production
CLI
• Node.js/NPM
• Meteorite/Atmosphere > GitHub
• Meteor > Native Packages
• Cordova > Apache/3rd Party Plugins with Plugman
• Eclipse IDE > Android SDK & Terminal plugin
• Xcode IDE
Plan for Meteor.js Deployment to Production 2
Discussion Points
• Development vs Production
• Automated Deployment
• Hosts
• Scaling
Plan for Meteor.js Deployment to Production 3
Dev vs Prod
• New Meteor project is open and insecure.
• Includes autopublish and insecure packages.
• > meteor remove autopublish insecure
• Add accounts-ui, et. al, for identity & access
management:
o Subscribe > Publish collections.
o Meteor.call > Meteor.methods.
o HTTP.call to Rest APIs.
o oAuth connections to user data.
o DDP.connect from other Meteor clients.
Plan for Meteor.js Deployment to Production 4
Deployment
• Node.js app
• meteor bundle --directory test
• Add env. Variables:
o MONGO_URL,
o ROOT_URL,
o Port (optional, defaults to 80),
o MONGO_OPLOG_URL (if required)
o METEOR_SETTINGS (if required).
Plan for Meteor.js Deployment to Production 5
Hosts
• Meteor.com > meteor deploy <sitename>
--password --settings
• Modulus.io > modulus deploy (detects meteor and runs
demeteorizer)
• AWS > DYI with Bitnami AMI, Other AMI?
• MS Azure ???
Plan for Meteor.js Deployment to Production 6
Scaling
MongoDB
o Built-in for DEV
o Built-in for Modulus
o MongoLab, MongoHQ
o Oplog tailing > Watch log of latest changes.
o Replica set cluster with auto failover.
Server
o Load Balancing
o Distribution
Plan for Meteor.js Deployment to Production 7
Package Freeze
• Make a plan to freeze a copy of the Meteorite packages
used.
Plan for Meteor.js Deployment to Production 8
Links
• http://docs.meteor.com/#meteordeploy
• http://www.modulus.io
• http://blog.modulus.io/demeteorizer
• http://www.monglab.com
• http://aws.amazon.com/
• https://bitnami.com/stack/nodejs/cloud/azure
• http://vmdepot.msopentech.com/Vhd/Show?vhdId=4251
8
9Plan for Meteor.js Deployment to Production

Meteor Deployment Planning

  • 1.
  • 2.
    CLI • Node.js/NPM • Meteorite/Atmosphere> GitHub • Meteor > Native Packages • Cordova > Apache/3rd Party Plugins with Plugman • Eclipse IDE > Android SDK & Terminal plugin • Xcode IDE Plan for Meteor.js Deployment to Production 2
  • 3.
    Discussion Points • Developmentvs Production • Automated Deployment • Hosts • Scaling Plan for Meteor.js Deployment to Production 3
  • 4.
    Dev vs Prod •New Meteor project is open and insecure. • Includes autopublish and insecure packages. • > meteor remove autopublish insecure • Add accounts-ui, et. al, for identity & access management: o Subscribe > Publish collections. o Meteor.call > Meteor.methods. o HTTP.call to Rest APIs. o oAuth connections to user data. o DDP.connect from other Meteor clients. Plan for Meteor.js Deployment to Production 4
  • 5.
    Deployment • Node.js app •meteor bundle --directory test • Add env. Variables: o MONGO_URL, o ROOT_URL, o Port (optional, defaults to 80), o MONGO_OPLOG_URL (if required) o METEOR_SETTINGS (if required). Plan for Meteor.js Deployment to Production 5
  • 6.
    Hosts • Meteor.com >meteor deploy <sitename> --password --settings • Modulus.io > modulus deploy (detects meteor and runs demeteorizer) • AWS > DYI with Bitnami AMI, Other AMI? • MS Azure ??? Plan for Meteor.js Deployment to Production 6
  • 7.
    Scaling MongoDB o Built-in forDEV o Built-in for Modulus o MongoLab, MongoHQ o Oplog tailing > Watch log of latest changes. o Replica set cluster with auto failover. Server o Load Balancing o Distribution Plan for Meteor.js Deployment to Production 7
  • 8.
    Package Freeze • Makea plan to freeze a copy of the Meteorite packages used. Plan for Meteor.js Deployment to Production 8
  • 9.
    Links • http://docs.meteor.com/#meteordeploy • http://www.modulus.io •http://blog.modulus.io/demeteorizer • http://www.monglab.com • http://aws.amazon.com/ • https://bitnami.com/stack/nodejs/cloud/azure • http://vmdepot.msopentech.com/Vhd/Show?vhdId=4251 8 9Plan for Meteor.js Deployment to Production