Ruby and Rails Software Stacks Overview
This list is by no means comprehensive, but should give an overview of the different kinds of Ruby software stacks available.
The RubyWorks Production Stack is an offering from ThoughtWorks and consists of a several open source products, already configured to work together and easily installable and updateable via your Linux distribution's regular tools. It is offered for RedHat Enterprise Linux 4 and 5, CentOS, Debian Etch, and Ubuntu Feisty. Once you've installed the
rubyworks package, you'll have a cluster of Mongrels behind HAProxy and monitored using monit. ThoughtWorks also offers paid support for this software stack.
EC2 on Rails
As the name gives away, EC2 on Rails is an image for Amazon's Elastic Computing Cloud EC2. It's an Ubuntu Linux server image and will run a Mongrel cluster behind Apache 2.2, mysql, memcached, monit, and much more for you. It also creates a backup of your data to Amazon S3. The management is done with Capistrano; you'll get all that's needed with the
Elastic Server On-Demand
Elastic Server On-Demand, from CohesiveFT, lets you customize your own server before you can download an image for VMWare, Parallels, Xen, or EC2. You can also download images from other users and rate their images. Certainly a very interesting solution if you want to get a customized system quickly, without the need to install everything by hand.
Bitnami RubyStack and JRubyStack
Bitnami offers a whole range of software stacks, including one for Ruby with Rails, MySQL, Subversion and several gems. The JRuby stack includes JRuby, Rails, Java, Tomcat, GlassFish gem, MySQL and Subversion. Bitnami's stacks are based on an installer and work with Linux, OS X, and Windows, so you don't need a virtual machine to run them.
Engine Yard Express
If you're interested in Engine Yard's hosting services and want to know how one of their slices works, then you should try the Engine Yard Express VMWare image. It starts four mongrels, two of them Rails instances and the other two Merb.
What's your opinion of such software stacks? Are they a good thing or is it better to install or configure everything yourself? Do you know of other stacks?
Ruby build tools?
For a Rails app that I support, our devs put together a simple bash script, since we couldn't find any Ruby equivalents to this approach. Installing from source is a bit more of a hassle than a pre-packaged stack, but in the long run it can pay off since it can suck to be too closely tied to a particular platform, especially when working w/ distributed teams where the developers may be running a variety of operating systems and you want them to easily reproduce all of the parts of the stack on their system.
Stacks are a good thing, yes