Glossary of App Engine Terms

This page defines App Engine-specific terms and concepts.

A

Ancestor

A Datastore entity that is a parent of another entity.

Ancestor Query

A query over a single entity group using the key of a parent entity. By default, the results of such a query are strongly consistent.

Apache Ant

A third-party Java library used to build and test your App Engine applications. While Apache Ant is not a Google tool, App Engine's Java SDK includes a set of Ant macros to perform common App Engine development tasks, including starting your development server and uploading your apps to App Engine.

AppCfg command-line tool

The preferred tool is now the gcloud tool, see Google Cloud SDK for information. The appcfg.py command uploads new versions of your code, configuration, and static files for your application to App Engine. You can also use this command to manage Datastore indexes and download log data.

appengine-web.xml

appengine- web.xml is a required configuration file for Java applications. At a minimum, this file specifies the application ID and version.

Application ID

Your application ID is a unique name that you choose when you create your application. More details can be found in the Java, Python and Go Getting Started Guides.

Appspot

Your application serves from http://_your_app_id_.appspot.com by default.

Appstats

The Java and Python SDKs each include a suite of tools called appstats for measuring the performance of your application. Appstats integrates with your application to record events, and it provides a web-based administrative interface for browsing statistics.

app.yaml

Python, Go, and PHP applications must use the app.yaml file as the main configuration file for applications. Java applications use appengine- web.xml instead.

App Engine

App Engine is Google's highly scalable platform for hosting web services. It consists of runtimes and SDKs for Java, Python, and Go programming languages.

App Engine SDK

The App Engine Software Development Kits (SDKs) for Java, Python, and Go each include a web server application that emulates all of the App Engine services on your local computer. Each SDK includes all of the APIs and libraries available on App Engine. The web server also simulates the secure sandbox environment, including checks for attempts to access system resources disallowed in the App Engine runtime environment. Each SDK also includes a tool to upload your application to App Engine.

Asynchronous Datastore

The asynchronous Datastore API allows you to make parallel, non-blocking calls to the Datastore and to retrieve the results of these calls at a later point in the handling of the request. This API is available in both Java and Python.

Authentication

App Engine applications can authenticate users using any one of three methods: Google Accounts, accounts on your own Google Apps domains, or OpenID identifiers. (Note that the support for OpenID is deprecated and scheduled for removal.) An application can detect whether the current user has signed in, and can redirect the user to the appropriate sign-in page. With a signed-in user, the application can access the user's email address (or OpenID identifier if your application is using OpenID). The application can also detect whether the current user is an administrator, making it easy to implement admin-only areas of the app.

Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

B

Backend Instance

An instance that is exempt from request deadlines and has access to more memory and CPU than normal instances. Its duration is determined by your configuration with limited scaling based on your settings. App Engine provides backends for applications that need faster performance, large amounts of addressable memory, and continuous or long- running background processes.Backends are supported by Java, Python and Go.

backends.xml

backends.xml is a file that Java applications can use to configure backends. Java applications can also use backends.yaml.

backends.yaml

Python applications must use backends.yaml to configure backends. Java applications may use either backends.yaml or backends.xml.

Billable Quota

A total measurement of resource use that combines usage covered by the free quotas and additional usage that is billed.

Blob

An acronym for "Binary Large Object". A blob may refer to a large data object in the blobstore API, or it may refer to a property type in the Datastore API.

Blobstore API

Supported in Java, Python, and Go, the blobstore API allows your application to serve data objects called blobs, which are much larger than the size allowed for objects in the Datastore service.

Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

C

Capabilities API

Supported in Java, Python, and Go, with the capabilities API, your application can detect outages and scheduled downtime for specific API capabilities. With this information, you can disable the unavailable capability in your application before it impacts your users.

CGI

See common gateway interface.

Channel API

Supported in Java, Python, and Go, the channel API creates a persistent connection between your application and Google servers, allowing your application to send messages to JavaScript clients in real time without the use of polling. This is useful for applications designed to update users about new information immediately. Some example scenarios are collaborative applications, multi-player games, or chat rooms.

Common Gateway Interface (CGI)

The common gateway interface (CGI) is a standard that defines how web server software can delegate the generation of web pages to a stand-alone application. App Engine uses the CGI standard with the Python runtime to communicate the request data to the handler, and receive the response.

Concurrency

Concurrency occurs when systems execute computations simultaneously, and these computations interact with each other.

Concurrency Control

Concurrency control ensures that systems generate correct results for concurrent operations while getting those results as quickly as possible.

Concurrent Request

App Engine can send multiple requests in parallel to a web server. Concurrent Requests are supported by Java, Python 2.7 and Go.

Configuration File

All App Engine applications require a configuration file to set important details like the application ID and version number. Python, PHP, and Go applications must use app.yaml as their main configuration file. Java applications use the appengine- web.xml configuration file.

CPU Time

CPU time is the amount of time for which a central processing unit (CPU) in a Google data center processes requests from your application.

Cron Job

The App Engine cron service allows users to create tasks to run at regular intervals. Cron jobs are supported by Java, Python and Go.

cron.xml

For your Java application, a configuration file called cron.xml or cron.yaml file controls scheduled tasks. It consists of a number of job definition pairs, each containing a <url> tag and a <schedule> tag.

cron.yaml

For Java, Python and Go applications, a configuration file called cron.yaml controls scheduled tasks. It consists of a number of job definition pairs, each containing a url field and a schedule field.

Custom Domain

To serve your application on another domain besides appspot.com, you need to register your domain with Google apps.

Top | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

D

Datastore

Google App Engine uses a Datastore to distribute, replicate, and load balance your data through a simple API. It also includes a powerful query engine and processes transactions. Java, Python and Go can all make use of the Datastore.

Dat