Getting Started with Google Compute Engine – The Core Concepts

Hello World! Let me start by introducing myself. I am Janakiram (Jani), Cloud and DevOps enthusiast. I have experience in working on AWS, Azure and Google Cloud Platform.

I am excited to write for Cloud Academy.

What can you expect from me? I am passionate about sharing my learning and experience with others and my current interest happens to be Google Cloud Platform (GCP). If you want to get started with GCP, follow my posts. Occasionally, I will also write about other platforms. Thanks for reading and I hope you will enjoy my work!

Google Compute Engine (GCE) is gaining attention for its performance and innovative features. It is redefining the IaaS delivery model by solving key problems that customers face while dealing with other platforms. If you are a developer or an operations professional familiar with other cloud platforms like Amazon Web Services, Microsoft Azure or Rackspace, you will find GCE familiar. What I personally like about GCE is its simplicity. You deal with the same operations that you usually perform on other cloud platforms much faster and better performance.
If you want to learn Google Compute Engine, you need to understand the key components of it. They are 1) VMs, 2) Disks and, 3) Network.

Google Compute Engine Building Blocks
Google Compute Engine Building Blocks

Virtual Machines – VMs are workhorses of the IaaS platform. GCE’s VM instances are based on 64 bit x86 architecture supporting a variety of Linux distributions, FreeBSD and Microsoft Windows OS. VMs can be launched based on a specific machine type. Each machine type offers different capability depending on the number of vCPUs, memory and the supported disk I/O. Once you choose an OS and an appropriate machine type, you can launch a VM in one of the available regions of Google Cloud Platform. Each region represents specific geography where Google has an infrastructure facility. As on date, GCE VMs can be launched in US-Central region or Europe-West region. More regions will be available in the future. Typically, regions consist of at least two zones, which are isolated data centers within a region. They are connected by high bandwidth, low latency network to offer redundancy. It is recommended that you launch at least 2 VMs in each zone of a region for high availability.

Persistent Disks – The next important building block of GCE are persistent disks. This is a block storage device that offers persistence to the data stored within VMs. VM images are persistent disks with a root file system that is capable of booting an OS. When you launch a VM, GCE creates a new persistent disk from the chosen image and uses it to boot the VM. Additional disks can be attached to the VM, which can be formatted with a native file system like ext3, ext4 or NTFS. Each persistent disk can be up to 10TB in size, which is more than sufficient for even most complex workloads dealing with Big Data and analytics. Persistent disk’s IOPS are based on the size of the disk and the machine type chosen. Unlike other providers who force you to commit the read and write operations ahead of the creation of the disks, GCE’s persistent disks can deliver the IOPS consistently without the need for guesswork. The other important capability of persistent disks is that they can be attached to multiple VMs simultaneously in read-only mode. If a massive amount of static content needs to be made available to a fleet of VMs, this feature makes it easy.  Persistent disks can be periodically backed up through snapshots. A snapshot is a point-in-time replica of the disk. This can be used to duplicate the disks or as a reliable backup/restore mechanism.

Network – The third key building block of GCE is networking. It provides the basic connectivity among the VMs running within a project. Unlike other platforms, the network is a first class citizen in GCE. When you create a GCE project, Google gives you a default network that can be used for launching VMs. One of the pre-configured rules allows communication among the VMs that belong to the same network. You can configure a firewall for the network by selectively opening ports. This firewall is independent of the VMs since it is associated with the network. You can create additional networks within the project and configure routes to enable communication among the networks. This lets you create private networks that are secure since they are inaccessible through the public Internet. GCE’s network stack has a scalable load balancer that can evenly distribute the load across multiple VMs attached to it. It supports health checks that can stop routing the traffic to faulty VM instances. In summary, the network stack has a firewall, load balancer, and routes.

I plan to provide insights into each of these building blocks in future articles. Stay tuned!

Cloud Academy