Deploying a Rails application into production is an exciting moment. After a journey that brought you from requirement gathering to a full implementation of the application, you are finally ready to deploy your application to the world (or to a selected few within an intranet).
This may come as a surprise to you, but historically, this was often the exact moment when troubles started brewing. In fact, the easy-to-use framework that increased your productivity and made you love Web programming was once anything but easy when it came to moving from development to production mode.
Deployment has always been Rails' Achilles' heel. While PHP developers had their mod_php module for the Apache Web server, and ASP and ASP.NET developers could count on IIS, Rails developers were left with a bad taste in their mouths due to a series of solutions that didn't really work reliably.
The timeline of recommended deployment configurations and technologies has been a rollercoaster ride and moved just as speedily as one. In the beginning there was WEBrick, but it wasn't really meant for production use, so in 2004 when Rails came out, the recommended configuration for Rails or any other Ruby Web framework was to use Apache with FastCGI. The problem was that FastCGI was, for all intents and purposes, an old and abandoned technology that somehow managed to get the spotlight thanks to the fact that an equivalent module a la PHP didn't ...