Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: What is mod_perlite?

by ELISHEVA (Prior)
on Jan 28, 2009 at 05:36 UTC ( #739424=note: print w/replies, xml ) Need Help??

in reply to What is mod_perlite?

It strikes me that Byrne and Aaron might just pull this off because they really believe in themselves and they are addressing a real problem, even if they are going about it the wrong way.

The problem, as I understand it, is this: CGI is too slow and mod_perl doesn't have a simple set of configuration options to give each virtual host its own isolated copy of perl. Furthermore, whether using CGI or mod_perl, the sysadmin needs to do a lot of customization if they want to give a user an "rsh" level of access to Perl's capabilities.

Spawning a new Perl for each thread really isn't the same as a per-virtual server instance of Perl. Later versions of Apache support more than one model for the association between threads and user requests. Also many Perl apps rely on the persistence of data across multiple HTTP requests - those modules can't be run in a one-interpreter-per-request environment. The only practical solution would be writing a "traffic-cop" for Perl interpreters that detected which virtual server was handling the request and returned the correct Perl interpreter for that server.

The closest thing Perl has to "rsh"'ing a user is taint mode and some modules mentioned in the notes above this one, but neither of these really do the trick. Add-on modules aren't really a secure solution: unless you build safety features into the Perl core, it is too easy to unload a module and get back all the power of pure Perl. Taint mode isn't really designed to protect the sysadmin from the programmer. It is primarily meant to protect a skilled programmer from nasties coming from outside the program - bad user input, evil environments.

I think this is a serious problem - with the steady advance of cloud computing, solutions that play safely in mass hosting environments are going to become increasingly important. The economic model in that space is all about volume service provision.

However, I really dislike Byrne and Aaron's solution. It seems to me that enhancing Perl with shutoff valves and giving mod_perl better support for virtual servers would be a much smarter way to go.

I am way too new to the open source community to have my voice heard, but I hope maybe some reading this might be seeing things the same way and be able to push those with clout on Perl and mod_perl to think a bit about this. Aaron and Byrne's solution may be short-sighted, but their vision of the problem is not.

Best, beth

Replies are listed 'Best First'.
Re^2: What is mod_perlite?
by chromatic (Archbishop) on Jan 28, 2009 at 08:20 UTC
    I am way too new to the open source community to have my voice heard....

    All that matters is willingness to participate as a member of the community.

    That said, the Perl on Google App Engine project works on some of the enhancements you mention.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://739424]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (6)
As of 2022-12-05 21:07 GMT
Find Nodes?
    Voting Booth?

    No recent polls found