Live data from Hacker News

Cloud Functions: Go 1.11 is now a supported language

cloud.google.com

51–60 of 107 posts

Re: Cloud Functions: Go 1.11 is now a supported language

#51
post #22

Nice! Go 1.11, especially modules, is a great step forward.

Actually tried to use it in production these last few months. The core of the experience is awesome, didn't run into any issues at all. The problem is that all the tooling like errcheck doesn't support go modules yet. So we ended up going back to the dep package manager. Will try again in a couple of months. Here's a ticket about the issue: https://github.com/golang/go/issues/24661

I noticed that, too. The only actual third-party tooling we use is realize [1] which currently doesn’t work outside of GOPATH. Luckily, we work with Docker anyway so our code is mounted inside GOPATH and we can use modules commands on the host.

1: https://github.com/oxequa/realize

Re: Cloud Functions: Go 1.11 is now a supported language

#52

As an aside, and since there are some googlers here, the heading animation on the blog has some issues in Firefox. They are super annoying. Would be nice if google supported all browsers. https://photos.app.goo.gl/MgsfH8GZndCdyBjeA

I’ll raise it with the team thanks!

I deleted the album because somebody kindly pointed out it might have revealed more that it should. Feel free to email me if you need any help reproducing the issue.

Re: Cloud Functions: Go 1.11 is now a supported language

#53
post #21

Earlier quoted context omitted.

Which ones would you like to see? We're always looking for new use cases to support.

These are not specific to Go. firebase authentication -> user account from disabled to enabled. firebase authentication -> when a new phone number is associated. Firestore -> field level triggers. Right now we have only document level trigger.

> Firestore -> field level triggers. Right now we have only document level trigger.

For what it's worth, if you have an onUpdate trigger on a Firestore database, the event you receive has the before & after state of the change, which would include field-level changes: https://firebase.google.com/docs/functions/firestore-events#...

Is there a specific use-case that this doesn't handle for you?

Note: Work at GCP, not on Functions.

Re: Cloud Functions: Go 1.11 is now a supported language

#54
post #34

Hey all - Seth from Google here. We're really excited to bring Go to Google Cloud Functions (GCF). Please try it out, give us feedback, and let us know if you have any questions!

Hey Seth, I was wondering if you guys ever discussed the previous AWS vs GCP performance post that was on here a while back.

Do you have a link to this please?

Re: Cloud Functions: Go 1.11 is now a supported language

#55
One thing that is not super clear from the blog post, and which may be a surpsise to some, is that Cloud Functions will require you to upload your source code. The compilation happens not on your end but on Google servers.

This is probably not a surprise for folks who have been using Python or Node for cloud functions, but it is something to think about.

Other FaaS providers don't have this requirement, and just take a Linux x86_64 binary.

Re: Cloud Functions: Go 1.11 is now a supported language

#56
post #21

Earlier quoted context omitted.

These are not specific to Go. firebase authentication -> user account from disabled to enabled. firebase authentication -> when a new phone number is associated. Firestore -> field level triggers. Right now we have only document level trigger.

> Firestore -> field level triggers. Right now we have only document level trigger. For what it's worth, if you have an onUpdate trigger on a Firestore database, the event you receive has the before & after state of the change, which would include field-level changes: https://firebase.google.com/docs/functions/firestore-events#... Is there a specific use-case that this doesn't handle for you? Note: Work at GCP, not o…

well, if I have onUpdate trigger, which means my function is going to be triggered for every update on the document (even for the fields that I don't care) You can say that triggering functions shouldn't cost you much, but thats not the way to do right. Correct me if I am wrong.

My use-case is simple. Want to get my CF triggered if the value of a particular field in a doc changes. Thanks.

Re: Cloud Functions: Go 1.11 is now a supported language

#57
post #23

Earlier quoted context omitted.

Does this effort take you closer to the (supposed) goal of running arbitrary X86/ARM Linux binaries as cloud functions, or is that a completely different direction?

At the sandboxing level, it's already possible (you can upload any binary and fork/exec it from one of the supported languages). That's made possible by gVisor, which is the underlying sandbox technology used in GAE and GCF. As for making that an actual product, we're working on that, too. Sign up for the alpha here: g.co/serverlesscontainers Disclaimer: I work on GCP.

Nice!

Re: Cloud Functions: Go 1.11 is now a supported language

#58
post #34

Earlier quoted context omitted.

Hey Seth, I was wondering if you guys ever discussed the previous AWS vs GCP performance post that was on here a while back.

Do you have a link to this please?

https://news.ycombinator.com/item?id=18673541

Re: Cloud Functions: Go 1.11 is now a supported language

#60
post #55

One thing that is not super clear from the blog post, and which may be a surpsise to some, is that Cloud Functions will require you to upload your source code. The compilation happens not on your end but on Google servers. This is probably not a surprise for folks who have been using Python or Node for cloud functions, but it is something to think about. Other FaaS providers don't have this requirement, and just take…

Indeed. If you want to compile the binary yourself/don't want to upload source code, we have a serverless containers product currently available as an early preview (sign up at g.co/serverlesscontainers). This would allow you to compile your binary locally, write a simple Dockerfile and then build/deploy the resulting container.
Post reply on HN