Google App Engine

Overview of App Engine Features

This page summarizes the various features of App Engine. A particular feature may be available in all runtime languages, or only in a subset of languages. While the functionality of a feature is usually constant across all runtimes that offer it, there can be exceptions. In the tables that follow, each feature is described in general terms, followed by links that will take you to the language-specific pages that will cover the details.

Languages and runtimes

You can write an App Engine application in the following languages. Each language has its own runtime and SDK that contains tools for deploying your app, and for developing and testing it locally.

Language Runtime
Java The Java runtime executes your code in a Java 7 environment. Release Notes Documentation SDK
Python The Python runtime executes your code in a Python 2.7 environment. Release Notes Documentation SDK
The PHP runtime executes your code in a PHP 5.4 environment. This runtime is in Preview. Release Notes Documentation SDK
The Go runtime executes your code in a Go 1.2 environment. This runtime is Experimental. Release Notes Documentation SDK

Generally available (GA) features

GA features are publicly available and are covered by App Engine's SLA and deprecation policy. The implementation of a GA feature is stable; any changes made to it will be backwards-compatible. The tables below group GA features by the general functions they serve.

Feature Description Supported Languages
Google Cloud SQL A fully-managed web service that allows you to create, configure, and use relational databases that live in Google's cloud. PHP Python Java Go
Datastore A schemaless object datastore providing robust, scalable storage for your web application, a rich data modeling API, and a SQL-like query language called GQL. --- Python Java Go
Blobstore Allows your application to serve large data objects, such as video or image files, that are too large for storage in the Datastore service. --- Python Java Go
Allows your application to perform Google-like searches over structured data such as: plain text, HTML, atom, numbers, dates, and geographic locations. --- Python Java Go
Memcache A distributed, in-memory data cache that can be used to greatly improve application performance. PHP Python Java Go
Dedicated Memcache Provides a fixed cache capacity assigned exclusively to your application. PHP Python Java Go
Logs Provides programmatic access to application and request logs from within your application. PHP Python Java Go
HRD Migration Tool Migrates application data stored in the Blobstore or the deprecated Master/Slave Datastore into the new Datastore. --- Python Java Go


Feature Description Supported Languages
Channel Creates a persistent connection between your application and Google servers, so you can send messages to JavaScript clients in real time without "polling." --- Python Java Go
Google Cloud Endpoints Enables automatic generation of APIs, making it easier to create a web backend for web clients and mobile clients such as Android or Apple's iOS. --- Python Java ---
Mail Sends email messages on behalf of administrators and users with Google Accounts, and receives mail at various addresses. PHP Python Java Go
URL Fetch Uses Google's networking infrastructure to efficiently issue HTTP and HTTPS requests to URLs on the web. PHP Python Java Go
XMPP Enables an application to send and receive chat messages to and from any XMPP-compatible chat messaging service. --- Python Java Go

Process management

Feature Description Supported Languages
Task Queue Allows applications to perform work outside of a user request, and organize that work into small, discrete units, called "tasks," to be executed later. PHP Python Java Go
Scheduled Tasks Allows applications to configure regularly scheduled tasks that operate at defined times or regular intervals. PHP Python Java Go


Feature Description Supported Languages
Images Manipulates, combines, and enhances images, converts images between formats, and queries image metadata such as height and frequency of colors. --- Python Java Go

App configuration and management

Feature Description Supported Languages
App Identity Gives code access to the application identity; provides framework to assert this identity over OAuth. PHP Python Java Go
Capabilities Provides detection of outages and scheduled maintenance for specific APIs and services, so that your application may bypass them or inform your users. --- Python Java Go
Modules Lets developers factor large applications into logical components that can share stateful services and communicate in a secure fashion. PHP Python Java Go
Multitenancy Makes it easy to compartmentalize your data to serve many client organizations from a single instance of your application. --- Python Java Go
Remote Lets external applications transparently access App Engine services. For example, you can use Remote API to access a production datastore from an app running on your local machine. --- Python Java Go
SSL for Custom Domains Allows applications to be served via both HTTPS and HTTP via a custom domain instead of an address. PHP Python Java Go
Traffic Splitting Allows you to roll out features for your app slowly over a period of time, and do A/B Testing. Traffic Splitting works by splitting incoming requests to different versions of your app. PHP Python Java Go
Users Allows applications to sign in users with Google Accounts or OpenID, and address these users with unique identifiers. PHP Python Java Go

Preview features

Features in preview are guaranteed to eventually become GA features in some future App Engine release, but while they are in preview their implementation may change in backward-incompatible ways. If a feature here is listed in limited preview it is not publicly available; access to a limited preview feature is by request only.

Feature Description Supported Languages
Google Cloud Storage Client Library Lets your application read files from and write files to buckets in Google Cloud Storage, with internal error handling and retry logic. PHP Python Java Go (*)
MapReduce An optimized adaptation of the MapReduce computing model for efficient distributed computing over large data sets. --- --- Java ---
Sockets Enables support for outbound sockets using the language-specific, built-in libraries. PHP Python Java Go

(*) This feature is available but no documentation exists for it in this runtime.

Experimental features

Experimental features may or may not become GA features in some future App Engine release, and their implementation may change in backward-incompatible ways. Experimental features are usually publicly available. However, if an experimental feature here is listed as trusted tester it is only available to a closed group of users, who are required to sign up to use it.

Feature Description Supported Languages
Datastore Admin/Backup/Restore Allows you to export or import data to or from your application's Datastore in the Admin Console. --- Python Java Go
MapReduce An optimized adaptation of the MapReduce computing model for efficient distributed computing over large data sets. --- Python --- ---
OAuth Using Google Accounts and the OAuth API, any App Engine application can be an OAuth consumer. --- Python Java Go
OpenID An open technology used for authenticating users across various web services. PHP Python Java Go
PageSpeed A family of tools that automatically optimizes the performance of your application. PHP Python Java Go
Prospective Search A querying service that allows your application to match search queries against real-time data streams. --- Python Java ---
Task Queue REST API Enables the use of an App Engine task queue over REST. PHP Python Java Go
Task Queue Tagging Leases up to a specified number of tasks with the same tag from the queue for a specified period of time. --- Python Java Go
Appstats Analytics
Trusted Tester
Enables visualization and other analytics of data pertaining to the utilizaiton of your application. --- Python Java Go

Third-party services

Google partners with other companies to extend the capabilities of the App Engine platform by offering helper libraries and documentation that make it easy for your app to do things that Google did not build into the core App Engine product. In addition to the helper libraries, these partners sometimes include special offers for App Engine customers.

Feature Description Supported Languages
SendGrid (Email) Use SendGrid's library to send emails from your app and you can see statistics on opens, clicks, unsubscribes, spam reports and more. PHP Python Java ---
Twilio (SMS/Voice) Enables your application to make and receive phone calls, send and receive text messages, and make VoIP calls from any phone, tablet, or browser. PHP Python Java ---

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.