The core capability provided by Google Compute Engine is an instance, also called a virtual machine (VM). An instance is a simulated computer, running in a partitioned environment on a real server in one of Google’s data centers. From the user’s point of view, an instance behaves like a dedicated physical computer, with its own operating system, storage devices, network adapters, and so on.
Virtualization is the process of mapping a virtual machine’s environment and resources onto services provided by real hardware. The software managing the virtualization service is called a hypervisor or virtual machine manager. There are many popular virtualization systems in use today. Google Compute Engine uses the Linux Kernel-based Virtual Machine (KVM) software.
The KVM hypervisor runs in a standard Linux environment, which means that virtualized and nonvirtualized workloads can run side by side on the same physical hardware. This eliminates the need to manage a separate pool of resources dedicated to the Compute Engine product—the same hardware and software stack used to serve Google search, Gmail, Maps, and other Google services can also provide Compute Engine virtual machines.
In this chapter, we’ll learn about Compute Engine instances and their attributes. Along the way, we’ll learn how to create, access, and delete instances via three different access modes:
The Developers Console Web UI
gcloud command-line tool
The Google Python client library