Topic: Preferred Deployment stack

I am about to get started on Slicehost and have been doing research on what is the best deployment stack. What I found so far
1) lighttpd seems to have stability problems with RoR, so I am not going with this option
2) Apache 2.2 with mod_proxy_balancer talking a Mongrel cluster seems to be a decent option
3) Ngnix managing Mongrel cluster seems to be a new option that resonates with some folks
4) Litespeed seems to be yet another option but it doesn't seem to be as popular

I am leaning options (3) and (4) but at the moment prefers (4). I understand that Ngnix support/doc in English is scant. What's your preference and why?

JiggyMe
"Videos that Matter to You" powered by Ruby on Rails

Re: Preferred Deployment stack

If you just want to get a site up and running quckly without much hassle, consider the deprec gem. You probably want more control over the deployment, but if nothing else it's neat to see how everything gets configured.

Railscasts - Free Ruby on Rails Screencasts

Re: Preferred Deployment stack

I see deployement in two different ways.

The simple deployment, where you as a develoepr doesn't have to understand much, and probably wont for sys-admin work, so just rely on something like deprec, as Ryanb mentioned.

Otherwise, if the project really is THAT big, where it's something that deployment is a huge factor, there should be a sys-admin that already works for that company that is releasing an app that big, and he'll take care of what has to be done.

http://danielfischer.com - Personal Web-Technology-Blog, Los Angeles.

Re: Preferred Deployment stack

Thanks for the suggestions, I have decided to go with the following standard deployment stack, Apache, Mongrel and MySQL. It has been a most painful experience so far and I am not done yet but I thought I would share my experience so far for others that might be going down the same path as me.

I started out with Ubuntu on Slicehost but soon discovered that there are restrictions on which version of packages I can download with each release. I wanted the latest versions of packages like Subversion, etc but only older versions are available via the mirrors. I didn't want to upgrade to Edgy or Feisty or download the source and compile on Dapper so I decided to switch to FC6 since I am more familiar with FC6 anyway.

That turns out to be much more challenging so far because deprec gem is only tested on Ubuntu. There are scant documentation on getting it to work on FC6 and from what I have managed to ascertain, it is an uphill battle. So for those of you attempting this on FC6, be aware that you are facing some uncertainties with deprec if you aren't using Ubuntu. Being opinionated software assuming Ubuntu has certainly limited deprec usability on non-Ubuntu distros.

Then I decided to follow the deployment chapter in the book "Agile web development with Rails" 2nd edition. Unfortunately, the examples are focused on deploying from *nix systems to *nix systems. I am using Windows XP for my development platform and boy, it is even harder to find documentation on how to use capistrano on Windows. Another caution for your developers out there using Windows as your dev platform. Also, I noticed one other thing, it is not immediately obvious to newbies that capistrano works with 2 machines, a development machine to run it on to deploy on a remote server. Your life should be a lot simpler if you deploy from *nix to *nix because Mongrel has different versions for Windows vs. *nix, another difference that is not obvious to a newbie. Consult the mongrel site for more details on how to install Windows version. Also, I can't tell yet if Mongrel supports cluster on Windows, I think so but can't be sure. I needed to install Mongrel cluster on Windows so that I can configure my application in production mode to use Mongrel cluster before using Capistrano to deploy it.

I am getting close though, hopefully I will be done in a couple of days. Will report back when I am finally done.

JiggyMe
"Videos that Matter to You" powered by Ruby on Rails