Cloud World

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Tuesday, 10 December 2013

Using Google Compute Engine with open source software

Posted on 12:00 by Unknown
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. 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.



For programmatic access with popular programming languages, Google provides a general set of Client APIs for accessing Compute Engine, as well as other Google services. However, you may have code or applications written against another language API that makes updating to Google’s client APIs questionable. In that case, you may be interested in the following:


  • Ruby: The fog.io cloud API has had support for Compute Engine since version 1.11.0 back in May. 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.

  • Python: The Apache libcloud API project has been receiving solid support and updates for Compute Engine since July. 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.

  • Java: The jclouds cloud API does have Compute Engine support in “labs”. See the jclouds-labs-google repository for work being done to provide Compute Engine support and to elevate the lab into jclouds-core.




But perhaps you’re looking for a tool to automate configuration management of your Compute Engine instances. Below is a list of configuration management tools that provide that capability:


  • PuppetLab’s Puppet: Puppet has been around since 2005 and has evolved from supporting on-premise and hosted-datacenter support to also managing public cloud infrastructure. With the release of Puppet Enterprise 3.1 last month, Puppet’s Cloud Provisioner tool now supports Compute Engine. If you’re more comfortable with Puppet’s domain-specific-language manifest files, you can also use the gce_compute module available at the forge. Savvy puppet users will also be pleased to see that the next version of facter will have extensive support for Compute Engine. Puppet’s roots are open-source and it continues to have a thriving open-source community.

  • Opscode’s Chef: Chef is another system that’s been around for many years with a strong open-source background and active community. Chef is an automation platform with a modular design that has been extended to support Compute Engine through its knife-google plugin. The plugin gives you the power to create new Compute Engine instances, bootstrap them into your Chef environment, and easily manage those instances and their installed software. Chef’s ohai node attribute discovery tool has also been updated to support Compute Engine instances. Opscode provides a hosted solution that can make managing your Chef environment easier and more care-free.

  • SaltStack: Continuing the vein of configuration management, one of the newer systems gaining in popularity is Salt. One of Salt’s main design goals was to provide a highly scalable and fast data collection and execution framework for system administration. Recently, its cloud provisioner system was extended to support Compute Engine instances and includes documentation for getting started.

  • AnsibleWorks’ Ansible: Ansible is the newest configuration management solution on this list and it also embraces a unique design approach. Ansible 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. As of 1.4, announced recently, Ansible has wide support for Compute Engine features through an inventory plugin and set of new modules.




Branching out from pure configuration management systems, there are a number of other open-source projects that support Compute Engine.


  • CoreOS: CoreOS can best be described as a very thin Linux system that provides just enough “OS” to enable the use of Linux containers. CoreOS is combined with etcd, docker, and systemd to allow you to build cluster-like infrastructure on top of standard physical and virtual machines. Thank you to the fine folks at CoreOS for building an image to support Compute Engine.

  • Docker: Compute Engine v1 has opened the door for additional operating systems, as well as applications like Docker, which require kernel customizations. Docker is an application for running Linux containers and can now be run on your Compute Engine instances. To get started quickly with docker on Compute Engine, take a look at the installation instructions to get up and running with a few simple commands.

  • Packer: Packer is one of Mitchell Hashimoto’s projects and its goal is to create machine images across multiple platforms from a single configuration. Compute Engine support is under active development and once complete will allow you to easily create a custom Compute Engine image that you can use as the basis for spinning up your Compute Engine instances. Kelsey Hightower, a primary Packer contributor, is leading the effort for Compute Engine support and if you’d like to help, you can find his work over on github.

  • Vagrant: Vagrant, another of Mitchell’s projects, is primarily a development tool for easily describing and replicating work environments. It differs a bit from a pure configuration management solution because the primary use-case is to quickly spin up a work environment, make changes, and tear it down again when you’re done. Compute Engine support is enabled by a new custom “provider” and instances can be configured with Vagrant’s “provisioner” plugins. Many thanks to Mitchell for hosting a new vagrant-google repository to house the Compute Engine support for Vagrant.




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.



-Posted by Eric Johnson, Program Manager
Email ThisBlogThis!Share to XShare to Facebook
Posted in Compute Engine | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Bridging Mobile Backend as a Service to Enterprise Systems with Google App Engine and Kinvey
    The following post was contributed by Ivan Stoyanov , VP of Engineering for Kinvey, a mobile Backend as a Service provider and Google Cloud ...
  • Tutorial: Adding a cloud backend to your application with Android Studio
    Android Studio lets you easily add a cloud backend to your application, right from your IDE. A backend allows you to implement functionality...
  • 2013 Year in review: topping 100,000 requests-per-second
    2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing ...
  • Easy Performance Profiling with Appstats
    Since App Engine debuted 2 years ago, we’ve written extensively about best practices for writing scalable apps on App Engine. We make writ...
  • TweetDeck and Google App Engine: A Match Made in the Cloud
    I'm Reza and work in London, UK for a startup called TweetDeck . Our vision is to develop the best tools to manage and filter real time ...
  • Scaling with the Kindle Fire
    Today’s blog post comes to us from Greg Bayer of Pulse , a popular news reading application for iPhone, iPad and Android devices. Pulse has ...
  • Who's at Google I/O: Mojo Helpdesk
    This post is part of Who's at Google I/O , a series of guest blog posts written by developers who are appearing in the Developer Sandbox...
  • A Day in the Cloud, new articles on scaling, and fresh open source projects for App Engine
    The latest release of Python SDK 1.2.3, which introduced the Task Queue API and integrated support for Django 1.0, may have received a lot ...
  • SendGrid gives App Engine developers a simple way of sending transactional email
    Today’s guest post is from Adam DuVander, Developer Communications Director at SendGrid. SendGrid is a cloud-based email service that deliv...
  • Qubole helps you run Hadoop on Google Compute Engine
    This guest post comes form Praveen Seluka, Software Engineer at Qubole, a leading provider of Hadoop-as-a-service.  Qubole is a leading pr...

Categories

  • 1.1.2
  • agile
  • android
  • Announcements
  • api
  • app engine
  • appengine
  • batch
  • bicycle
  • bigquery
  • canoe
  • casestudy
  • cloud
  • Cloud Datastore
  • cloud endpoints
  • cloud sql
  • cloud storage
  • cloud-storage
  • community
  • Compute Engine
  • conferences
  • customer
  • datastore
  • delete
  • developer days
  • developer-insights
  • devfests
  • django
  • email
  • entity group
  • events
  • getting started
  • google
  • googlenew
  • gps
  • green
  • Guest Blog
  • hadoop
  • html5
  • index
  • io2010
  • IO2013
  • java
  • kaazing
  • location
  • mapreduce
  • norex
  • open source
  • partner
  • payment
  • paypal
  • pipeline
  • put
  • python
  • rental
  • research project
  • solutions
  • support
  • sustainability
  • taskqueue
  • technical
  • toolkit
  • twilio
  • video
  • websockets
  • workflows

Blog Archive

  • ▼  2013 (143)
    • ▼  December (33)
      • 2013 Year in review: topping 100,000 requests-per-...
      • 2013 Year in review: making Google Compute Engine ...
      • 2013 Year in review: bringing App Engine to the PH...
      • Now Get Programmatic Access to your Billing Data W...
      • 2013 year in review: making scalability easy with ...
      • 2013 Year in review: taking Google Cloud Platform ...
      • 2013 Year in review: pushing the limits of Big Data
      • 2013 Year in review: enabling native connections f...
      • 2013 Year in review: bringing Offline Disk Import ...
      • Best practices for App Engine: memcache and eventu...
      • 2013 Year in review: giving time back to developers
      • 2013 Year in review: bringing together mobile and ...
      • Go on App Engine: tools, tests, and concurrency
      • Qubole helps you run Hadoop on Google Compute Engine
      • Alert Logic security and compliance solutions for ...
      • Outfit 7’s Talking Friends built on Google App Eng...
      • You can now deliver any-screen streaming media usi...
      • Using Google Compute Engine with open source software
      • DataTorrent offers massive-scale, real-time stream...
      • DataStax Enterprise feels right at home in Google ...
      • Why We Deployed Zencoder on Google Cloud Platform
      • Scalr and Google Compute Engine
      • Cloud9 IDE on Google Compute Engine
      • Fishlabs architects upcoming game with Compute Eng...
      • An ode to Sharkon
      • SaltStack for Google Compute Engine
      • Google Compute Engine and App Engine give Evite fr...
      • SUSE Linux Enterprise Server Now Available on Goog...
      • Google Compute Engine is now Generally Available w...
      • The new Persistent Disk - faster, cheaper and more...
      • Red Hat and Google Compute Engine – Extending the ...
      • Google Compute Engine helps Mendelics diagnose gen...
      • CoolaData digs into the “why” of online consumer b...
    • ►  November (15)
    • ►  October (17)
    • ►  September (13)
    • ►  August (4)
    • ►  July (15)
    • ►  June (12)
    • ►  May (15)
    • ►  April (4)
    • ►  March (4)
    • ►  February (9)
    • ►  January (2)
  • ►  2012 (43)
    • ►  December (2)
    • ►  November (2)
    • ►  October (8)
    • ►  September (2)
    • ►  August (3)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  April (4)
    • ►  March (5)
    • ►  February (3)
    • ►  January (5)
  • ►  2011 (46)
    • ►  December (3)
    • ►  November (4)
    • ►  October (4)
    • ►  September (5)
    • ►  August (3)
    • ►  July (4)
    • ►  June (3)
    • ►  May (8)
    • ►  April (2)
    • ►  March (5)
    • ►  February (3)
    • ►  January (2)
  • ►  2010 (38)
    • ►  December (2)
    • ►  October (2)
    • ►  September (1)
    • ►  August (5)
    • ►  July (5)
    • ►  June (6)
    • ►  May (3)
    • ►  April (5)
    • ►  March (5)
    • ►  February (2)
    • ►  January (2)
  • ►  2009 (47)
    • ►  December (4)
    • ►  November (3)
    • ►  October (6)
    • ►  September (5)
    • ►  August (3)
    • ►  July (3)
    • ►  June (4)
    • ►  May (3)
    • ►  April (5)
    • ►  March (3)
    • ►  February (7)
    • ►  January (1)
  • ►  2008 (46)
    • ►  December (4)
    • ►  November (3)
    • ►  October (10)
    • ►  September (5)
    • ►  August (6)
    • ►  July (4)
    • ►  June (2)
    • ►  May (5)
    • ►  April (7)
Powered by Blogger.

About Me

Unknown
View my complete profile