Phusion Passenger is an Apache and Nginx module for deploying Ruby and Python web applications. It has a strong focus on ease of use, stability and performance. Phusion Passenger is built on top of tried-and-true, battle-hardened Unix technologies, yet at the same time introduces innovations not found in most traditional Unix servers. Since mid-2012, it aims to be the ultimate polyglot application server.
Many of you have been waiting for this moment. For some time now we’ve not only been talking about Phusion Passenger 3.2, but also about Phusion Passenger Enterprise. In this Roadmap Preview we’ll cover some features in Phusion Passenger Enterprise, what Phusion Passenger Enterprise exactly is, as well as something about Phusion Passenger 4.0 (previously 3.2). We will reveal more and more Enterprise features in the coming few days in preparation for its final launch, so stay tuned.
Don’t temporarily freeze your website when restarting or deploying a new release. In the open source version of Phusion Passenger restarting an application involves shutting down all application processes and spawning new ones. Because starting a new process can take a long time (depending on the application), visitors may experience slow responses while the restart is in progress. With rolling restarts, Phusion Passenger Enterprise restarts your application processes in the background. Phusion Passenger replaces each existing application process one-by-one, without causing any slow responses for visitors.
Some other application servers also provide rolling restarts, but they often still require some manual process management. The rolling restart functionality of Phusion Passenger Enterprise is completely automatic and does not require any administrator setup or intervention. Other application servers may also use up to twice as much memory while restarting, because they first start multiple new application processes before shutting down the old ones. In contrast, Phusion Passenger Enterprise avoids double memory usage by restarting processes one-by-one.
If you host a lot of different web applicatons on a single server, this feature will be useful to you. Point Phusion Passenger Enterprise to a directory, and it will automatically deploy all web applications in that directory. Each web application will be assigned it’s own virtual host, where the host name is the same as the web application directory name. If you add or remove a web application, Phusion Passenger will automatically pick that up too.
What is Phusion Passenger Enterprise?
Phusion Passenger Enterprise is a commercial, paid variant of Phusion Passenger and it contains a wide array of extra features that many production websites will find useful. Features not found in the open source version. In the coming few days we will announce more and more Enterprise features in preparation for the final launch.
We will charge for Phusion Passenger Enterprise on a yearly basis. Pricing and purchasing options will follow soon, and we can already tell you that there will be discount for startups as well as an early bird discount making it very affordable indeed. The open source version of Phusion Passenger will continue to be developed and maintained. Phusion Passenger Enterprise is based on the open source version and comes with more features. All bug fixes and features that go into the open source version will end up in the Enterprise version.
We intend on making a living out of this. By buying Phusion Passenger Enterprise, you will directly support Phusion Passenger’s continued development by allowing us to allocate more developer resources into this. This in turn allows us to iterate faster on features and bug fixes.
Phusion Passenger 4.0
Phusion Passenger 3.2 was previously the next version of Phusion Passenger with many internal improvements. It has switched to evented I/O core; the ApplicationPool and process spawning subsystems have been rewritten and much improved; and it has gained all kinds of stability features. Because of the many improvements, we deem it appropriate to bump the version number to 4.0. You can read more about what you can expect in Phusion Passenger 4.0 in the following past blog posts:
- A sneak preview of Phusion Passenger 3.2 (now 4.0), part 1
Covers the rewritten ApplicationPool and process spawning subsystems, evented I/O core and improved Python/WSGI support.
- A sneak preview of Phusion Passenger 3.2 (now 4.0), part 2
Covers zero-copy architecture, environment variable passing and reduced memory usage.
In the past few weeks, we’ve achieved major stability improvements in the 4.0 branch. We are now running it in production (we eat our own dogfood) and we will release an official beta soon.
Phusion Passenger Enterprise is developed and released in parallel to Phusion Passenger 4.0.
The roadmap is as follows. We will soon release Phusion Passenger Enterprise, of which the first release is based on Phusion Passenger 3.0.14. Shortly thereafter we will release the first beta of Phusion Passenger 4.0, and simultaneously the first beta of Phusion Passenger Enterprise 4.0.
Roadmap Preview 2 will follow soon. I know many of you are anxious about the release, but we are just putting the finishing touches on everything to make sure that the launch go well. In the next Preview, due in a few days, we shall reveal more features as well as parts of the new Phusion Passenger website.