

Go on App Engine: tools, tests, and concurrency - enneff
http://blog.golang.org/appengine-dec2013

======
jbarham
FWIW 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
"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.

------
stephanos2k
"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.

------
lstamour
I 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
The App Engine tools use GOPATH.

~~~
lstamour
Ah ... I see I was out of date: [http://blog.golang.org/the-app-engine-sdk-
and-workspaces-gop...](http://blog.golang.org/the-app-engine-sdk-and-
workspaces-gopath)

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."

