On Tue, Jun 16, 2009 at 4:30 AM, Alex Clemesha<cleme...@gmail.com> wrote:
>
>>>
>>> >>
>>> >> You can't run Sage on the Google Ap Engine.
>>> >
>>> > Couldn't you have a Google App Engine application call the simple http
>>> > api to make some public notebook somewhere perform calculations?  I'm
>>> > thinking of something like the remote sagetex that Dan announced the
>>> > other day.  I'm not sure if this would make anything better (I'm not
>>> > even sure why Google App Engine is so important), but using the simple
>>> > http api might help somewhere.
>>>
>>> I can't imagine that would do anything but make things worse.  It
>>> would simply introduce an extra layer of complexity and probably just
>>> increase the chances that things would break and feel slower, while
>>> probably reducing security.   I see no win to this approach for
>>> anybody at all.  Please correct me if I'm wrong (since then I would
>>> learn something).
>>
>> You are right, an App Engine app utilizing some other Sage notebook server
>> wouldn't provide much benefit unless you want to take advantage of google's
>> Users Service, Datastore, etc. (I am not currently using those services)
>>
>> To reiterate the subject of Ondrej's thread, the benefit of running a
>> notebook _on_ App Engine is that security is google's problem!
>>
>> App Engine is a computational sandbox for notebook processes. The risk of
>> offering a public notebook in terms of OS/Network security is dramatically
>> reduced when arbitrary code run by public users is _not_ executed by your
>> (the deployer's) machines.
>> The cost of this free security is stifled freedom in what python packages
>> you can install (AppEngine imposes steep restrictions). This isn't so bad
>> though -- packages like sympy work on App Engine (and sympy is now installed
>> on live.codenode!), but Sage, unfortunately, does not work (yet? maybe one
>> day, google...).
>>
>> Ondrej asked if our whole live.codenode.org app was on App Engine, and the
>> answer is: No, only the backend computation of each notebook is on App
>> Engine. The frontend runs on our own servers.
>
> Just to add a little to this, the backend (kernel == where notebook "engine"
> processes run) is a totally
> different process designed to be connected to over a network.
>
> We are intent on making the frontend and backend as decoupled as possible -
> although this is harder and more time consuming in
> the short-term, you win in the long-term because once things are in place,
> you can just "plug in"
> different backends, running elsewhere on the internet, as is the case with
> App Engine.
>
> One final important point is that for just simple local usage, there's a
> command line utility, "codenode-admin",
> that wraps the starting up of the frontend and a local backend, making it
> easy to use locally.  More work
> on "codenode-admin" needs to be done for it to do lot's of useful things,
> but the basics are in place.
>
> The frontend process is basically a Django instance (plus some twisted.web)
> that handles the templates,
> urls, authentication, interacts with the database, etc.  This is the one
> running on our servers.

Thanks for thorough explanations.

I have a question --- why don't you run the frontend on the app engine
as well? That way, you don't need any servers and just leave
everything to Google to handle.

Ondrej

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to