I have been looking at AWS Elastic Beanstalk service for the deploymeny of my rails application, and I came to think it was actually a bad idea given some specific requirements of my application.

But then, it is still quite a pain to configure manually the other services that provide scaling/elasticity, so I would like to double check I have made the right choices.

I already have some dev/test environments on a single EC2 instance, and I need to deploy the website to a production-like environment before the release to the public. Load-balancing, elasticity, and all that.

Here are some of my requirements

  • Ruby 2.2/2.3 version
  • Carrierwave uploader with processing tools : require ImageMagick to be installed on the OS
  • The Database is a MongoDB database that is hosted on a separate EC2 instance
  • Right now I'm using passenger for the app but I guess as long as it works I don't really care
  • Nokogiri
  • AWS ElasticSearch service
  • Redis
  • Some delayed jobs (I need to run some jobs after some time, eg. ask users for reviews after specific dates)

When I looked at the Elastic Beanstalk preconfigurations, some of those were missing or not really clear (I believe my app would be compatible with Ruby 2.2 for example, but what about ImageMagick dependency ?), and I thought I would have more control going manual

But is it possible to actually figure out something to make it work dead easy with Beanstalk ? We're talking about a small startup website (which nevertheless isn't just about simple REST/CRUD actions), and I'm the only IT guy in their team, so the easiest/less prone to crash would be the better. I can't really understand if going Beanstalk


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.