App Engine

App Engine Video Resources

Many Googlers have given talks at Google I/O and elsewhere about App Engine systems and best practices. Below is some of the video content available on the web.


  1. Training Videos
  2. Google I/O 2013
  3. Google I/O 2012
  4. Past Google I/Os
  5. App Engine at Campfire One

Training Videos

Videos Summary

App Engine Architecture and Services

This lesson introduces how App Engine solves the needs of a real-time earthquake monitor in Japan, in a robust scalable way that handles peak request throughput during earthquakes without needing to keep server resources up and running all the time.

Learn how to configure your App Engine applications to best take advantage of the underlying Google infrastructure, including edge caching and load balancing, to optimize response speed and minimize cost.

Managing Your App

What can you do to figure out why your App Engine application fails at times, or even on every request? This presentation shows you how to use the Admin console to configure your application, how to monitor it on a daily basis, and how to troubleshoot it when errors occur.

If your App Engine has a high failure rate, the culprit is often quota errors. Watch to this presentation to understand quotas, learn how to track down and avoid quota errors, and how to estimate and and control your costs by enabling billing and setting a daily maximum budget.

User APIs and Authentication

What are the levels of granularity you can implement, to make sure the right people can access your applications, but non-authorized users are kept out? Learn how to configure your apps to be accessible to anyone, or to restrict access to Google Account users, to users at a specific Google Apps domain, or to anyone who has an account with an OpenID provider. (Note that the support for OpenID is experimental.)

Once your users have logged in, how can you personalize the experience for them? This presentation discusses how to use the Users API to get basic information about the user, and gives code samples to get you on your way to providing a personalized experience for each user. Learn how to use OAuth to allow a user to grant limited permission to a third party (be it another user or a web application) to access a web application on their behalf.

Datastore Introduction

Datastore service in App Engine is the core component of the platform and an essential part of learning App Engine technologies. In this lesson we will cover topics including "What is Datastore?", "Datastore Internals" and "Datastore Basic Operation". We will be looking at basic concepts including the difference between a Relational Database and Datastore, scalability, reliability and performance characteristics of Datastore. We will also dive deeper into the underlying technology, Google Bigtable. As basic operations, we will learn Datastore concepts like Entity, Property and Key as well as Datastore APIs.

Datastore Query, Index and Transaction

In this lesson, we will cover topics including Datastore Query and Transaction. The Query is one of the most challenging parts on learning App Engine technologies. You will learn what are rules and practices of the Query, and why they are important to enable the high scalability of the service. Then we will look at some workarounds to cope with the restrictions of the Query. In the latter part of the lesson, we will cover Transaction of Datastore. Especially, understanding the Eventual Consistency of the Query is very important to designing consistent and reliable App Engine application. We will examine how Entity Group and Ancestor Query will ensure Strong Consistency of your application.

Memcache Basics

Memcache is the most powerful tool to minimize response time and Datastore cost of your App Engine application. In this lesson, we will learn what Memcache is and when to use it. We will also review the Memcache API in both Java and Python and look into some special usage including Batch operation and Atomic operation. In the latter part of the lesson, we present some caveats to know and best practices to use Memcache effectively, including the volatility, non-transactional characteristic, and how Memcache entries can be evicted.

Task Queue Basics

This lesson presents an overview and inner workings of the Task Queue.

The task queue has two flavors: push queue and pull queue. The push queue is a great way to schedule a unit of work, such as sending an e-mail, outside of a user request. This prevents blocking the user request while the e-mail is enqueued for delivery. Push tasks are treated as normal http requests, and are executed ASAP on the same app engine application. The pull queue allows enqueuing tasks that can be leased by workers according to user-defined logic. Unlike push tasks, pull tasks are pieces of data that can be accessed from other app engine instances, servers, or external servers.

Learn how to use both push and pull queues as well as fine tune configuration to optimize performance. Also learn how to execute push tasks on a regular schedule using cron jobs.

Google I/O 2013

Below are all of the App Engine presentations from Google I/O 2013. These videos discuss new technology and best practices, and give you a glimpse in to running services in production.

Videos Summary Slides & Notes
PHP for App Engine: This session introduces a new and highly-requested language for Google App Engine -- PHP! The new runtime allows developers to take advantage of App Engine’s powerful scaling, services, durability, and ease of use, while leveraging familiar and powerful frameworks to build applications. In this session we'll give an overview of this new runtime, and show how easy it is to move existing applications to use App Engine and the Google Cloud Platform.

Session Presentation

Session Page

Cloud Backend for Your Android Application - From Nothing to Nirvana in Minutes: The best Android applications take full advantage of the cloud to power great user experiences. This talk shows, in detail, how to use the server-code optional backend on the Google Cloud Platform to store application and game state in the cloud. We will then walk through adding your own custom logic via Google Cloud Endpoints and the Google Plugin for Eclipse. For a more in depth look at the session content, read Brad Abram's writeup "Google I/O 2013 Session Overview: From Nothing to Nirvana in Minutes: Cloud Backend for your Android Application – Building Geek Serendipity."

Session Presentation

Session Page

Intense Gaming: From indie to AAA game studios, learn how cutting edge developers are building next generation experiences on the Google Cloud Platform. This session focuses on how developers are combining technologies such as App Engine, Compute Engine, and BigQuery to quickly build and scale their multi-platform releases.

Session Presentation

Session Page

Autoscaling Java: Understand how to build Java applications that work well in an autoscaling environment. We'll discuss common anti-patterns in Java that make it difficult for autoscaling environments to deal with your application. We'll also discuss how App Engine knows when to scale up and back your application and how to take full advantage of this.

Session Presentation

Session Page

Building developers.google.com on App Engine: The Google Developers website, aka developers.google.com, is one of thousands of Google applications that run on App Engine. In this talk, we walk through the real-world use cases and design patterns that drive the site's content management system, and discuss implementation techniques that have worked, and a few that haven't. As a bonus, we'll consider several of the newest App Engine features in the context of this app, and how they change the way we think about application architecture.

Session Presentation

Session Page

High Performance Apps with Go on App Engine: The Go runtime for App Engine is a high performance engine for running web applications. It produces fast responses, starts instances in a fraction of a second, makes the most use of instance hours, and allows your app to do serious processing at full machine speed. Come along to hear how to fully exploit the power of Go on App Engine and make your web applications the best they can be.

Session Presentation

Session Page

Google I/O 2012

Videos Summary Slides & Notes
App Engine Overview: Peter Magnusson and Greg D'Alesandre give an overview of App Engine's progress in the past year and announce some exciting new features. Session Page
SQL vs NoSQL: Battle of the Backends: Google App Engine now offers both SQL and NoSQL data storage -- but which is right for your application? Advocates of each try to settle the issue once and for all, and show some of the tricks for getting the most out of each. Session Page
Getting the Most Out of Python 2.7 on App Engine: The App Engine Python 2.7 runtime is more than a simple upgrade to the Python 2.5 runtime - it has fewer restrictions, introduces some popular third-party libraries and allows for concurrent requests. The session will explain how to get the most out of these new capabilities. Session Page
Building Mobile App Engine Backends for Android, iOS and the Web: Mobile application development is growing at explosive rates and the best of those applications have a backend server. Find out how you can use Google Cloud Endpoints to build powerful APIs to support mobile applications running on Android, iOS, and mobile browsers. Session Page
Managing Google Compute Engine Virtual Machines through Google App Engine: Google Compute Engine provides highly efficient and scalable virtual machines for large scale data processing operations. Integration with Google App Engine provides an orchestration framework to manage large virtual machine clusters used for data processing. This session will demonstrate integration of the two technologies and discuss future use cases. Session Page
Optimizing your Google App Engine App: Learn from Google App Engine's SWEs and SREs how to optimize your app to increase your reliability, increase your performance, and reduce your costs. Session Presentation

Session Page

Past Google I/Os

Below you can find links to App Engine session at all the past Google I/Os. Please be aware that some of this information does not represent current best practices. However, it's a great view of the history of our platform.

App Engine at Google I/O 2013

App Engine at Google I/O 2012

App Engine at Google I/O 2008

App Engine at Campfire One

See how far we've come by watching both Campfire Ones on App Engine. In 2008, we launched App Engine at Campfire One. One year later, we held another Campfire event to introduce the Java runtime. The YouTube playlists below cover both events in their entirety.

Campfire One: Introducing Google App Engine

Campfire One: App Engine's 1st Birthday