Chris, that's a fascinating story. I love the concepts underlying the App Engine platform, and I think your project has a great merit. As with any "clone" projects, I suspect one of the issues is that App Engine is a moving target, constantly adding new features and tweaks.
That's definitely a big issue - there's a constant struggle between updating to the newest version for both the Python and Java App Engines and adding in our own features for our own experimentation. But then again, that's why it's a fun project to work on :)
This is a very interesting project!!! Please keep us up-to-date about progress.
I ran into a couple of issues with the GAE SDK that could have been fixed easily if their SDK would have been open source. This gives us a new level of contribution and perhaps the GAE team a push to make their stuff open source...
Anyway great project, love to see more What I did not quite get from your post is this: On one hand you claim support for 8 different databases. On the other hand you mention on the project page "The current version of AppScale does not provide data persistence." Is there somewhere a place where I can find more information about the exact limitations today? I also wonder how you make these very different databases behave in the same way? Is your intent to implement GAE low-level datastore API for all of them? OR will JPA, JDO the common API?
With respect to data persistence, what we specifically mean is that we don't yet have a way to port your data in and out of AppScale - that is, like the Bulk Loader for App Engine. So if you terminate your AppScale instance, you lose all data that was running in it. Of course, if you always left the boxes running, it would be persistently written to the disks on those machines.
With respect to the other limitations in the system, they're pretty much identical to the App Engine SDK's limitations - our Google Code page cites additional limitations as needed (e.g., no Blobstore API for AppScale yet).
Finally, we also have a wiki page on the Google Code site named "Default Database Configuration" that outlines the basics of how we make the databases play nicely with App Engine and two peer-reviewed conference papers that detail it more fully for the adventurous reader. To make a long story short, we don't do anything specific at the App Engine layer - it forwards all its internal requests to a specific server within AppScale that translates these requests on a per-database basis.
Thanks for the great questions and the interest in AppScale!
This is probably the most inspiring research I have seen since the late 1990's !!!!!
Go! Go! Go!
I am now researching in the AI field (left the commercial industry shortly after 9/11), and have reached a roof limit of computational feasibility regarding techniques for transparently configuring parallel platforms for a general set of problems to be solved by a set of AI heuristics...
Grid technology falls short (to date), and so does most of the cloud platforms I have looked at.
The way you have leveraged the most scalable, reliable, web technology (GoogleApp) to date, and then put it on an open source cloud platform that will allow the GoogleApp to scale __even_ further has kept me up for the previous three nights!!!
I can't get enough, and won't stop until I can build a mini appscale in my lab...
Chris, that's a fascinating story. I love the concepts underlying the App Engine platform, and I think your project has a great merit. As with any "clone" projects, I suspect one of the issues is that App Engine is a moving target, constantly adding new features and tweaks.
ReplyDeleteHi Fernando,
ReplyDeleteThat's definitely a big issue - there's a constant struggle between updating to the newest version for both the Python and Java App Engines and adding in our own features for our own experimentation. But then again, that's why it's a fun project to work on :)
Great work.
ReplyDeleteHold on.
This is a very interesting project!!! Please keep us up-to-date about progress.
ReplyDeleteI ran into a couple of issues with the GAE SDK that could have been fixed easily if their SDK would have been open source. This gives us a new level of contribution and perhaps the GAE team a push to make their stuff open source...
Anyway great project, love to see more
What I did not quite get from your post is this: On one hand you claim support for 8 different databases. On the other hand you mention on the project page "The current version of AppScale does not provide data persistence." Is there somewhere a place where I can find more information about the exact limitations today? I also wonder how you make these very different databases behave in the same way? Is your intent to implement GAE low-level datastore API for all of them? OR will JPA, JDO the common API?
Hi Jens,
ReplyDeleteWith respect to data persistence, what we specifically mean is that we don't yet have a way to port your data in and out of AppScale - that is, like the Bulk Loader for App Engine. So if you terminate your AppScale instance, you lose all data that was running in it. Of course, if you always left the boxes running, it would be persistently written to the disks on those machines.
With respect to the other limitations in the system, they're pretty much identical to the App Engine SDK's limitations - our Google Code page cites additional limitations as needed (e.g., no Blobstore API for AppScale yet).
Finally, we also have a wiki page on the Google Code site named "Default Database Configuration" that outlines the basics of how we make the databases play nicely with App Engine and two peer-reviewed conference papers that detail it more fully for the adventurous reader. To make a long story short, we don't do anything specific at the App Engine layer - it forwards all its internal requests to a specific server within AppScale that translates these requests on a per-database basis.
Thanks for the great questions and the interest in AppScale!
Thanks for clarification Chris. I will take a look at the links you have provided. This is very interresting and promising!
ReplyDeleteThis is probably the most inspiring research I have seen since the late 1990's !!!!!
ReplyDeleteGo! Go! Go!
I am now researching in the AI field (left the commercial industry shortly after 9/11), and have reached a roof limit of computational feasibility regarding techniques for transparently configuring parallel platforms for a general set of problems to be solved by a set of AI heuristics...
Grid technology falls short (to date), and so does most of the cloud platforms I have looked at.
The way you have leveraged the most scalable, reliable, web technology (GoogleApp) to date, and then put it on an open source cloud platform that will allow the GoogleApp to scale __even_ further has kept me up for the previous three nights!!!
I can't get enough, and won't stop until I can build a mini appscale in my lab...
WELL DONE!!!