Further to my earlier round-up of Dreamhost deployment tips, I see that Jason Harrelson has added his own guide to the mix. Entitled Using Capistrano to overcome deployment hurdles on Dreamhost, it looks like a good overview of the process with plenty of detail on the Dreamost peculiarities as they relate to Rails deployment.
Chris McAvoy tipped me off that deploying your Rails app to some form of virtual machine is the new meme in the Rails deployment world. He also points to DHH’s request to get thinking about what the ideal Rails VM stack would look like. The follow-up discussion is great with contributions from a variety of experienced Rails deployment experts !
Rails deployment goodies mentioned during the discussions include :-
- RubyWorks’ open source LAMP stack for Rails
- The Rails Machine Capistrano tasks
- Capazon Capistrano tasks to manage Amazon EC2 instances
- deprec deployment recipes for Capistrano
- vmbuilder tools to manage Rails virtual machines using Capistrano
- Multi-Tentant Rails applications
- HAProxy High Availability proxy (to limit outstanding requests to 1 per mongrel)
- monit for starting/stopping mongrel processes
I was particularly interested in Neil Wilson’s comments in this discussion thread where he suggests waking up a frozen Amazon EC2 image just for a particular customer as and when they need it. As he sees it, this ensures that each customer gets a dedicated Rails application for just as long as they need it and scaling the number of users for each machine typically isn’t an issue.
All in all, Ruby on Rails Stacks looks like a discussion group to watch !
Here are some links for those using Ruby on Rails with Dreamhost…