This setup is very similar to the setup I created at my previous job.<p>Instead of Ansible, I used a plain old shell script, but still idempotent. I did all the testing locally using vagrant/virtualbox. Application deployment was separated in our setup as well, also retrieving the latest application codebase during boot, but using a tgz stored on s3 with the application all the application dependencies (ruby gems and precompiled assets) already in there.<p>All in all I am very happy with this setup being able to autoscale in a few minutes.