Launch Checklist for Google Cloud SQL

Introduction

This Launch Checklist for Cloud SQL gives recommended activities that you should complete for launching a commercial application that uses Google Cloud SQL. This checklist focuses on Cloud SQL-specific activities. You should also use the platform checklist, Launch Checklist for Google Cloud Platform, to understand the activities you should also complete that apply to all services.

This Launch Checklist for Cloud SQL is designed for developers who are proficient with Cloud SQL. If you are just starting out with Cloud SQL, these instructions will not teach you how to use Cloud SQL; instead, new users should start with the Quickstart.

This checklist is broken down into three sections:

  • Architecture Design and Development
  • Alpha Testing
  • 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 app's development lifecycle. Similarly, the Alpha Testing Checklist contains activities we recommend when you are closer to launch. However, the exact timeline of the checklist activities and the time required for them depends on your application development time frame.

Architecture Design and Development Checklist

We recommend that you use this checklist in the early stages of the development of your application. You can work on the checklist activities in parallel; however, we recommend that you start the software architecture-related activities as early as possible as they require more time to complete.

Activity
❑  
Carefully assess the performance characteristics of Cloud SQL, a managed and replicated MySQL service, and the service’s limitations and restrictions (for example, no SUPER privilege). If you want the benefits of Google managing updates to MySQL, replicating your data automatically, and high availability, then Cloud SQL is likely the best choice for your application.
❑  
Ensure your DevOps team is familiar with the Cloud Platform Console and the Cloud SDK, including the `gcloud` command-line tool. Both tools use the public Cloud SQL API. Either tool may be used to manage (create, edit, delete) instances, update user passwords, trigger a restore, and other management tasks. You can also use third-party management tools, because Cloud SQL uses standard wire protocols.
❑  
Consult Google Cloud SQL community support on Stack Overflow. Its a great source of information and practical advice.
❑  
Subscribe to the Google Cloud SQL announce group. Posts are made to this group for service updates and issue and incident reports. The Cloud Status Dashboard mirrors the issue and incident reports.

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
❑  
Remain current on the drivers that provide data access for your development platform.
❑  
Load-test early, often and realistically. Verify that your application can survive restarts of the Cloud SQL instance during maximum load. If your application is making a lot of connections, make sure the reconnect after a server restart has the right amount of backoff to avoid hitting the cap on the number of pending connections. For more information, see the FAQ Are there any size or QPS limits? Be aware that a big, cold buffer will take quite some time to fill. Whenever possible, you should optimize queries to avoid the creation of temporary tables because operations involving temporary tables can be especially slow.
❑  
If using Google Compute Engine VMs, make sure the firewall behavior related to idle connections doesn’t harm the application. If necessary, make sure to make the changes to TCP Keepalive persistent across VM reboots. For more information, see Connecting to Google Cloud SQL from Google Compute Engine.
❑  
If you are using a First Generation instance, make sure it is following the right Google App Engine application or is in the right Google Compute Engine zone. The latency should be less than 2ms most of the time. Establishing a database connection is expensive (10ms or more). Whenever possible, use connection pools to amortize this cost.
❑  
Make sure that App Engine apps don’t go over the limit of 12 Cloud SQL connections per App Engine instance. Connection pools are the recommended way to achieve this.
❑  
Make sure there is a strategy in place for doing schema changes and the impact of doing them is well understood. We recommend that you create a clone of an instance to test a schema change.

Final Launch Checklist

Use the Final Launch Checklist shortly before and during your launch.

Activity
❑  
There are no Cloud SQL specific activities for launch. If you have followed this checklist to this point, your project’s Cloud SQL service will be ready for your application’s launch. We recommend that you also review the Final Launch Checklist in the Launch Checklist for Google Cloud Platform.

Monitor your resources on the go

Get the Google Cloud Console app to help you manage your projects.

Send feedback about...

Cloud SQL for MySQL