4 ms·
Google Cloud SQL is no replacement for Amazon RDS in my opinion. Cloud SQL instances run outside of your project's private network, so connections from Google
by caleblloyd 11y ago
Google Cloud SQL is no replacement for Amazon RDS in my opinion. Cloud SQL instances run outside of your project's private network, so connections from Google Compute Engine have to be over a Public IP. This means accepting connections from any host (insecure) or whitelisting each Google Compute Engine VM's IP address (pain in the ass).
I've resorted to running my own MySQL instance inside of Google Compute Engine and setting up replication and off-site backups myself. It's definitely not as convenient as Amazon RDS, but the rest of Google Cloud has some great features like Google Container Engine.
Would love to see an RDS-like solution from Google that runs in a project's private network and supports more than just MySQL.
- seanp2k2 11y agoSo, basically something like AWS's VPC? Given that it took them a few years to get that right even with tons of people asking for it, I'm not super optimistic that Google could match it any time soon. I'd love to be wrong!
- crb 11y agoWe've recently released Subnetworks [1], which let you segment your network in a similar way to AWS's VPC. We've been working closely with customers to ensure that we're building out the platform in a way that works for everyone, up to very large, technically adept, customers like Spotify. (Many of the other features of VPC, such as a worldwide network rather than a regional one, were built in from day 1.) https://cloud.google.com/compute/docs/subnetworks https://cloud.google.com/compute/docs/subnetworks
- mikecb 11y agoGCE networking was always equivalent to AWS VPC, but there's new functionality in stuff like Cloud Router, subnetworks, and other beta features to expand that even more. Here's the Network Services section from a guide explaining GCP for people who are used to AWS: > The differences between AWS networking and Google Cloud networking are significant. This due to the nature of how these services were designed. Google Cloud Platform treats networking as something that spans all services, not just compute services. It is based on Google’s Andromeda software-defined networking architecture, which allows for creating networking elements at any level with software. As a result, Cloud Platform can create a network that fits Google's needs exactly—for example, create secure firewalls for virtual machines in Google Compute Engine, allow for fast connections between database nodes in Cloud Bigtable, or deliver query results quickly in BigQuery. > To create an instance in Google Compute Engine, you need a network. In Google Cloud Platform, we create a default network for you automatically, and you can create more as needed. Unlike AWS, there is no choice of a public network like Elastic Compute Cloud-Classic. In all cases, you create a private network, much like Elastic Compute Cloud-VPC. Unlike Elastic Compute Cloud-VPC, Google Networking does not have sub-networking, but it does have firewall rules, routing, and VPN. These prerequisites are not necessarily required for all Google Cloud Platform services. Google BigQuery, for example, does not require a network because it is a managed service. > Most of the networking entities in Google Cloud Platform, such as load balancers, firewall rules and routing tables, have global scope. More importantly, networks themselves have a global scope. This means that you can create a single private IP space that is global, without having to connect multiple private networks, with the operational overhead of having to manage those spaces separately. Due to this single, global network, all of your instances are addressable within your network by both IP address and name. > Another major difference between Google Cloud Platform networking and Elastic Compute Cloud-VPC is the concept of Live Migration. Under normal circumstances, all hardware in any data center—including Google—will eventually need either maintenance or replacement. There are also unforeseen circumstances that can happen to hardware that can cause it to fail in any number of ways. When these events happen at Google, Cloud Platform has the ability to transparently move virtual machines from affected hardware to hardware that is working normally. This is done without any interaction from the customer. From: https://cloud.google.com/docs/google-cloud-platform-for-aws-professionals https://cloud.google.com/docs/google-cloud-platform-for-aws-...
- dcgoss 11y agoI've always thought that live migration feature is incredible.
- obulpathi 11y agoI am sure Google Cloud has VPC stuff for all the components, including Cloud SQL. It lacks the variety (No PostgreSQL, Oracle, MSSQL, or MariaDB). All traffic is encrypted by default on all posts (Google Cloud does this for free) too.
- crb 11y agoLook no further (for item 1 of 2 anyway) — http://googlecloudplatform.blogspot.co.nz/2015/12/the-next-generation-of-managed-MySQL-offerings-on-Cloud-SQL.html http://googlecloudplatform.blogspot.co.nz/2015/12/the-next-g...
- ghayes 11y agoCan't emphasize enough how much I wish GCE had PostgreSQL support. Managing and maintaining our database is something I'd love to hand off to my cloud provider. MySQL simply doesn't cut it these days, and RDS has made me happy and lazy.
- duaneb 11y agocan't agree enough. MySQL's quirks make me want to gouge my brain, and it's not going to solidify into a competitive db engine any Time soon. Let's say mariadb added something like hstore--would I ever get that patch?
- ceocoder 11y agoI believe parent was commenting about ability to run a CloudSQL instance with an internal IP in the same/different subnet as rest of the Compute Engine instance. I'm drawing that conclusion because I've had the exact same use case and I ended up using SSL certs used by Cloud SQL instances to secure communication between my apps running on compute engine and CloudSQL. With RDS one can create a postgres/mysql instance that shares the same internal subnet thus negating need to open it up to external IPs, something I had to do after much deliberation because whitelist individual instance IP is just too much pain. [edit: I looked at the link, and created a test instance to make sure I wasn't missing on a config setting, still unable to use private network to communicate with Cloud SQL AFAIK]