As part of its Google Cloud Platform lineup, Google has recently released its own version of hosted virtual machines to run large-scale compute workloads, à la Amazon’s EC2, in limited preview. It’s a funny move considering Google’s largely SaaS/PaaS strategy of providing products — not infrastructure, or utility IaaS-type computing. Yet, Google might have ulterior motives in mind, and if your organization has been a little reticent to move to on-demand services like App Engine in the past, you might just be playing into Google’s plans.
Google Compute Engine (GCE) boasts faster compute instance performance, the ability to split thousands of VMs, and lower TCO (total cost of ownership). Furthermore, according to need, users can scale pools of virtual machines up and down, while taking advantage of isolated workloads (your resources performance degradation due to external GCE users), persistent block devices for making standard I/O system calls with Linux device files, and full control over VM configuration.
Unfortunately, GCE only runs Ubuntu and CentOS at the moment with no clear indication that Google plans to include other Linux flavors. However, one can presume that they’ll stick exclusively to Linux-based operating systems after considering that Compute Engine is built on top of the same architecture that Google uses for its consumer and business services, which are well known to be rooted in Linus Torvald’s original open source kernel.
Google Compute Engine offers three types of encrypted storage: Ephemeral disk, a simple block device bound to the span in which a VM instance is run (once the VM is stopped, all data is lost); persistent disk, a network-connected storage device with high redundancy that is replicated across Google’s many data centers, with the added ability to create snapshots of your disks (for reasons surrounding backup/restore), aswell as the ability to mount numerous VMs so they read from a single device; and lastly, one can opt to use a Google Cloud Storage (see my post here).
In terms of networking configuration and tuning, Compute Engine provides methods to connect to each of your VMs, as well as to external Internet sources. One can even choose from using a static IP address, or what is known as an “ephemeral” IP address. I’m no networker, so I would guess to think that this is something like a dynamic IP address, if not the same thing. A simple firewall system is also available, which allows one to accomplish tasks like blocking packets from entering an instance, and setting up port rule connections. See the Google Compute Engine Developer’s Guide for more details on networking and firewalling.
For managing virtual machine instances, the GCE includes a (RESTful API) UI and command-line tool for making modest configurations and launching VMs. Furthermore, Google has expressed its intent to eventually open source its tools for customization, and indicated that it is already working with cloud management providers, like RightScale, to help broaden Compute Engine administration.
Although the Google Compute Engine might not have the flexibility that some of its competitors have already had for some time now, Google is making its intentions clear as to where it sees its Cloud Platform going. If nothing else Google might just be looking to host more customer data, by way of its storage service, Google Cloud Storage with a long-term goal of eventually enticing users to employ its on-demand platform services like Google App Engine and BigQuery. Given their existing infrastructure, GCE could be noted as only a moderate endeavor/investment/marketing tool aimed at acquiring users that they wouldn’t normally have. On the other side of the spectrum, the Google Compute Engine can serve your organization as a good waypoint toward an eventual SaaS/PaaS infrastructure-less kind of standard.
Sign up now for an invitation to the Google Compute Engine preview by going here.