We are developing a distributed application in Python. Now we are going to reorganize some of our system components and deploy them on separate servers, so I want to better understand the deployment for such an application. We will have several server code servers, several database servers (of different types) and, possibly, several front-end servers.
My question is / what are some good deployment patterns for distributed applications (in Python or in general)? How can I manage pushing the code to several servers (whose IP should be parameterized in the deployment system), static files on several interfaces, starting / stopping processes on servers, etc.? We are looking for an easy-to-use solution, but basically, what was once set up will go out of our way and allow us to deploy as painlessly as possible.
To clarify: we know that for this particular application there is no standard one solution, but this question is more likely to focus on a guide to the best methods for different types / parts of deployment than a single, unified solution.
Thank you very much! Any suggestions regarding this or other deployment / architecture pointers would be greatly appreciated.
source share