At RightScale Compute last month, Evan Anderson, a technical lead on the Google Compute Engine (GCE) team, gave an introduction to the Google Cloud Platform, the company's flagship cloud computing offering, and talked about how the RightScale cloud management platform complements GCE's functionality.
Anderson focused on two of the core components of Google Cloud Platform: Compute and Storage. The Compute component includes GCE, which is an IaaS platform, and App Engine, a platform for developing and hosting web applications. The Storage offering includes Cloud Storage and Cloud SQL.
GCE in particular is designed to run any application on Google's infrastructure. It offers scalable processing and storage and fast networking. While it's still officially in beta, Google itself uses GCE for dozens of projects internally. However, because it's in beta, Google schedules maintenance windows of up to two weeks every 20 weeks, one zone at a time. When you use the recommended multi-zone architecture, RightScale makes it easy to migrate your servers between zones when necessary.
Everything in GCE is built atop the same JSON REST API. You can access the API from a command-line tool called gcutil, several GUIs (including ones from both Google and RightScale), and libraries for 10 different languages.
The virtual machines that GCE uses offer one, two, four, or eight CPUs, and three available memory sizes: standard (3.75GB), highcpu (0.9GB), and highmem (6.5GB). Unlike Google App Engine, the VMs are not locked down - customers have root access to their VMs. Internet connectivity uses Google's fat pipes, with built-in firewalling. Every project (a project comprises VMs and their associated objects) gets its own private network with internal DNS naming so that you can use SSH to connect to named machines. After you have authenticated to Google once via SSH, you should never need to supply a password again to access a guest OS.
GCE offers three storage options. Persistent disk is triply replicated in the same zones that your virtual machines are in and remains in place even when the VMs themselves are not running. You can use local disk as scratch space. Finally, cloud storage is a blobstore (or object store, or key-value store) that you can share with the world. It can store any amount up to terabytes of data. In addition, since GCE has Internet connectivity, you can connect to any storage resources located anywhere.
GCE lets you create a persistent disk from a stored disk image, and you can add persistent disks to and remove them from a running VM. You can launch a VM from a persistent root disk. You can also take snapshots of existing persistent disks and restore them across zones and regions, which can work well with GCE's ability to attach a single read-only disk to multiple VMs.
Each VM is isolated, from every other, and Anderson says isolation between workloads is key to GCE's predictable performance. If you use scratch storage, your spindles are dedicated to your use alone. In addition, all data is encrypted at rest. Speaking of security, service accounts give you frictionless OAuth 2.0 access to authenticate from GCE VMs or App Engine apps to other Google APIs.
And speaking of predictable performance, Anderson says GCE lets you hot-add and hot-remove external IP addresses from running VMs and move them across zones, which can be helpful if a machine with a static IP address starts having problems.
After outlining all the features of Google Cloud Platform, Anderson offered a demo during which he started 200 VMs via the Quick Start UI, an App Engine app, in a minute and 37 seconds.
He also noted that when MapR broke the Terasort benchmark record last year, it did so by spinning up a thousand four-core GCE VMs, which it could do in a matter of minutes. By contrast, the old record-holder took months to build a dedicated cluster to run the benchmark.
Cloud Storage complements the Compute component of the Google Cloud Platform, and serves as the glue between all Google Cloud Services. Cloud Storage is an HTTP service that serves data directly over HTTP. It has strong read-after-write consistency - no waiting for the data to be replicated. It offers streaming uploads and resumable transfers of objects up to terabytes in size. It serves static data directly via HTTP. It supports two APIs - the same JSON and OAuth 2.0 API GCE uses, and a second that's compatible with other cloud storage providers such as Eucalyptus and AWS S3 that use XML. Cloud Storage also lets you use signed URLs to delegate access to storage to non-authenticated users.
Behind the scenes, Google replicates Cloud Storage to data centers spanning multiple geographically diverse locations, and makes it accessible via Google's worldwide network. All hardware is fault-tolerant, and the platform itself can scale up or down to meet varying needs.
Get a Fast Track to Google Compute Engine
GCE generated a lot of interest at RightScale Compute - Anderson's session was standing room only. If you're a RightScale customer, GCE is available to you today. To take advantage of RightScale dynamic configuration to fully automate provisioning, operations, and disaster recovery on GCE so you can focus on developing your applications, sign up for a RightScale free trial.