The reason I'm hesitating between RDS and Cloud SQL is that I couldn't find that if I set a Cloud SQL instance to high availability with read replicas how will the scheduled maintenances happen. After reading SO and documentation for quite a few hours now I believe that even in case of a HA instance you can experience outages due to scheduled maintenance, so you cannot set any settings / policies to have virtually 100% uptime unlike in AWS RDS where you can set different maintenance windows for replicas.
Am I right? If not, how to achieve the same as in AWS? If I am, what's the rationale behind this behaviour? How are you even supposed to move your service to GCP if you can't guarantee it being always accessible? What's even the point of HA if it also has downtimes?
Read replicas neither provide High Availability nor offer it, and I'm afraid they do not support the maintenance window either. This is explained in the Cloud SQL FAQs among other information.
There are Feature Requests opened on the Public Issue Tracker regarding this here and here - you may show your interest by clicking on the star button.
When scheduled maintenance occurs, the operations are first performed on the read replica(s) and then on the master instance. Cloud SQL attempts to keep one of them running at all time, but this is not guaranteed, is subject to change and you shouldn't rely on it.
If availability is that critical for you, you are better off using Cloud Spanner instead, which offers a 99.999% availability SLA.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With