HACKER Q&A
📣 diceduckmonk

Does anyone actually Use GCP?


We are building a product to improve the DevEx of GCP and IaaS cloud. We are evening building and running this app on GCP! Gasps (we're not sure GCP even runs on GCP). For context, the search bar in the GCP web console can't even do proper substring searching on assets such as App Engine. In less than a month/16+ hour days, our two person team has already built superior search capabilities.

My co-founder has been sold on the pain-points on GCP, but the question becomes: why does anyone even bother? We believe there is some scale and inflection point at which GCP makes sense, but GCP products are disconnected from hobbyists. This month, we've received 10k visits and paid $120 on CloudRun (app server) and CloudSQL (Postgres). We used the lowest cost configuration including 1 CPU each. Yes, $120 for 2 x 1 CPU, 10GB SSD, 5GB ram total. It's not even been a month, actually. We had to pay an additional $30 for GCE VMs because:

1) CloudRun and CloudSQL can't talk to each other out of the box, so you have to provision a "Serverless VPC connector" which is backed by minimum of 2 VMs. It's also a single point of failure and bottleneck, which it has already failed over this month.

2) there is no UI to query CloudSQL. Even CLI querying is not possible because CloudSQL has a private IP and GCP's CLI's have no way to authenticate around this. As a workaround, we had to spin up "bastion" VMs which are the only thing that have a connection to CloudSQL. In which case, it seems GCP's CLI could be implemented to create a tunnel to a private CloudSQL.

This sort of snowflake behavior and devising workarounds in no person's land is a perpetual battle customers face with GCP. Other than documentation/DevRel, there isn't one particularly thing with GCP that is outright broken. It's just dozens and dozens and dozens of broken bits that add up. Our questions are these:

1) are GCP "serverless" (there's a lot of pain to get things working) just overpriced, or well fleshed our serverless products from startups just underpriced?

2) for people who seriously operate GCP do they just run VMs?

3) in 2022, is there anyone actually moving to GCP? If so, why? Obviously everyone knows Snapchat committed $2b in their S-1, but was that a mistake?

4) for larger businesses, could you share the kind of discounts/incentives you receive from GCP to make all of this make business sense.


  👤 busterarm Accepted Answer ✓
If you're concerned about costs and stability and you aren't spending enough to justify at least a 5-figure support contract (enterprise support contracts are around 10-30k + 1% of spend), I don't think the major cloud providers are for you. You will _never_ receive adequate support to run workloads that you consider mission critical at that level of spend.

Maybe something more like DO, OVH or Hetzner is appropriate.

If you think the basic cloud services are expensive, that's nothing compared to other SaaS providers, Heroku, CDNs or even specialty cloud services. Most of those will start at a 3x multiple of what you're paying now.

I run several million USD on GCP and it's fine. I have more on AWS, which is also fine.

GCP works for us because we have retail customers and customers in Europe who are extremely Amazon-averse. We run VMs, we use CloudSQL, we use GKE.

CloudSQL works great and the serverless networking connector isn't a big deal. Connecting to it from _anything_ works that way. Not just CloudRun. You have to use the VPC connector even from VMs. You can use cloudsqlproxy for direct access from your local machines.


👤 plantain
I use GCP and the killer feature IMHO is the WebUI is "discoverable" but then for almost every operation it will tell you the associated CLI or JSON.

So I'm able to do things once in the WebUI and repeat it programmatically from then on, while AWS / Azure I have to figure out how to do something via the WebUI and then learn again to do it via API.


👤 xctr94
2) Pretty much. I never got into the serverless hype vs keeping some well-managed VMs running, but YMMV depending on your needs. Cloud SQL works quite well for us too.

3) Also yes. We tried to get on Scaleway’s Startup Program but were rejected. OVH took us in, but I had so, so many problems with different tools… Their customer support wasn’t helpful, so I felt this permanent anxiety about the next thing failing with our infra. GCP was the ‘least bad’ choice given our constraints are complexity and cost, while still keeping investors confident in the tech.

I loathed my time on the other large providers, even if GCP feels like a 5/10 choice for a small company. I’d love to use Digital Ocean or Scaleway, as they seemed better suited to smaller companies; but sadly we couldn’t make the relationship work.

If you don’t have to deal with compliance or record-keeping, why not pick one of the 2 providers I mention above? They’re much better for ‘hobbyists’, super usable.

I just realized you were asking about larger companies, but I’ll still post the reply in case it helps.


👤 throwawaymaths
> (we're not sure GCP even runs on GCP)

It might not be a good idea to have GCP run on GCP because you probably want the control layer having an isolated failure domain from your product.


👤 dossy
> "Even CLI querying is not possible because CloudSQL has a private IP [...]"

Uh, wat? https://cloud.google.com/sql/docs/mysql/configure-ip

# "You can configure your Cloud SQL instance to have a public IPv4 address, and to accept connections from specific IP addresses or a range of addresses by adding authorized addresses to your instance."


👤 sgammon
1) some people consider isolation a feature. if you don’t want to use the serverless connector which grants access securely, and privately, just use the public instance IP. you’ll have to explain how it’s a single point of failure, I don’t get that, it’s a managed service, I think.

2) datagrip is great. what do you want in an SQL web UI? install phpmyadmin if you want. you do not have to spin up a bastion host — simply add a public IP. you either want an isolated database or you don’t.

second batch of questions:

1) serverless from GCP isn’t overpriced, if you abuse it and scale up your workloads 24/7, you will pay for it. in that case, you should move to GKE or GCE anyway. at scale 0 for intermittent services, Cloud Run pricing had been great.

2) no, lots of people run GKE, or Cloud Run, or Batch, or App Engine.

3) yes, what a silly question

4) no, what a silly question


👤 flat-pluto
3) I haven't used GCP except for Looker + BigQuery, and for the most part I have been a satisfied customer. Sharing data and dashboards across teams for non-(engineers + data scientists) is critical and Looker does a pretty good job for our use case.

4) I've also received discounts which helped us save on query and storage costs (20% off above a certain threshold).

As a hobbyist, I have used Google Colab which has been pretty good as well. (Don't know if it officially comes under GCP).

This is known but is worth repeating - GCP is under-pricing its products as a way to gain market share, and once they have a larger piece of the pie, they are likely to increase prices.


👤 sgammon
“GCP products are disconnected from hobbyists”

firebase, bigquery, gcs, bazel, cloud run, are all fantastic for hobbyists.

not to mention the full ecosystem: android, guava, gRPC, dagger, closure — all incredibly solid for what they do.


👤 ronsor
I don't have first-hand experience with GCP, but I know Discord uses it -- at least the VMs and S3-compatible storage.

👤 scumola
Switch to AWS. Store stuff in S3, use S3 select (SQL for querying data in S3). Write some lambda stuff for your "app" side of the web site. Your costs will be next to nothing.

👤 sgammon
what? of course people do. what a silly question.

👤 4ndrewl
No.