Announcing App Engine’s New Go 1.11 Runtime
16 Oct 2018
Tags: appengine

Eno Compton

Tyler Bui-Palsulich

* Background

[[https://cloud.google.com/appengine/][App Engine]] launched
[[https://blog.golang.org/go-and-google-app-engine][experimental support for Go]]
in 2011. In the subsequent years, the Go community has grown significantly and
has settled on idiomatic
patterns for cloud-based applications. Today, Google Cloud is
[[https://cloud.google.com/blog/products/application-development/go-1-11-is-now-available-on-app-engine][announcing a new Go 1.11 runtime]]
for the App Engine standard environment that provides all the
power of App Engine—things like paying only for what you use, automatic scaling,
and managed infrastructure—while supporting idiomatic Go.

Starting with Go 1.11, Go on App Engine has no limits on application structure,
supported packages, `context.Context` values, or HTTP clients. Write your Go
application however you prefer, add an `app.yaml` file, and your app is ready
to deploy on App Engine.
[[https://cloud.google.com/appengine/docs/standard/go111/specifying-dependencies][Specifying Dependencies]]
describes how the new runtime
supports [[https://golang.org/cmd/go/#hdr-Vendor_Directories][vendoring]] and
[[https://golang.org/doc/go1.11#modules][modules]] (experimental) for dependency
management.

Along with [[https://twitter.com/kelseyhightower/status/1035278586754813952][Cloud Functions support for Go]]
(more on that in a future post), App Engine provides a compelling way to run Go
code on Google Cloud Platform (GCP) with no concern for the underlying
infrastructure.

Let’s take a look at creating a small application for App Engine. For the
example here, we assume a `GOPATH`-based workflow, although Go modules have
[[https://cloud.google.com/appengine/docs/standard/go111/specifying-dependencies][experimental support]]
as well.

First, you create the application in your `GOPATH`:

.code appengine/main.go

The code contains an idiomatic setup for a small HTTP server that responds with
“Hello, 世界.” If you have previous App Engine experience, you’ll notice the
absence of any call to `appengine.Main()`, which is now entirely optional.
Furthermore, the application code is completely portable—there are no ties to
the infrastructure that your application is deployed on.

If you need to use external dependencies, you can add those dependencies to a
`vendor` directory or to a `go.mod` file, both of which the new runtime
supports.

With the application code complete, create an `app.yaml` file to specify
the runtime:

    runtime: go111

Finally, set your machine up with a Google Cloud Platform account:

- Create an account with [[GCP][https://cloud.google.com]].
- [[https://cloud.google.com/resource-manager/docs/creating-managing-projects][Create a project]].
- Install the [[https://cloud.google.com/sdk/][Cloud SDK]] on your system.

With all the setup complete, you can deploy using one command:

    gcloud app deploy

We think Go developers will find the new Go 1.11 runtime for App Engine an
exciting addition to the available options to run Go applications. There is a
[[https://cloud.google.com/free/][free tier]]. Check out the
[[https://cloud.google.com/appengine/docs/standard/go111/building-app/][getting started guide]]
or the
[[https://cloud.google.com/appengine/docs/standard/go111/go-differences][migration guide]]
and deploy an app to the new runtime today!