Launch Checklist for App Engine

Introduction

Google App Engine is a Platform as a Service (PaaS) offering that lets you build and run applications on Google Cloud Platform. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs change. Many companies have successfully launched applications on Google App Engine.

This Launch Checklist for App Engine highlights best practices for launching a commercial application on Google App Engine. It is designed for enterprise developers who are proficient with App Engine. If you are just starting out with App Engine, these instructions will not teach you how to use App Engine; instead, new users should start with the App Engine Getting Started Tutorial.

This Launch Checklist for App Engine is broken down into four sections:

  • Architecture Design and Development
  • Alpha Testing
  • Soft Launch
  • Final Launch

The sections are presented in the order we recommend that you use them as you prepare to launch your application. For example, you should start with the Architecture Design and Development Checklist; it contains activities that we recommend you do early in your applications's development lifecycle. Similarly, the Soft Launch Checklist contains activities we recommend when you are close to launch. However, the exact timeline of the checklist activities and the time required for them depends on your application development time frame.

This Launch Checklist for App Engine is designed to ensure smooth product launches and a great experience for the users of your app. We recommend using these checklists for your existing and new applications running on Google App Engine.

Architecture design and development checklist

We recommend that you use this checklist in the early stages of the development of your application. This checklist is broken into four activity groups:

  • Software Architecture Work
  • Establishing Your Points of Contact with Google
  • Provisioning
  • Creating Launch Plans and Traffic Estimates

You can work on the checklist activities from the groups in parallel; however, we recommend that you start the software architecture-related activities as early as possible as they require more time to complete.

Software architecture work

Activity
❑  
Read the Designing for Scale best practices document. It enumerates App Engine API usage anti-patterns that can cause problems under load.
❑  
Create an architectural summary. Include an overall architectural diagram, a summary of the process flows, detail the service interaction points. List and describe how each Google Cloud Platform service is used. Include use of any experimental Google APIs, non-Cloud Platform Google APIs and 3rd-party APIs.
❑  
Document your build and release, configuration, and security management processes.
❑  
Document your routine backup, regular maintenance, and disaster recovery processes. Test your restore process with real data. Determine time required for a full restore and reflect this in the disaster recovery processes.
❑  
Document your DevOps processes, particularly if you need your support system to integrate with Google's. Document and define your system monitoring and alerting processes. Ensure DevOps is familiar with the Google Cloud Platform Console and participates in testing. Monitor the Cloud Status Dashboard. Subscribe to the App Engine downtime notify group.

Establishing your points of contact with Google

Activity
❑  
Establish and test emergency contacts at Google.
❑  
Familiarize your team with the Google for Work Support Center (GWSC).
  • Configure web and email contact options, and depending on the service-level purchased, phone support processes.
  • Test on the weekend. Test late at night.
  • Ensure that your team knows how to reach Google.
❑  
Notify Google of the launch using this template (g.co/GCPLaunch). You will be notified by Google if there are any Google Cloud Platform events that could impact the launch.

Provisioning

Activity
❑  
Provision Google Cloud Platform projects for each of your development environments (e.g. Dev, Test, Prod.)
❑  
Enable Google Cloud Platform billing and model your costs. For more information, see the Pricing Calculator.
❑  
Provision domains and certificates. Install certificates using G Suite Admin Console. For more information, see SSL for a Custom Domain and Configure SSL certificates for custom domains.
❑  
Provision any other Google and 3rd-party services that are required. These services should be included in the activities described in this launch process.

Creating launch plans and traffic estimates

Activity
❑  
Calculate traffic estimates through the entire solution and for all of its sub-components.
❑  
Create a launch plan and ensure that it remains the source-of-truth for the launch. It should reference every other required process and document.
❑  
Create a test plan. Always include tests that include deploying code to and against production services. Test and test again. Make many tests as realistic as possible and include as many people and processes as possible.
❑  
Create a load-test plan. Anticipate "resetting" Google Cloud Platform projects each time (for example, delete Cloud Datastore entities) and, for international launches, test internationally. If users need to register to use the product, be sure to load test the new-user signup flow.
❑  
Complete a Quota Analysis. Understand quotas, monitor Quota Details and file support tickets through GWSC to request quota adjustments.
❑  
Use AppStats (Java | Python) to enhance (RPC) performance profiling of your application. Include the functionality to turn this on or off as needed.

Alpha testing checklist

Use the Alpha Testing Checklist when you are close to code complete and want to get initial metrics about your application.

Activity
❑  
Stay current on App Engine SDK versions and release notes. The current App Engine release is shown in the Developer Console App Engine Dashboard.
❑  
Revise Traffic Estimates.
❑  
Revise Launch Plan based on current application logs.
❑  
Revise Quota Analysis based on traffic estimates and file support tickets to request quota adjustments.
❑  
Perform at least one more round of load tests, because both your solution and Google Cloud Platform are evolving nearly continuously.
❑  
Create a step-by-step deployment script and test. The goal is to have a documented guide for build and release processes that is auditable, repeatable, and comprehensive.
❑  
Validate that your system monitoring and alerting are sufficient and effective.
❑  
Simulate major outages and test your Disaster Recovery processes. Test as many of your people and processes as possible.
❑  
Simulate data center failures, service failures, data corruption and other unlikely events. Be prepared for unexpected events of large magnitude.
❑  
Simulate build and release failures. Are you able to roll back effectively? Is the process documented?
❑  
Simulate configuration management failures. Why were these possible? How are loopholes removed? How can you reduce the time spent to identify and resolve these?
❑  
Test everything multiple times. Consider recording the people and the machines involved in your tests to identify where failures and where undocumented activities occur.

Soft launch checklist

Prior to your application's commercial launch, we recommend using the Soft Launch Checklist activities to test your launch readiness.

Activity
❑  
Run through your deployment scripts. Correct errors and omissions as they arise. Document all necessary steps for deployment. Test AppStat (Java | Python) flags.
❑  
Load-test for 1.5x-2.0x Traffic Estimates.
❑  
Triage and resolve any issues that arise. Review your cost model against actual costs. Verify that operational costs will be within your spending limit. Revise your cost model as needed.
❑  
Determine and validate ways to reduce costs.

Final launch checklist

Use the Final Launch Checklist shortly before launch, during launch, and immediately following the launch.

Activity
❑  
Run through your deployment scripts. Document and address issues as they arise.
❑  
Make sure all of your team members are available to triage and resolve incoming issues if needed.
❑  
Be mindful of setting overly conservative spending limits with App Engine. If your App exceeds the spending limit, it will be suspended. For more information, see Spending limits.
❑  
Post launch, capture lessons learned and update all relevant documents & procedures. Make sure to focus on continued improvements.

Send feedback about...

App Engine Documentation