javascript - Meteor Application - How might one implement orchestration/provisioning for multi-instance deployments? -


i have meteor.js application works single instance deployment want setup infrastructure enable , automate creation of more instances (1 each client).

i intend have subdomain each deployment reserved given client.

i image have have to:

  1. retrieve desired subdomain each client (through sign-up site)
  2. bundle application
  3. deploy instance on separate port separate db each
  4. setup reverse proxy forward subdomain appropriate internal port
  5. setup monitor processes , restart them if crash or reboot occurs
  6. automate re-bundling , deploying instances when application code updated , released

to best of understanding think appropriate tools job in orchestration family (capistrano, fabric, func, rundeck) don't understand pieces take care of , pieces are/should left other tools.

a lot of problems come not knowing how connect steps and/or if should connected. others come not knowing best practices or design patterns around doing sort of stuff can learned.

for example:

  • i know how bundle application on command line should step part of shell script, or python script, or ruby.... same goes step 2 in deployment (i know how on command line not how automate it)
  • i imagine setup reverse proxy don't know reverse proxy tool out there can dynamically modified or configured , if scripting language doing dynamic configuration.
  • i have no idea considerations need made or should made when updating/redeploying apps.

basically seems there number of tools out there , quite few ways stuff little guidance on tools work or how properly. highly motivated learn necessary tools , languages if didn't feeling selecting set of tools work dice roll.

you start meteor-up make servers run time (npm forever) , @ startup.

haproxy has soft-reconfiguration feature allows add , remove subdomains (or servers sub-domain) without restarting service.

you should have need going.


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -