I need to run Postgres in production soon and have been trying to decide between AWS RDS multi-AZ (non-Aurora) and Google Cloud SQL HA. I have some experience with RDS, and from the documentation, Cloud SQL seems very similar.
5 years is a lot of room for change. I remember Gmail having to restore a bunch of email from tape a decade or so ago.
---
As an aside, the advice that
> If you are having the issue *stopping* or restarting an instance, try adding and then removing an IP address to the Acess control list. After that you should be able to stop the instance.
Not so long ago GCP Pg didn't support PITR. It looks like they do now. Not sure if you can create a separate instance from backup or restore only to a running instance. Not sure if they allow external replicas.
I suggest you discuss the requirements with your team and then compare both offerings.
Interested in the same question. So what are the problems of AWS/Azure/GCP Postgresql HA databases. Anyone better than the others? Documented problems for anyone?
I got to deploy some PaaS stuff in Azure recently.
Azure SQL Database has a zone redundant mode, but not a zonal mode. This means the network performance will always be terrible, because the database will be in an unknown zone, so you can't put your app tier in the same zone.
Conversely, App Service has only a zonal configuration or nothing. No zone-redundant option! You'd think this "app+db" PaaS combination would be well designed and tested, but you'd be wrong...
The Azure SQL network performance has two modes: insecure and acceptable OR secure and horrendously slow. To get a private 10.0.0.0/8 address they tunnel(!) through a VPN gateway they manage and then proxy(!) the traffic again. I saw latencies as high as 13 milliseconds for "SELECT 1" within a region, which is just absurd.
PS: This is for the Business Critical elastic pool tier, which guarantees 1-2ms I/O latency, but you can't actually get transaction latencies this low because of the networking issues.
There's lots of little annoyances too, like: you can't copy databases across subscriptions. You can't create databases in an elastic pool in a different resource group. You can only have one "Azure AD administrator", because SQL Server doesn't really support IAM. (You can use a group, but not two groups.) Similarly, non-admin access is granted via SQL only, not Resource Manager, which makes it nigh impossible to automate some builds via ARM templates. The built-in firewall is a disaster: IPv4 only and no support for service tags. The SQL Elastic Jobs resource is incomplete and seems useless. Similarly, SQL Sync is a toy and was broken when I tried it.
Overall, it feels very immature and not suitable for any real enterprise use case. Small Wordpress sites? Sure. Infrequently used apps that don't need performance? Probably okay. Maybe.
What's worse about Google Cloud SQL?