Lably
Skip to content

Google App Engine

Cloud-based web application hosting service

  • 4 min read
  • 3 chapters

Related on Lably

Through Cloud computing, Web application and Sandbox (computer security)

Applications written in Go, PHP, Java, Python, Node.js, .NET, and Ruby are supported by the App Engine, and other languages can be supported at an additional cost. The free version of the service offers a standard environment with limited resources. Fees are charged for additional storage, bandwidth, or instance hours.

Features

Google App Engine primarily supports Go, PHP, Java, Python, Node.js, .NET, and Ruby applications, although it can also support other languages via "custom runtimes".

Python web frameworks that run on Google App Engine include Django, CherryPy, Pyramid, Flask, and web2py as well as a Google-written web app framework and several others designed specifically for the platform that was created after the release. Any Python framework that supports the WSGI using the CGI adapter can be used to create an application, and the framework can be uploaded with the developed application. Third-party libraries written in Python may also be uploaded.

SDK version 1.2.2 added support for bulk downloads of data using Python.

App Engine's integrated Google Cloud Datastore database has a SQL-like syntax called "GQL" (Google Query Language). GQL does not support the join statement. Instead, one-to-many and many-to-many relationships can be accomplished using ReferenceProperty().

Google Cloud Firestore is the successor to Google Cloud Datastore and replaces GQL with a document-based query method that treats stored objects as collections of documents. Firestore was launched in October 2017.

Backends

In Google I/O 2011, Google announced App Engine Backends, which were allowed to run continuously and consume more memory. The Backend API was deprecated as of March 13, 2014, in favor of the Modules API. The Modules API introduced finer control over scaling, versioning, and resource allocation, allowing developers to run different parts of an application with distinct performance settings.

Google Cloud SQL

In October 2011, Google previewed a zero-maintenance SQL database, which supports JDBC and DB-API. This service allows creating, configuring, and using relational databases with App Engine applications. Google Cloud SQL supports MySQL 8.0, 5.7, and 5.6.

Restrictions

  • Developers have read-only access to the file system on App Engine. Applications can use only virtual file systems.
  • App Engine can only execute code called from an HTTP request (scheduled background tasks allow for self-calling HTTP requests).
  • Users may upload arbitrary Python modules, but only if they are pure Python. C and Pyrex modules are not supported.
  • Java applications may only use a subset (The JRE Class White List) of the classes from the JRE standard edition. This restriction does not exist with the App Engine Standard Java8 runtime.
  • A process started on the server to answer a request can't last more than 60 seconds (with the 1.4.0 release, this restriction does not apply to background jobs anymore).
  • Does not support sticky sessions (a.k.a. session affinity), only replicated sessions are supported including limitation of the amount of data being serialized and time for session serialization.

Application hosting

While other services let users install and configure nearly any *NIX compatible software, App Engine requires developers to use only its supported languages, APIs, and frameworks. Current APIs allow storing and retrieving data from the document-oriented Google Cloud Datastore database, making HTTP requests, sending e-mail, manipulating images, and caching. Google Cloud SQL can be used for App Engine applications requiring a relational MySQL compatible database backend.

Per-day and per-minute quotas place restrictions on bandwidth and CPU use, number of requests served, number of concurrent requests, and calls to the various APIs. Individual requests are terminated if they take more than 60 seconds or return more than 32MB of data.

Sign in to keep reading

2 more chapters are free with a Lably account.

More in Computing and communication