Live data from Hacker News

App Engine’s New Go 1.11 Runtime

blog.golang.org

51–60 of 101 posts

Re: App Engine’s New Go 1.11 Runtime

#51
post #37

Earlier quoted context omitted.

Any plans to support the cloud endpoints with the standard env? Wondering if the new runtime would be able to be embed that. That would be only reason for me not to switch from flex env.

(GAE PM) Cloud Endpoints currently runs on GAE Standard Gen 1 and GAE Flex. We're investigating a solution for GAE Standard Gen 2 (which go 1.11 is, along with python 3.7, node 8, etc.) and GCF.

Thanks for the clarification. Wasn’t aware that it works with Go on Standard Gen 1.

Any ETA for Gen 2 or alpha signup?

Re: App Engine’s New Go 1.11 Runtime

#52
post #2

I'm the tech lead and primary software engineer on the Go runtime. If you have any questions, please don't hesitate to ask! I'm super thrilled to announce that Go 1.11 is now available on App Engine! We now support... * vendoring * regular best-practice package structures * go modules * the regular Google Cloud client libraries: https://github.com/GoogleCloudPlatform/google-cloud-go This is a "second-generation" runt…

How long will the legacy App Engine APIs continue to work? Will they be removed before the runtime is GA? These new runtimes seem amazing (and fix a lot of problems), but we also lose a ton of functionality that made app engine so desirable (easy users auth, images api, built in email sending, search, cron, and others). It kind of feels like we've thrown the baby out with the bathwater.

(App Engine PM here) The App Engine APIs will be present in the Go 1.11 runtime when it goes GA and until it is turned down. We do not know exactly which future version of the runtime will stop supporting them.

We are working on Google Cloud standalone products to replace most missing features (e.g. Cloud Scheduler for cron jobs). Not all of them are ready yet.

App Engine APIs were great when there was no alternative (when GCP did not exist, or when App Engine could not use arbitrary packages), but at the same time, contributed to the "lock-in" of App Engine, which was one of the main criticism. We believe it is in the long term benefit of our users to use standalone Google Cloud or third party services, instead of replying on APIs only accessible in App Engine.

Re: App Engine’s New Go 1.11 Runtime

#53
post #2

I'm the tech lead and primary software engineer on the Go runtime. If you have any questions, please don't hesitate to ask! I'm super thrilled to announce that Go 1.11 is now available on App Engine! We now support... * vendoring * regular best-practice package structures * go modules * the regular Google Cloud client libraries: https://github.com/GoogleCloudPlatform/google-cloud-go This is a "second-generation" runt…

I just tried to use go111, but I get the following message:

>[7] Access Not Configured. Cloud Build has not been used in project before or it is disabled. Enable it by visiting " rel="nofollow">https://console.developers.google.com/apis/api/cloudbuild.go... then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

So go111 cannot be used without Cloud Build, for which I have to activate billing?

Re: App Engine’s New Go 1.11 Runtime

#57
post #2

I'm the tech lead and primary software engineer on the Go runtime. If you have any questions, please don't hesitate to ask! I'm super thrilled to announce that Go 1.11 is now available on App Engine! We now support... * vendoring * regular best-practice package structures * go modules * the regular Google Cloud client libraries: https://github.com/GoogleCloudPlatform/google-cloud-go This is a "second-generation" runt…

I thought Go was statically compiled....i.e. it doesn't have a separate runtime from the program.

Does anyone have any elucidation?

Re: App Engine’s New Go 1.11 Runtime

#58

Does this new classic+ environment now supersede the Flex environment? I’m curious because now it’s seems like there are 3 solutions. Although I really like the simplicity of this solution and the modernizing from the constraints of true classic mode.

Eh, not exactly supersede, but the runtimes are definitely slowly converging. It's a goal of mine to make them easy to switch between -- sometimes you'll want flex because you need a VM, most times you wont. But your code should be easily portable between them. With this release, they are nearly identical already.

So two of the solutions are flex and go1.11 on standard. Is the third solution the older runtime versions (eg 1.9 and earlier)? If so, then there's really just two solutions, since 1.11 replaces 1.9 on standard.

Re: App Engine’s New Go 1.11 Runtime

#59
post #20
post #18

Earlier quoted context omitted.

> I take it the datastore change is just an api change? (There isn't any data migration needed, is there?) Yup! > It looks like memcache is moving to a third-party service now instead of a built-in api. Is performance different? Does anyone have experience with this? I'm not sure about the performance impact. But I can tell you that we're working with the Cloud Memorystore team to have a better memcache story for the…

Both google.golang.org/appengine/datastore and cloud.google.com/go/datastore connect to the same data? Is there a list of incompatibilities somewhere? I remember seing some serialization differences between these two datastore libraries.

You remember right - I think you might be referring to this issue: https://groups.google.com/forum/#!topic/google-api-go-announ...

> the cloud datastore package will default to writing your nested structs as entity values, while the appengine datastore packages will only write your nested structs as flattened sets of attributes.

Other than that, there are no differences.

(GCP Gopher)

Re: App Engine’s New Go 1.11 Runtime

#60
post #2

I'm the tech lead and primary software engineer on the Go runtime. If you have any questions, please don't hesitate to ask! I'm super thrilled to announce that Go 1.11 is now available on App Engine! We now support... * vendoring * regular best-practice package structures * go modules * the regular Google Cloud client libraries: https://github.com/GoogleCloudPlatform/google-cloud-go This is a "second-generation" runt…

I thought Go was statically compiled....i.e. it doesn't have a separate runtime from the program. Does anyone have any elucidation?

Correct, Go's runtime is compiled into the program's binary.

However, there's still an environment needed to run that binary. For Go on App Engine, this includes the sandbox (backed by gVisor) and the operating system (Ubuntu).

We also tend to call everything in the toolchain the "runtime" - this includes the CLI for uploading and staging your app, and the builder used to compile your program. Not the strictest definition :)

(GCP Gopher)

Post reply on HN