On Tue, Jun 16, 2009 at 5:54 AM, Ondrej Certik <ond...@certik.cz> wrote:
> > 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. In short, you can't run Twisted on App Engine, so the codenode frontend is not usable without significant extra adaption work. Also, vendor lock-in with google is something we would like to avoid. That is not to say a notebook project specifically for App Engine is a bad idea. As you pointed out, Ondrej, a pure App Engine Notebook would be a completely free source of computation power, but for us, it is not something we have time to focus on right now. Thanks, Dorian > > > 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 -~----------~----~----~----~------~----~------~--~---