I'm writing some telecommunications software, and must devise a way to monitor and configure the software after it has been deployed on a server.
The company I work for currently has an in-house solution, but we're exploring other options.
What tools are available that can do the following (preferably all in one package):
1) Deliver software updates to each server in the server farm.
2) Deliver configuration text files to each server and potentially restart the software to load the configuration.
3) Monitor the software on each server, and restart it if it crashes.
(Both commercial and open-source/free solutions are fine).
What tools are available to accomplish these goals on Linux?