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 Getting Started.
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 |
|
❑
Architect your solution to leverage Cloud SQL. Don't think of it as
MySQL on a virtual machine (VM).
InnoDB is the Google recommended database engine for Cloud SQL.
If your project requires
MyISAM, please mention this in the “additional questions or
concerns” when you notify Google of your launch with this
template (g.co/GCPLaunch), which is discussed in the
platform launch checklist. Be mindful of the differences related to user-defined
functions, replication, and the performance schema between the two storage
engines. For more information, see the FAQ What
storage engine should I use?.
|
|
❑
Carefully assess the performance characteristics of Cloud SQL, a
managed and replicated MySQL service, and the service’s limitations and restrictions (for example, 500GB maximum
storage, no SUPER privilege, etc.). 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. If your goal is pure performance and
you’re prepared to manage databases and data, then MySQL on a
Google Compute Engine VM is likely a better choice for your application.
|
|
❑
Ensure your DevOps team is familiar with the Developers Console and the Cloud SDK (gcloud). Both tools use the public
Cloud SQL API. Either tool may be used to manage (create, edit,
delete) instances, update the root password, trigger a restore, promote a
read replica to primary, and other management tasks. Tools that are likely
already familiar to your DevOps team may continue to be used to connect to
the Cloud SQL database including MySQL
Client, MySQL Workbench,
Toad for MySQL, and SQuirreL SQL. Test the
integration between Cloud SQL and your existing management and
monitoring tools.
|
|
❑
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, for example, see driver help for
Python,
Java, and
PHP. For database instance management, use the
latest version of the
Cloud SQL API.
|
|
❑
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.
|
|
❑
Make sure the Cloud SQL instance 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.
|
|
❑
Any import or export is not allowed to take more than 24 hours so,
if you use them, make sure that they fit within that limit. For more
information, see Working with
long-running import and export processes.
|
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.
|
|
❑
Please help us make this checklist more useful by proposing improvements.
|