I'm building a python/django based web app and I'm finding I have a lot of configs and setup to do in order to deploy, or reload the machines i'm deploying to.<p>Currently I deploy app code to an app server, static files to a AWS s3, search to a dedicated server, postgres to a dedicated server.<p>I'm configuring a redis cache, nginx, postgres, gunicorn, iptables, logging and various other subsystems and I'm finding it takes to many steps to simply deploy.<p>I use gulp for task automation and shell scripts for a significant amount of the deploy legwork, but I wonder if there isn't a better way?