Elastic Beanstalk is great! It is very easy to get a Rails app up and running on AWS quickly. Perfect for an app developer that prefers not to deal directly with sysops but still wants to deploy to and leverage the services on AWS.
When the need arise to SSH into your EB instance and execute a command in your app, you might run into issues. I describe in an earlier post how to trigger a restart of DelayedJob after each deployment. In that particular case, one issue was that the command was not running under the correct ruby installation. Turns out that we can make use of EB’s own support scripts to help us out.
I recently moved one of the Rails applications that I manage, from Engineyard to Elastic Beanstalk on Amazon AWS. All in all, it ended up taking a little bit longer than I expected. To get the webapp up and running was not the big issue, but all the things around it, like third party dependencies and background workers, etc.