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:
- retrieve desired subdomain each client (through sign-up site)
- bundle application
- deploy instance on separate port separate db each
- setup reverse proxy forward subdomain appropriate internal port
- setup monitor processes , restart them if crash or reboot occurs
- 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
Post a Comment