Amazon this week announced Elastic Beanstalk, a managed Apache Tomcat service for AWS. Naturally, I had to try JRuby on it.First, the bad:AWSEB is really slow to deploy stuff. Several times it got “stuck” and I waited for more than 30 minutes for it to recover. It did not appear to be an app issue, since the app came up just fine.The default instance size is t1.micro. I was able to get a Rails app to boot there, but it’s a very underpowered size.It appears to start up JVMs with 256MB of memory max and 64MB of permgen. For a larger app, or one with many Rails instances, that might not be enough. For a “threadsafe” Rails app, though, it’s plenty.The default EC2 load balancer for the new Beanstalk instance is set to ping the “/” URL. If you don’t rig up a / route in your Rails app (like I forgot to do) the app will come up for a few minutes and immediately get taken out.And the good news: it works great once you get past the hassles! Here’s the process that worked for my app (assuming app is already build and ready for deploy). Preparing the app:Ensure jruby-openssl is in Gemfile. Rails seems to want it in production mode.Edit config/environments/production.rb to enable threadsafe mode.`warble`Preparing Elastic Beanstalk:Create a new instance, specifying the .war file Warbler created above as the app to deployThere is no step twoOnce the instance has been prepared, you may want to resize it to something larger than t1.micro if it’s meant to be a real app…but it should boot ok. Have fun! Java