4 ms·
To those who are doing this, I have a question. How distributed is your production environment? How is deploying the app, starting/stopping background services,
by 198d 16y ago
To those who are doing this, I have a question. How distributed is your production environment? How is deploying the app, starting/stopping background services, etc... handled on multiple machines?
- senko 16y agoI run it on a single server. That said, I imagine in a distributed environment (where you have a couple of machines, not tens, hundreds or more) you can do something like this on each machine you have (probably not in parrallel though, if something happens you don't want to mess up all the servers?). If someone has a link to a good article / book / video about best practices with this, please post it? There's a lot of talk about how someone did massively scallable systems or deployments (and it's really interesting, lots of cool engineering problems & solutions there), but a real world "here's what we figured works really well for us for a smaller-scale distributed operation" would be really useful, too.
- selectnull 16y agoI use fabric http://fabfile.org http://fabfile.org for deployment and though I don't have multiple servers, it's really easy to add more servers to a fabfile (a python script). Deployment is easy and flexible, for example I use something like this: fab release pull update touch The above will work on release version, will pull in changes from repo (hg in my case), will update to tip (or any tag I want), remove any *.pyc files and recompile and finally touch wsgi file. All these (release, pull, update, touch) are custom written python functions using fabric library. If I want to restart apache, I use this (could have combined it with previous example and it would work) fab apache_restart Fabric is joy to use, very easy to write powerful deployment scripts and has good documentation: highly recommended.