Launch Checklist for Google Cloud Platform

Introduction

This Launch Checklist highlights best practices for launching commercial applications on Google Cloud Platform. It is designed for enterprise developers who are already familiar with Google Cloud Platform and the services it offers, and are looking for guidance in launching their application.

Several Google Cloud Platform services have a service-specific launch checklist. For example, the Launch Checklist for App Engine and the Launch Checklist for Google Cloud Storage. Use this platform Launch Checklist for overall guidance and the service checklist for detailed guidance.

If you are just starting out with Google Cloud Platform, see the Google Cloud Platform Overview or start a free trial. To get familiar with a specific service, try that service's quickstart, for example, App Engine Try a tutorial, Compute Engine Quickstart, or Cloud Storage Quickstart.

This Launch Checklist is broken down into five sections:

  • Architecture Design and Development
  • Alpha Testing
  • Soft Launch
  • Final Launch
  • Post 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 application'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 to complete them depends on the type of application you are launching and the organizational resources supporting it.

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

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
❑  
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. Automate where possible.
❑  
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.

Establishing your points of contact with Google

Activity
❑  
Establish and test emergency contacts at Google by purchasing at least Silver level Google Cloud Support. Review and practice how to file issues (for example, filing issues for App Engine) regardless of the level of support.
❑  
Familiarize your team with the Google Cloud Support Center -- both web/email 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.
❑  
Whenever your submit a ticket to Cloud Support, to ensure your issues are resolved quickly and your service sees as little downtime as possible, please make sure you have processes in place to respond promptly to support engineers' requests for further information, particularly with P1 tickets. Our analysis shows that the expected time awaiting customer updates is almost 30% of the total time to resolution.

Provisioning

Activity
❑  
Provision Google Cloud Platform projects for each of your development environments, for example, Dev, Test, or Prod.
❑  
Enable Google Cloud Platform billing and model your costs. For more information, see the Pricing Calculator.
❑  
Provision domains and certificates. Install certificates using Google Apps 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 that is required.
❑  
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 or delete Cloud Storage buckets and objects. Also, for international launches, test internationally.
❑  
Complete a quota analysis. Understand quotas, monitor Quota Details and file support tickets through Google Cloud Support Center to request quota adjustments.

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
❑  
Revise Traffic Estimates.
❑  
Revise Launch Plan based on current application logs.
❑  
Revise Quota Analysis based on traffic estimates and file support tickets in Google Cloud Support Center 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.
❑  
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 budget. Revise your cost model as needed.
❑  
Determine and validate ways to reduce costs.

Final launch checklist

Use the Final Launch Checklist shortly before launch and during your 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.

Post launch checklist

Activity
❑  
Capture lessons learned and update all relevant documents.
❑  
Create a post-mortem document.

Send feedback about...

Documentation