Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
chrisbroadfoot
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
31.
▲
by
chrisbroadfoot
8y ago
No, there's no real magic. Each function runs in its own process (which is inside a gVisor sandbox). The toolchain is completely unmodified. Disclaimer: I work at GCP and worked on this product.
32.
▲
by
chrisbroadfoot
8y ago
There's a beta for Go 1.11 on App Engine... https://cloud.google.com/blog/products/application-developme... If you didn't mean Go, specifically, then the alpha I linked above might be up your alley.
33.
▲
by
chrisbroadfoot
8y ago
I don't think "Variable names in Go should be short rather than long" is an accurate description of best practice. The wiki should probably be changed. The second paragraph there is more in line with best practice... "Th
34.
▲
by
chrisbroadfoot
8y ago
You're right. If you look around in the logs for the deployment output, you'll see that both Cloud Functions and App Engine go through a container build step via Cloud Build.
35.
▲
by
chrisbroadfoot
8y ago
Meta comment: why did the HN title change to "Go 1.11 is now a supported language"? This post is specifically about Google Cloud Functions, not Go 1.11 in general (which is over 6 months old). edit: thanks, mods!
36.
▲
by
chrisbroadfoot
8y ago
No, it's not related to this. GOOS=linux and GOARCH=amd64 for GCF deployments. The sandboxing technology used is based on gVisor. We're working on arbitrary binary deployments, you can sign up for that here: g.co/serverlessco
37.
▲
by
chrisbroadfoot
8y ago
We use unpatched langauge toolchains/runtimes for GCF and second-generation GAE. That means a drastically reduced time to release for new language versions. (Maintaining patched runtimes was a significant burden to making new versions
38.
▲
by
chrisbroadfoot
8y ago
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.
39.
▲
by
chrisbroadfoot
8y ago
Use regular "go test" for unit testing. If you're using metadata inside your function (e.g., to extract an event ID) you can use metadata.NewContext to pass into your function while testing: https://godoc.org/
40.
▲
by
chrisbroadfoot
8y ago
If anything, I think the practical value of mathematics is generally undersold. It seems OK if some people tend to oversell it.
41.
▲
by
chrisbroadfoot
8y ago
Very easy to exec() into an arbitrary binary from these 2nd generation runtimes. (and, as thesandlord notes below, arbitrary containers is the idea behind g.co/serverlesscontainers) Disclaimer: I work on GCP.
42.
▲
by
chrisbroadfoot
8y ago
(GCP employee) Not true, as far as I know. Many (if not all) Google APIs require a GCP project for access via API key, service account credential, or mobile application.
43.
▲
by
chrisbroadfoot
8y ago
(GCP employee) Yes, totally. When I transferred to work on GCP, I was pleasantly surprised at how much eng/product cares about users/developers wants, needs, and feedback.
44.
▲
by
chrisbroadfoot
8y ago
Yes, with App Engine, you upload source code, and it's compiled for you remotely. For this newer runtime, it happens inside a Cloud Build invocation. For App Engine flexible, you can skip that build step and provide your own container,
45.
▲
by
chrisbroadfoot
8y ago
I don't, sorry. While the app was unhealthy, it was spinning up dozens of instances. While it was healthy (on standard), I recall it ran on less than a handful of instances. It currently runs on two fat flexible instances (GCE VM), but
46.
▲
by
chrisbroadfoot
8y ago
(GCP Gopher) Yes, you don't need to use the appengine context for anything (except to access the services at google.golang.org/appengine/...) You can use the standard net/http package to make HTTP requests, for example.
47.
▲
by
chrisbroadfoot
8y ago
(GAE Gopher) GOMAXPROCS is not 1 for this new runtime. As far as I know, it's an entirely vanilla Go runtime.
48.
▲
by
chrisbroadfoot
8y ago
You can set a $0 limit on your billing account, too.
49.
▲
by
chrisbroadfoot
8y ago
(GCP Gopher) We support custom images for the flexible runtime, but not for the standard runtime. If you're as keen for that as I am, sign up here: http://g.co/serverlesscontainers
50.
▲
by
chrisbroadfoot
8y ago
(GCP Gopher) Yes, it's beta. You're right - if you require an SLA, don't use beta products. As per https://cloud.google.com/terms/launch-stages : > Beta is the point at which we are ready to open a rel
51.
▲
by
chrisbroadfoot
8y ago
(GCP Gopher here) If you can run within the standard environment, I'd suggest you do (but you should check pricing, etc to see if it suits). Especially if you want 0-1 scaling. I migrated golang.org from standard to flexible a couple w
52.
▲
by
chrisbroadfoot
8y ago
Notable, though, that this new runtime better supports connecting to Postgres instances through the unix socket (/cloudsql/). (GCP Gopher)
53.
▲
by
chrisbroadfoot
8y ago
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
54.
▲
by
chrisbroadfoot
8y ago
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 en
55.
▲
by
chrisbroadfoot
8y ago
Yes.
56.
▲
by
chrisbroadfoot
9y ago
Charisma is a valuable skill as a software engineer. Have you ever needed to convince another team to implement a feature for you? Charisma helps greatly with that.
57.
▲
by
chrisbroadfoot
9y ago
It's rare you'd have headcount open at L4 but not L5. There's a significant jump between levels, but not to the extent you're saying. Leveling is a function of interviewer recommendations and hiring committee approving a
58.
▲
Kubernetes 1.7 with Tim Hockin [audio]
(gcppodcast.com)
53 points
by
chrisbroadfoot
9y ago
|
11 comments
59.
▲
by
chrisbroadfoot
10y ago
Shouldn't you use a different "type"? What you're putting in there is not JavaScript, it's something else. Use <script type="text/ejs">?
60.
▲
by
chrisbroadfoot
10y ago
It runs everywhere. Here's an example of it running in a kubernetes cluster, regardless of where it's hosted: https://github.com/GoogleCloudPlatform/endpoints-samples/tre... It's the "-k"
More ›