This is hard! Compare to the Heroku option when it comes to Rails application. I picked AWS Elastic Beanstalk as I want to know more about working on the cloud.
But the process involve a lot of small customization and minor tweak that are not in the official document. It took me ~10 hours to figure out how to deploy my existing source to the Elastic Beanstalk environment.
But it was worth the time! I learn about the following AWS Services: