Some IT experts believe that the true power of a programming language lies in it’s usability, the adaptiveness to everyday workflow of a programmer. Coding web application, no matter what programming language or framework you’re using, whether it is Ruby on Rails, PHP and Cake or Python with Django, implies not only the whole process of writing web application, but also hosting it(isn’t it obvious?).

While running some PHP script usually requires uploading it on your server, with Ruby on Rails it’s not that straight forward. To be honest, when we compare Ruby on Rails to other programming languages and framework we will identify running RoR web applications – as it’s weakest spot.

PHP, Python (including Django apps), and even Java apps (via Tomcat) can be deployed reasonably easily on an Apache stack with the relevant modules installed. With Ruby on Rails apps, a developer either needs to go to a specialized, over priced Web host(also, for example in Poland there are just few hosting companies that do host Ruby on Rails applications when in comparison to PHP, every single hosting company seems to offer this feature), rig up Apache with rather fragile FastCGI solutions, set up a Mongrel cluster separately to Apache and then burn hours of your time for introducing proper proxy layer, or even deploy a new stack using Mongrel clusters, Nginx, etc.

It’s easy to see that lacking of a proper mod_ruby / mod_rack for Ruby on Rails or just Ruby in general, hurts Ruby on Rails community. Or, it was hurting, I should say. Less than two years ago, Phusion has released Passenger, then known as mod_rails, a Ruby on Rails deployment tool and suffice to say, Ruby on Rails development hasn’t been the same ever since.
Passenger gained a lot of popularity because it made deploying Ruby on Rails much easier. Recently Phusion announced that they are working on Passenger 3. Before, Phusion guys focused on easy to use, stability and robustness. Passenger 3 will bring to Ruby on Rails deployment the speed.

As they stated before on their blog, new Passenger 3 performs up to 36% better on Apache and about 55% faster on Nginx than Passenger 2.2.

The speed is not the only feature that Passenger will bring for Ruby on Rails developers. Another important one is: self-healing. The Passenger architecture has been rewritten, so it is more unlikely now that Passenger will crash and even if it crashes then there is a Watchdog module that will restart it, within milliseconds of time and what is important – not dropping any connections from clients that are browsing/using your Ruby on rails web application. Logic consequence of such feature is of course zero-downtime application shutdown.

These features are certainly a nice addition to everyday work of Ruby on Rails developers but the Phusion Team says they didn’t show us everything yet so stay tuned.