Google I/O Google has announced a new version of Google App Engine – the "developer cloud" that lets you build applications atop the company's famously distributed infrastructure – offering an "experimental" runtime for its Go programming language.
The brainchild of three big-name Google engineers – Unix founding father Ken Thompson, fellow Unix developer Rob Pike, and Robert Griesemer, who helped build the Java HotSpot compiler – Go is a statically-typed, compiled language that offers built-in support for concurrency. But while offering the speed of a language like C, it's meant to "feel" like a dynamic language such as Python.
Previously, Google App Engine only allowed development in Python and Java. But with the Go runtime, apps will be compiled into native code. This, Google says, makes Go a good choice for App Engine apps that are more CPU-intensive.
As of Tuesday, the App Engine Go SDK is available for download, but you can't yet deploy Go apps on the live service. This will be an option "soon" for a small group of beta testers. You can sign up for the beta program here.
With the new App Engine release – version 1.5.0 – Google is also adding "Backends", which let you run applications that require long-running and high-memory processes. This, Google says, will allow custom search engines and report-generation apps onto the service. And the company has improved App Engine's "Task Queues", letting applications control how tasks are executed and share the results with other services via REST-based APIs.
In the second half of the year, Google said, App Engine will leave "preview status", offering a 99.95% uptime service-level agreement, operational and developer support, and offline billing. At that time, Google will also offer a new pricing structure.
Google App Engine is a "developer cloud" or "platform cloud" along the lines of Microsoft Azure, letting you build, host, and dynamically scale applications. Unlike an "infrastructure cloud" such as Amazon EC2, you do not have access to virtual server instances and other raw computing resources. ®