I know this is an answer most people don't want to hear, but why not build your own Ansible / provisioning workflow and use that to do everything these services do?
I have one built in Ansible for our Python webapp and the entire configuration is encoded in the playbooks, rolling up the application into a source distribution, pip installing it, and also installing the dependencies...
Because solutions already exist like Cloud66 which means I don't have to learn Ansible. Having worked on deployment solutions for previous projects (using Capistrano), I was ridiculously relieved to discover Cloud66 and realize that I never have to think about provisioning and deployment again.