zeuux-universe  - 讨论区

标题:[zeuux-universe] [OT]: Memcached 的作者在为 GAE 增加 Perl 支持

2008年07月24日 星期四 21:17

Jiahua Huang jhuangjiahua在gmail.com
星期四 七月 24 21:17:59 CST 2008

http://brad.livejournal.com/2388824.html

Google 员工 Brad Fitzpatrick <http://www.bradfitz.com/> (是 Memcached
<http://www.danga.com/memcached/>的作者,也是 LiveJournal 创始人之一) 在他的
LJ<http://brad.livejournal.com/>上说正在为
GAE 添加 Perl 支持 <http://brad.livejournal.com/2388824.html>,
也许就要打破 Google 的 四种语言旧规了, Python 在 Google 不再独大?


Perl on App Engine [Jul. 22nd, 2008|*08:38 pm*]
[*Tags*|google<http://brad.livejournal.com/tag/google>,
> hack <http://brad.livejournal.com/tag/hack>, perl<http://brad.livejournal.com/tag/perl>,
> tech <http://brad.livejournal.com/tag/tech> ]
> Fellow Perl hackers,
>
> I'm happy to announce that the Google App Engine team has given me
> permission to talk about a 20% project inside Google to to add Perl support
> to App Engine.  To be clear:  I'm not a member of the App Engine team and
> the App Engine team is not promising to add Perl support.  They're just
> saying that I (along with other Perl hackers here at Google) are now allowed
> to work on this 20% project of ours out in the open where other Perl hackers
> can help us out, should you be so inclined.
>
> As background, I've been writing Perl code for almost 15 years now and
> quite fond of the language.  (I'm "bradfitz<http://search.cpan.org/%7Ebradfitz/>"
> on CPAN.)  Here at Google, though, it's not one of our big languages so I
> don't get to write as much Perl as I used to.  I'd still like to run my
> personal web apps on App Engine, though, and I'd like to write them in
> Perl.  And I'm definitely not alone, looking at how many people have starred
> the wishlist<http://code.google.com/p/googleappengine/issues/detail?id=34>bug.  Some of you have already
> started talking about it <http://code.google.com/p/perl-appengine/>.  We'd
> like to join the discussion, and start hacking out in the public.
>
> In the process we can build the start of an open source App Engine server
> clone that's suitable for many purposes:  initially just for regression
> testing & local development (like the "dev_appserver" that comes with the
> App Engine Python SDK), but perhaps in the future (once Hypertable/Hbase/etc
> are ready) a full stack to give to ISPs to let them run App Engine apps on
> their own.
>
> Before I get into my proposed roadmap, let me describe what's publicly
> known about the App Engine architecture.  In a nutshell, it looks like this:
>
> [image: http://perl-appengine.googlecode.com/svn/trunk/docs/arch.png]
>
> The App runs in a multi-layer hardened environment, one layer of which will
> need to be a hardened Perl interpreter.
>

Basically, we need a hardened Perl runtime which can:
>
>    - open & read files
>    - NOT write files
>    - NOT open sockets
>    - NOT fork
>    - NOT do any other system functionality that's not strictly needed for
>    a web app
>
> Basically we need a Perl interpreter that's very tame and isn't allowed to
> do anything other than read web requests and write out responses.  Any
> privileged operations (like Datastore access, fetching URLs, etc) need to be
> done via a trusted XS Perl module (the "apiproxy") that takes a service
> request parameter and returns a service response.  The request and response
> are both encoded as Protocol Buffers <http://code.google.com/p/protobuf/>,
> which were recently open sourced by Google<http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html>
> .
>
> Perl on App Engine then would involve the following steps (in no particular
> order):
>
>    - *Hardened Perl Interpreter**:*  basically, we'll be statically
>    linking in a hardened, customized libperl to a C++ application, disabling
>    all Perl dynamic loading.  Only vetted, security-audited XS modules will be
>    allowed.  Only safe Perl opcodes will be allowed.  (No sockets, no ioctl, no
>    fork, etc, etc.)  To get a preview for what this'll feel like
>    restriction-wise, check out the newly written Sys::Protect
>    <http://code.google.com/p/sys-protect/>which Artur and I wrote this
>    evening and will be continuing to develop for people's dev environments (not
>    production).
>    - *Protocol Buffers for Perl:  *we need support for Protocol Buffers
>    for Perl <http://groups.google.com.sixxs.org/group/protobuf-perl>.
>    I've started on this project internally and will open source the code soon,
>    once I have a few free minutes.
>    - *Server:*  we need to write an App Engine server for testing, local
>    development, and potentially production deployment.  (Replace Bigtable with
>    MySQL, Hypertable, Hbase, Couch DB, etc.)
>    - *Libraries:*  Perl client libraries for Datastore, URLFetch, etc
>    services.  Including docs.
>
>  Not included is the Google-internal side of things, gluing the hardened
> Perl interpreter into the GAE world.  That needs to be done by a Googler and
> not open source.
>
> If you'd like to discuss this and/or help out, join the perl-appengine
> mailing list <http://groups.google.com/group/perl-appengine/>.  We'll be
> submitting code to the appengine-perl project<http://code.google.com/p/perl-appengine/>on Google Code hosting.  For more information about this, see the Perl-on-AppEngine
> FAQ. <http://code.google.com/p/perl-appengine/wiki/AnnouncementFAQ>
>
> *Brad & the other Perl Googlers*
>
*

*
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20080724/c51c5cba/attachment-0001.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号