Google: Compute Engine Plays Nice With Open Source

By Todd R. Weiss  |  Posted 2013-12-24

Google: Compute Engine Plays Nice With Open Source

Google is working hard to make it clear to developers and corporate IT departments that its powerful Google Compute Engine platform ties in well with a wide range of open-source applications in the enterprise.

Google's latest educational effort was unveiled recently by Eric Johnson, program manager for Google Compute Engine, in a post on the Google Cloud Platform Blog.

"With the recent announcement that Google Compute Engine is now Generally Available, we thought you might also like to know about the many popular open-source solutions for interacting with Google Compute Engine," Johnson wrote. "And now that Compute Engine support is built right into the tool, it makes it that much easier for you to try it out in a known environment."

To work well with popular programming languages, "Google provides a general set of Client APIs for accessing Compute Engine, as well as other Google services," he wrote. "However, you may have code or applications written against another language API that makes updating to Google's client APIs questionable."

For such cases, open-source applications such as Ruby, Python and Java can be considered for use with Google Compute Engine, he wrote. With Ruby, the cloud API has had support for Compute Engine since version 1.11.0 in May, according to Johnson. "Take a look at the Compute Engine docs to get started with Compute Engine and fog. It primarily supports instance operations such as create, destroy and bootstrap."

With Python, the Apache libcloud API project "has been receiving solid support and updates for Compute Engine since July," he said. "It supports a broad set of Compute Engine features including instances, disks, networks/firewalls, and load-balancer support. The handy getting-started demo gives a good code example of how to use libcloud and Compute Engine."

When it comes to Java, however, the jclouds cloud API does have Compute Engine support in labs, Johnson wrote. "See the jclouds-labs-google repository for work being done to provide Compute Engine support and to elevate the lab into jclouds-core."

Sometimes, developers need tools to automate configuration management of their Compute Engine instances, he wrote. To do that, developers can choose from configuration management tools, including: PuppetLab's Puppet, which has been around since 2005 and has evolved from supporting on-premise and hosted-datacenter support to also managing public cloud infrastructure; Opscode's Chef, which is an automation platform with a modular design that has been extended to support Compute Engine through its knife-google plugin; SaltStack, a configuration management tool that provides a highly scalable and fast data collection and execution framework for system administration; and AnsibleWorks' Ansible, which does not utilize a centralized configuration server nor does it require any agents running on the managed instances. Ansible instead relies on SSH to remotely execute scripts on the managed nodes, according to Johnson.

Several other open-source projects also support Compute Engine, he wrote, including CoreOS, which is a very thin Linux system that provides just enough "OS" to enable the use of Linux containers;  Docker, which is an application for running Linux containers that can now be run on Compute Engine instances; Packer, which creates machine images across multiple platforms from a single configuration; and Vagrant, which is primarily a development tool for easily describing and replicating work environments, according to the post.

"Google is committed to helping support the open-source ecosystem and we welcome your help in improving and extending the tools listed above in addition to any tools you feel should be added to the list," Johnson wrote.

Google: Compute Engine Plays Nice With Open Source

Google has been active in recent months in helping developers find new capabilities and uses for Google Compute Engine. In August, Google expanded its developer tools in several of its key cloud products, including Google Compute Engine, Google Cloud Datastore and Google App Engine, as the search giant continues to add functions and robustness to the Google Cloud Platform. The new tools included Layer 3 load balancing for Google Compute Engine and improvements to the PHP runtime in the latest Google App Engine release.

In July, Google unveiled several new features in the Google Cloud Storage environment to make it easier for developers to manage, access and upload data into the cloud. The new capabilities included automatic deletion policies, regional buckets and faster uploads as part of a wide range of services.

In June, Google unveiled a new Cloud Playground environment where developers can quickly try out ideas on a whim, without having to commit to setting up a local development environment that's safe for testing coding experiments outside of the production infrastructure. The Cloud Playground is slated as a place where application developers can try out all kinds of things, from sample code to viewing how production APIs will behave, in a safe, controlled place without having to manage the testing environment, according to Google. The new Cloud Playground is presently limited to supporting Python 2.7 App Engine apps.

The Cloud Playground is an open-source project that includes mimic, which is a regular Python App Engine app that serves as a development server; and bliss, which is a trivial browser-based code editor that lets users edit code in the mimic virtual file system.

Earlier in June, Google opened its Google Maps Engine API to developers so they can build consumer and business applications that incorporate the features and flexibility of Google Maps. By using the Maps API, developers can now use Google's cloud infrastructure to add their data on top of a Google Map and share that custom mash-up with consumers, employees or other users. The maps can then be shared internally by companies or organizations or be published on the Web.

Google also created a new Mobile Backend Starter in 2013 that lets developers focus on building and selling their apps by automating the back end of apps development. The Mobile Backend Starter works with Google App Engine.

In January, Google announced that it was moving its Google Cloud Platform (GCP) over to the GitHub collaborative development environment to make it easier for software developers to contribute and continue the evolution of GCP. The GCP program has been growing since Google unveiled a new partner program in July 2012 to help business clients discover all of Google's available cloud services. GitHub is a rapidly growing collaborative software development platform for public and private code sharing and hosting.

Rocket Fuel