Google App Engine allows the running of Java, Python or Go applications locked down in a sandbox on Google's infrastructure. Limits are set to prevent overuse of resources.
Google App Engine uses a non-relational database system that has basic CRUD (Create, Read, Update and Delete) support, using models and kinds.
Uploading is done using "appcfg", included with the App Engine SDK. appcfg parses app.yaml or the equivalent Java configuration file "appengine-web.xml" and deploys the application to Google.
Networking is possible with Google App Engine, but only HTTP requests are supported via urlfetch, which uses Google's HTTP request fetcher (which powers Googlebot). Furthermore, only ports 80, 443-445 and 1024-65535 may be connected to. An example:
from google.appengine.api import urlfetch def main(): req = urlfetch.fetch("http://google.wikia.com/wiki/Google_Wiki:Main_Page") if req.status_code == 200: print req.content else: print "There was an error fetching the page."