Support Cut Asian Babies

Ruby on Rails Stacks

Posted by Jake Good
on Aug 23, 07

Since RailsConf 2007 there has been a focus on what exactly should be the perfect Ruby on Rails stack… err which pieces of software do you need to have installed to have a production application running on Ruby on Rails.



There’s lots of decisions to be made when it comes to what to use. Do I use Apache or lighty or nginx? Do I use HAProxy or Pen or Pound? JRuby or Ruby or Rubinius? ImageScience or RMagick? MySQL or Postgres? You get the idea.



Two companies out there have taken an initiative in this space:



ThoughtWorks Studios offers RubyWorks



and



FiveRuns offers RM-Install



Both of which take the approach that a full ruby on rails stack should be easy to install… while RubyWorks utilizes the systems package management suite to update such packages…



The differences? RubyWorks is purely focused on the application layer of things: HAProxy, Monit, Mongrel and includes an interesting service based architecture for daemon control. RM-Install goes a step further and installs MySQL 5.0, ImageMagick + RMagick (::shudders::), Apache, Subversion, Rake, OpenSSL, and SQLLite… clearly going for the front-to-end setup.



Personally… for my VPS image that runs this site… and for my Parallels images I chose RubyWorks as I often have the other services installed somewhere else or they are easy enough to install on my own. Plus with the advantage of the package manager to update my software when I choose. Installation is a breeze, almost nearly 3 commands… one to get the encryption key, one to update your package manager, and one to install… and it’s up and running. Damn those ThoughtWorks people are smart!



For the layered approach, I could easily see the RubyWorks being the way to go… but for single application server based applications, RM-Install might be the better choice. The bad part is that it’s a 115mb+ install and its just a simple zip file with all of the binaries for the products… They claim it’s so that it won’t interfere with any other “ruby + rails” installation on a system… hmm…



Least I not forget… deprec… a system to bootstrap a rails stack piggybacking off of capistrano… not bad either.



At any rate, if you’re looking at a quick way to get things going… here are two more options! Get out there and give Rails a shot, you won’t regret it.

Comments

Leave a response

  1. Rolf BjaanesAug 22 07 @ 10:05PM

    What is a good alternative to Rmagick? Seeing how you shuddered :)

  2. Jake GoodAug 22 07 @ 10:05PM

    Rolf,



    Unfortunately in some circumstances, there are no other alternatives.



    ImageMagick seems to be the go-to guy for doing any kind of image manipulation in a web application… You can access it via RMagick OR MiniMagick, which just pipes out your image manipulations to the command line, thus taking the memory leakage out of your mongrel / application process.



    Freeimage is an alternative with it’s ruby library being ImageScience, but I’ve also had mixed results with that as well. Right now, if I had to kick RMagick + ImageMagick, I’d try getting away with Freeimage + ImageScience.



    Have you had any problems with RMagick?

  3. Luke FranclAug 22 07 @ 10:05PM

    This sounds like a good RUM presentation…



    ImageScience uses a lot less memory than RMagick, and as long as all you need to do is resize thumbnails, it works pretty well. If you have to do any graphing/drawing you’ll probably require RMagick anyway.



    We have seen a few images that ImageScience chokes on because FreeImage can’t handle them, though.

  4. Jake GoodAug 22 07 @ 10:05PM

    You’re right about ImageScience… and yes, I think this would be a good RUM presentation! Maybe you should work on it ;) j/k

  5. Rolf BjaanesAug 22 07 @ 10:05PM

    Haven’t been playing around with it that much.
    Were just curious about the particular reason why you were shuddering.
    I may have to look into Freeimage as I am always into broadening my horizon. :)



    Comments went off topic :)

Comment