Google Compute Engine
Google Compute Engine
|Original author(s)||Google, Inc.|
|Initial release||June 28, 2012|
|Type||Virtual Private Server|
Google Compute Engine (GCE) is the Infrastructure as a Service (IaaS) component of Google Cloud Platform which is built on the global infrastructure that runs Google’s search engine, Gmail, YouTube and other services. Google Compute Engine enables users to launch virtual machines (VMs) on demand. Each VM is charged for a minimum of 10 minutes followed by 1 minute increments, rounded up to the nearest minute. VMs can be launched from the standard images or custom images created by users. GCE users need to get authenticated based on OAuth 2.0 before launching the VMs. Google Compute Engine can be accessed via the Developer Console, RESTful API or Command Line Interface.
- 1 History
- 2 Google Compute Engine Unit (GCEU)
- 3 Persistent Disks
- 4 Images
- 5 Machine Types
- 6 Billing Model
- 7 Machine Type Comparison
- 8 Resources
- 9 Regions & Zones
- 10 Scope of Resources
- 11 Major Differences
- 12 See also
- 13 References
- 14 External links
Google announced Compute Engine on June 28, 2012 at Google I/O 2012 in a limited preview mode. In April 2013, GCE was made available to customers with Gold Support Package. On February 25, 2013, Google announced that RightScale was their first reseller. During Google I/O 2013, many features including sub-hour billing, shared-core instance types, larger persistent disks, enhanced SDN based networking capabilities and ISO 27001 certification got announced. GCE became available to everyone on May 15, 2013. Layer 3 load balancing came to GCE on August 7, 2013. Finally, on December 2, 2013, Google announced that GCE is generally available. It also expanded the OS support, enabled live migration of VMs, 16-core instances, faster persistent disks and lowered the price of standard instances.
At the Google Cloud Platform Live event on March 25, 2014, Urs Hölzle, Senior VP of technical infrastructure announced sustained usage discounts, support for Microsoft Windows Server 2008 R2, Cloud DNS and Cloud Deployment Manager. On May 28, 2014, Google announced optimizations for LXC containers along with dynamic scheduling of Docker containers across a fleet of VM instances.
Google Compute Engine Unit (GCEU)
Google compute engine unit (GCEU), which is pronounced as GQ, is an abstraction of compute resources. According to Google, 2.75 GCEUs represent the minimum power of one logical core (a hardware hyper-thread) based on the Sandy Bridge platform.
Every Google Compute Engine instance starts with a disk resource called persistent disk. Persistent disk provides the disk space for instances and contains the root filesystem from which the instance boots. Persistent disks can be used as raw block devices. By default, Google Compute Engine uses SCSI for attaching persistent disks. Persistent Disks provide straightforward, consistent and reliable storage at a consistent and reliable price, removing the need for a separate local ephemeral disk. Persistent disks need to be created before launching an instance. Once attached to an instance, they can be formatted with the native filesystem. A single persistent disk can be attached to multiple instances in read-only mode. Each persistent disk can be up to 10TB in size. Google Compute Engine encrypts the persistent disks with AES-128-CB, and this encryption is applied before the data leaves the virtual machine monitor and hits the disk. Encryption is always enabled and is transparent to Google Compute Engine users. The integrity of persistent disks is maintained via a HMAC scheme.
On June 18th, 2014, Google announced support for SSD persistent disks. These disks deliver up to 30 IOPS per GB which is 20x more write IOPS and 100x more read IOPS than the standard persistent disks.
For each dollar spent on disks in a month, standard persistent disk will offer 25GB of space, 7.5 read IOPS, and 37.5 write IOPS while SSD persistent disks will offer 3GB of space, 90 read IOPS, and 90 write IOPS Compared to standard persistent disks. Though SSD persistent disks are more expensive per GB and per MB/s of throughput, they are less expensive per IOPS.
An image is a persistent disk that contains the operating system and root file system that is necessary for starting an instance. An image must be selected while creating an instance or during the creation of a root persistent disk. By default, Google Compute Engine installs the root filesystem defined by the image on a root persistent disk. Google Compute Engine provides CentOS and Debian images as standard Linux images. Red Hat Enterprise Linux (RHEL) and Microsoft Windows Server 2008 R2 images are a part of the premier operating system images which are available for an additional fee. CoreOS, the lightweight Linux OS based on Chromium OS is also supported on Google Compute Engine.
Google Compute Engine uses KVM as the hypervisor, and supports guest images running Linux and Microsoft Windows which are used to launch virtual machines based on the 64 bit x86 architecture. VMs boot from a persistent disk that has a root filesystem. The number of virtual CPUs, amount of memory supported by the VM is dependent on the machine type selected.
All GCE machine types are charged a minimum of 10 minutes. If the instance is run for 2 minutes, it will be billed for 10 minutes of usage. After 10 minutes, instances are charged in 1 minute increments, rounded up to the nearest minute.
Sustained Use Discounts
Once an instance is run for over 25% of a billing cycle, the price starts dropping. This discount is applied automatically, with no sign-up or up-front commitment required. If an instance is used for 100% of the billing cycle, customers will get a 30% net discount over the on-demand prices.
Machine Type Comparison
The prices mentioned below are based on running standard Debian or CentOS Linux VMs. VMs running proprietary operating systems will be charged more.
|Machine Type||Machine Name||Virtual Cores||Memory||Cost per Hour (US hosted)||Cost per Hour (Europe hosted)|
Compute Engine connects various entities called resources that will be a part of the deployment. Each resource performs a different function. When a virtual machine instance is launched, an Instance resource is created that uses other resources, such as Disk resources, Network resources, Image resources, and so on. For example, a Disk resource functions as data storage for the virtual machine, similar to a physical hard drive, and a Network resource helps regulate traffic to and from the instances.
An image resource contains an operating system and root file system necessary for starting the instance. Google maintains and provides images that are ready-to-use or users can customize an image and use that as an image of choice for creating instances. Depending on the needs, users can also apply an image to a persistent disk and use the persistent disk as the root file system.
An instance's machine type determines the number of cores, the memory, and the I/O operations supported by the instance.
Persistent disks are independent of the virtual machines that outlive an instance's lifespan. All information stored on the persistent disks is encrypted before being written to physical media, and the keys are tightly controlled by Google.
Persistent disk snapshots lets the users copy data from existing persistent disk and apply them to new persistent disks. This is especially useful for creating backups of the persistent disk data in cases of unexpected failures and zone maintenance events.
A Google Compute Engine instance is a virtual machine running on a Linux or Microsoft Windows configuration. Users can choose to modify the instances including customizing the hardware, OS, disk, and other configuration options.
A network defines the address range and gateway address of all instances connected to it. It defines how instances communicate with each other, with other networks, and with the outside world. Each instance belongs to a single network and any communication between instances in different networks must be through a public IP address.
When an instance is created, an ephemeral external IP address is automatically assigned to the instance by default. This address is attached to the instance for the life of the instance and is released once the instance has been terminated. GCE also provides mechanism to reserve and attach static IPs to the VMs. An ephemeral IP address can be promoted to a static IP address.
A firewall resource contains one or more rules that permit connections into instances. Every firewall resource is associated with one and only one network. It is not possible to associate one firewall with multiple networks. No communication is allowed into an instance unless a firewall resource permits the network traffic, even between instances on the same network.
Google Compute Engine offers a routing table to manage how traffic destined for a certain IP range should be routed. Similar to a physical router in the local area network, all outbound traffic is compared to the routes table are appropriately forwarded if the outbound packet matches any rules in the routes table.
Regions & Zones
Google Cloud Platform resources are hosted in multiple locations world-wide. These locations are composed of regions and zones within those locations. Putting resources in different zones in a region provides isolation for many types of infrastructure, hardware, and software failures. Putting resources in different regions provides an even higher degree of failure independence.
A region refers to a geographic location of Google's infrastructure facility. Users can choose to deploy their resources in one of the available regions based on their requirement. As of June 1, 2014, Google Compute Engine is available in central US region, Western Europe and Asia East region.
A zone is an isolated location within a region. Zones have high-bandwidth, low-latency network connections to other zones in the same region. In order to deploy fault-tolerant applications that have high availability, Google recommends deploying applications across multiple zones in a region. This helps protect against unexpected failures of components, up to and including a single zone. As of August 5th, 2014, there are eight zones - three each in central US region and Asia East region and two zones in Western Europe region.
Scope of Resources
All resources within GCE belong to the global, regional, or zonal plane. Global resources are accessible from all the regions and zones. For example, images are a global resource so users can launch a VM in any region based on a global image. But an address is a regional resource that is available only to the instances launched in one of the zones within the same region. Instances are launched in a specific zone that requires the zone specification as a part of all requests made to that instance.
The table below summarises the scope of GCE resources
Billing & Pricing Model
Unlike other vendors, Google charges the VMs for a minimum of 10 minutes. At the end of 10th minute, instances are charged in 1-minute increments, rounded up to the nearest minute. Sustained usage based pricing will credit the discounts to the customers based on the monthly utilisation. Users need not pay a commitment fee upfront to get discounts on the regular, on-demand pricing.
Compute Engine VMs boot within 30 seconds  which is considered to be 4-10x faster than the competition.
Global Scope for Images & Snapshots
Images and disk snapshots belong to the global scope which means they are implicitly available across all the regions and zones of Google Cloud Platform. This avoids the need for exporting and importing images and snapshots between regions.
During the scheduled maintenance of Google data center, Compute Engine can automatically migrate the VMs from one host to the other without involving any action from the users. This delivers better uptime to applications.
- Amazon Elastic Compute Cloud (EC2)
- Microsoft Azure
- Rackspace Cloud
- Barb Darrow (February 25, 2013). "Exclusive: RightScale is first to resell, support Google Compute Engine". Gigaom blog. Retrieved July 5, 2013.
- Google (June 10, 2014). "Containers on Google Cloud Platform". Google Compute Engine documentation. Retrieved June 10, 2014.
- MSV, Janakiram. "Ten Features that make Google Compute Engine (GCE) better than AWS". Blog. YourStory. Retrieved 6 April 2014.
- Buttler, Brandon. "http://www.networkworld.com/news/2013/051513-google-cloud-billing-269813.html". NetworkWorld. Retrieved 6 April 2014.
- Joneja, Navneet. "Introducing Sustained Use Discounts - Automatically pay less for sustained workloads on Compute Engine". Google Cloud Blog. Google. Retrieved 6 April 2014.
- Babcock, Charles (2014-03-28). "Google Wins In Amazon Cloud Price Battle". InformationWeek. Retrieved 6 April 2014.
- Staddill, Sebastian. "By the numbers: How Google Compute Engine stacks up to Amazon EC2". Gigaom. Gigaom. Retrieved 6 April 2014.
- Stadill, Sebastian. "Scalr Cloud Benchmarks". Scalr Cloud Benchmarks. Scalr. Retrieved 6 April 2014.
- "Persistent Disk Pricing". Google Compute Engine Documentation. Google. Retrieved 6 April 2014.
- "Global Resources". Google Compute Engine Documentation. Google. Retrieved 6 April 2014.
- Adler, Brian. "Google Compute Engine Live Migration Passes the Test". RightScale Blog. RightScale. Retrieved 6 April 2014.
- Leong, Lydia. "Google Compute Engine and live migration". Blog.
|Wikimedia Commons has media related to Google Compute Engine.|