3 ms·
Go on App Engine: tools, tests, and concurrency
- jbarham 13y agoFWIW I developed TurboHDR (https://www.turbohdr.com/ https://www.turbohdr.com/) in Go on App Engine. I've found App Engine a very productive dev environment as it provides a lot of features out of the box (e.g., image processing, background tasks, email etc.) that can be a pain to integrate into frameworks like Django. And developing on App Engine in Go is especially nice as the performance is excellent, and since Go is a statically typed language, I can be more confident about doing sweeping refactoring of my code knowing that the compiler will catch any trivial type errors.
- recuter 13y ago"It is now possible to configure the number of concurrent requests served by each of your app's dynamic instances.. You can configure Go instances to serve up to a maximum of 500 concurrent requests. This setting allows your instances to handle more simultaneous requests by taking advantage of Go's efficient handling of concurrency, which should yield better instance utilization and ultimately fewer billable instance hours." AppEngine may or may not decide to spin up another instance before your maximum concurrent requests is reached - but hey, pretty rad that you can do this now. Few hundred requests per instance is not bad at all and this makes the auto scaling less of a black box.
- lstamour 13y agoI tried writing a Go app for App Engine weeks ago and was completely lost in the old toolset. Very glad to see this aligns the SDK with my post-1.0 expectations! (I often find Go a bit easier to understand given blog posts.) I still wish it had some kind of tie-in to GOROOT and GOPATH but you can't win everything. :)
- BarkMore 13y agoThe App Engine tools use GOPATH.
- lstamour 13y agoAh ... I see I was out of date: http://blog.golang.org/the-app-engine-sdk-and-workspaces-gopath http://blog.golang.org/the-app-engine-sdk-and-workspaces-gop... Also in the above link: "[W]ouldn't it be nice if you could write a program that is both a stand-alone web server and an App Engine app? By using build constraints, you can."
- stephanos2k 13y ago"It is now possible to configure the number of concurrent requests served by each of your app's dynamic instances ..." Wow! This is huge! I wonder if other platforms (Java, PHP, Python) will also get this. Go is wickedly fast, starting up and instance as well as serving a request. And now that an instance scales to much more concurrent requests it even scales fantastically. Awesome. EDIT I just saw in the documentation that Java can do this as well! Our main business runs Java on App Engine and I never heard about this ... odd.