3 ms·
If you're an app guy, I can understand why you look at it like that. App guys tend to trust software/solutions they write themselves. Any excess (features you d
by bradleyland 13y ago
If you're an app guy, I can understand why you look at it like that. App guys tend to trust software/solutions they write themselves. Any excess (features you don't need) is seen as opportunities for optimization. My background is more on the sysadmin side, and I think that's why I lean heavily toward Passenger in all my Ruby/Rack deployments, despite the availability of hip new app servers available for Ruby apps.
The thing that Passenger does exceedingly well is deliver a toolchain that sysadmins will love. FooBarWidget's list is very good. Even if you're single-tenant, Passenger's process management and supervision has worked wonderfully for me. Toolchain, toolchain, toolchain! Passenger comes with utilities like passenger-status and passenger-memory-stats. You can, at a glance, see things like how much memory (true, RSS) an app process is using, or what your queues look like.
Another distinction is completeness of the solution. With a lot of other app server solutions, hashing out the finer details are up to you. I don't have any experience with Node.js, but with the other Ruby app servers I've tried, you're responsible for things like finding/writing your own init script and process supervision.
Can I write an init script? Yes. Will it fail to cover an edge case that I haven't thought of yet? Probably. How well will it be written? About as well as I have time for at the time I write it. Could I find one online? Sure. How well is it written? Well, it seems popular. Is it maintained? Uh... How will I track updates? Uuuuuuh...
I don't need the deep level of customization provided by the roll-your-own solution. The folks at Passenger are really, really smart, and I'm humble. I'd rather leverage their domain expertise than to try and be a master of all things. My time is also valuable. If I accept that the Passenger solution is well engineered and provides additional value (see their list above), what value will I derive from [rolling my own|an alternative] solution? If I can't come up with a clear answer to that question, I stick with Passenger.