Application Development

Go 1.11 is now available on App Engine

gae-go.png

Go developers have been using Google App Engine as a fully managed, scalable and pay-for-what-you-use solution to host websites and APIs since 2011. However, it came with some restrictions: You had to organize your code in a non-idiomatic way and had to use a special SDK to start your app, make network connections or store data.

Today, we are introducing the beta availability of the Go 1.11 runtime for the App Engine standard environment. In addition to updating to the latest version of the Go programming language, which was released just a few weeks ago, this lifts the restrictions of the previous Go App Engine standard runtime. With the Go 1.11 runtime, you can:

  • Organize your Go application the idiomatic way: add your dependencies in a vendor folder and use a main package

  • Import any Go packages

  • Use your favorite Go web framework, like gin

  • Use Google Cloud client libraries for Go

Adding support for Go modules

Go 1.11 introduced support for versioned modules as an experimental opt-in feature. A versioned module is defined by a go.mod file, which captures the module’s versioned dependencies. App Engine also supports these experimental Go modules: When you deploy your app from outside of your GOPATH, if a go.mod file is present, the dependencies will be automatically downloaded before building your application in the cloud.

Using your Go app on the App Engine standard environment

The App Engine standard environment brings some key benefits when you are deploying and running your cloud apps.

  • Automatic scaling, pay for what you use: When you deploy your Go application to the App Engine standard environment, your application is automatically scaled based on the incoming HTTP requests. App Engine is able to quickly scale it up, and later scale it down to zero when no instances are needed. This all happens without you having to worry about the underlying infrastructure, and only having to pay for what you use.

  • Strong security: On App Engine, you get an HTTPS URL out of the box, and you can generate a certificate for your own custom domain with a single click. But App Engine does even more when it comes to security: We always update to the latest Go 1.11 release containing security fixes; we automatically update the Ubuntu operating system for you; and we protect you against DDoS attacks.

  • GCP integration: You can store Go app data in Cloud Firestore or Cloud SQL with ease without having to worry about service accounts, use the OpenCensus Libraries for Go to trace your application, and automatically see your logs and errors in Stackdriver.

Try Go 1.11 now

App Engine is ready and waiting to host your Go apps:

  • Learn how to migrate from the Go 1.9 runtime to the new Go 1.11 runtime with this guide. (You can still use the legacy App Engine APIs with the Go 1.11 runtime.)

If you are a new user, you can try out Go 1.11 using the App Engine free tier—just follow our tutorial to deploy your app, or check out this short video:
Go 1.11
app_engine_gopher.png
App Engine gopher by Renee French (Creative Commons Attribution 3.0)