Google Cloud Platform for Data Center Professionals: Compute

This article discusses Google Cloud Platform's compute offerings and how they compare to traditional data center technologies. The article focuses on Google Compute Engine, Cloud Platform's Infrastructure-as-a-Service (IaaS) product.

Service model comparison

Typically, data centers use server virtualization, in which multiple virtual Unix/Linux or Windows servers can be run on a single physical machine. These virtual machines are created, provisioned, and managed through a software suite such as VMware vSphere or XenCenter.

Compute Engine uses this model as well, combining server virtualization and related management tools into an integrated suite. On Compute Engine, virtual machines are called virtual machine (VM) instances. You can create and manage these instances in several ways, including:


Compute Engine eliminates a great deal of the administrative overhead associated with virtual machine management. You no longer have to worry about provisioning physical server, network, or storage capacity, nor do you have to worry about setting up and configuring your physical network. On the software side of things, you no longer need to worry about installing and updating virtual management tools; handling automatic updates of virtual hypervisor software, server firmware, and related tools; or migrating your virtual machines during physical machine maintenance. All of these tasks are handled seamlessly, behind the scenes, by Google.

Capacity planning and resource provisioning

In traditional data centers, you typically spend cycles each quarter reviewing current resource requirements and forecasting future ones. You have to consider physical, logistical, and human-resource-related concerns such as rack space, cooling, electricity, bandwidth, cabling, procurement times, shipping times, and available engineers to actually rack and stack new gear. Beyond that, you have to actively manage the capacity and workload distributions so that resource-intensive jobs, such as Hadoop pipelines, don't interfere with services that must be highly available, such as web servers.

In contrast, when you use Compute Engine, you hand off the bulk of your capacity planning to Google. You can scale up and scale down your VM instances as needed. Because you pay for what you use on a per-second basis, you can optimize your costs without having to pay for excess capacity you don't need, or need only at peak traffic times. To help you save costs, the Cloud Console will even notify you if it detects that you have underutilized instances that can be resized or deleted.

In addition, when you create an instance, you are allocated the RAM and CPUs you specified for that instance. Your performance will not degrade due to other instances or services taking up additional resources on your instance's physical host machine.

Cloud Platform does require that you manage your quota, which specifies the number of resources you are allowed to consume on Cloud Platform. You can easily review and request additional quota in the Cloud Console. To help avoid hitting quota ceilings when using Cloud Platform's APIs, proactively request additional quota in advance, especially when you expect large increases. To manage your expenses, as well as to restrict people and processes from consuming too many resources, you can also request decreases to your quota.

Monthly uptime guarantees

Compute Engine provides a service level agreement (SLA) that provides a monthly uptime percentage of at least 99.95%, subject to certain limitations. For more details, see Google Compute Engine SLA.

Feature comparison

Basic configuration and management

Compute Engine provides the same basic functionality and flexibility you have come to expect from popular hypervisor services such as VMware ESXi, KVM, and Xen. As with these services, you can:

Machine images

As with other virtual machines, you instantiate Compute Engine VM instances from disk images. Compute Engine supports several different approaches:

Access and permissions

You can connect to your Compute Engine instances using SSH, RDP, or serial port. The Cloud Console provides a browser-based SSH terminal, and the gcloud command-line tool allows you to establish a connection through the terminal of your choice. If you choose to enable static external IPs for your instances, you can use traditional tools such as Windows Remote Desktop or ssh as well.

A VM instance can connect to Cloud Platform resources by using a service account. A service account is a special Google account that can be used by applications to access Google services programmatically. This account belongs to your application or a VM instance instead of to an individual end user. Your application uses the service account to call the API of a service, so that the users aren't directly involved.

Cloud Platform provides Identity and Access Management (IAM) for federated identity management and granular access management. For a discussion of IAM as it pertains to Compute Engine, see Identity and Access Management Roles. For a more general discussion about identity management on Cloud Platform, see the Management article.

Machine provisioning

You can declaratively manage the provisioning and configuration of your compute resources—including VM instances, disks, networking, and nearly all other resources within your Cloud Platform project—with Google Cloud Deployment Manager. Deployment Manager lets you use simple data markup to customize and automate your deployments. For configuration management and automation within your VM instances, you can use the same tools you're already using, such as Chef, Puppet, Packer, or Vagrant.

For a more complete discussion of resource provisioning on Cloud Platform, see the Management article.

Preemptible resources

For tasks that can be preempted and continued on a different host, Cloud Platform offers preemptible VMs. Preemptible VMs are exactly like regular VMs, but they can be preempted: that is, they can’t run for more than 24 hours, and Google can preempt the VM earlier if the capacity is needed for other purposes. Preemptible VMs can be up to 80% less expensive than standard VM instances, depending on the instance type you choose.


Compute Engine VM instances use persistent disk, or virtualized block storage, for boot and storage disk volumes. Persistent disk comes in standard (HDD) and SSD volume types, and you can dynamically provision up to 128 persistent disks depending on your VM's machine type. For more information on Compute Engine persistent disk, see the Storage article.


Compute Engine provides software-defined networking, in which you can configure your private and public networks on Compute Engine at the software level. For a discussion of how Cloud Platform networking compares to traditional data center networking, see the Networking article.

Migration and recovery

By default, Compute Engine enables live migration, in which your instances are automatically and seamlessly migrated when the physical hardware requires maintenance.

As with standard hypervisor suites, Compute Engine also allows you to take live snapshots of VM instances. You can use these snapshots to create new instances within a zone or move an instance to a different zone.

If your Compute Engine VM instance is terminated due to issues with the underlying physical host, the instance will recover automatically on a different host within the same zone. You can also elect to have your machines stay down by turning off automatic restart.


See Compute Engine pricing for full pricing details.

What's next?

Next: Storage on Cloud Platform