Google App Engine for Go Now Generally Available
Google today announced the Google App Engine for Go is now generally available, giving developers the option to build Web apps with the eight-year-old open source programming language designed for large-scale computing.
After being deployed as an experimental service in 2011, the cloud-native language has been moved out of its beta stage. "App Engine for Go has been serving production Web and mobile applications for more than four years," a Google Groups post authored by Jason Buberel stated today. "In that time, the community has seen Go become the standard for cloud infrastructure technologies, including Docker and Kubernetes. App Engine for Go now serves millions of compute hours every month."
Google said the Go Platform-as-a-Service (PaaS) runtime environment -- App Engine -- lets developers deploy applications to Google's infrastructure and leverage the company's large-scale persistent storage and services. App Engine is also used for Python, Java and PHP programming.
App Engine lets developers build and run applications in a safe sandbox environment with a smaller set of libraries, the company said. "For instance, an app cannot write data to the local file system or make arbitrary network connections," Google's site states. "Instead, apps use scalable services provided by App Engine to store data and communicate over the Internet."
App Engine also provides for calling many services provided by Google, dealing with functionality such as data storage, process management and communications.
The Go runtime environment uses version 1.4 of the Go language, and the accompanying SDK includes the Go compiler and standard libraries, with no other outside dependencies.
Google also outlined some other special considerations. "The Go runtime environment for App Engine provides full support for goroutines, but not for parallel execution: goroutines are scheduled onto a single OS thread. This single-thread restriction may be lifted in future versions. Multiple requests may be handled concurrently by a given instance; that means that if one request is, say, waiting for a datastore API call, another request may be processed by the same instance."
Buberel, in today's Google Groups post, said, "This announcement won't change how you use App Engine today, but we have heard your feedback: We will continue to make significant investments in App Engine for Go, including an improved SDK and an upgrade to the Go 1.5 runtime. Our goal is to make App Engine the best deployment platform for Go programmers."
David Ramel is an editor and writer for Converge360.