What is Google Compute Engine?
Compute Engine is a computing and hosting service that lets you create and run virtual machines on Google infrastructure. A virtual machine is like a PC but physically placed on Google. You can use it as a PC, but with some limitations and improvements at the same time.
Getting Started
Compute Engine can run public and private images like Linux or Windows Server. You can use any public images, provided by Google, or your own created or imported from your on-premise virtual machine.
In my description, I said that “A virtual machine is like a PC” because it is more simple for someone without any experience in Cloud to understand that a virtual machine is like a computer, you have in your own home or office, but it runs “virtual” in Google facilities.
You have some limitations, you can access a monitor or keyboard to see what is happening but Google provides you some good tools for debugging. On the other hand, you have a lot of improvements that a physical computer can’t do, like you can create almost unlimited amounts of equal virtual machines, same packages and configurations. There are more benefits to using virtual machines but we are going to discover them together in the next articles.
Instances or Virtual Machines?
Since, at least in the very beginning, most Cloud providers used OpenStack to offer public virtual machines and OpenStack uses the term “Instances” for the Virtual Machines. I don’t really know why, and frankly It doesn’t matter but the truth is most Cloud providers, even though they maybe are not using OpenStack anymore, still use the term “Instances” to describe a Virtual Machine.
Google Virtual Machines Characteristics
We are going to enumerate some Virtual Machine key characteristics
- Google Cloud Project: Any Virtual Machine needs to belong to a project. You can’t create a Virtual Machine if you didn’t create a project before. You can add many Virtual Machines or any Google Compute Engine resource to a project.
- Google Cloud Storage: We talked before about public and private images but we didn’t explain about it. An Image, public or private, it’s basically a snapshot of a virtual hard drive. It’s like a computer hard drive clone but in a file, not in another drive. Thus, we can use and re-use this snapshot as many times as we need to create or re-create new Virtual machines. This will create the new bootable hard drive (We clone the snapshot into a virtual hard drive).
- Google Networking: Each network interface of a Virtual Machine is associated with a subnet of a unique VPC network. Every VM is part of a VPC network. VPC networks provide connectivity for your Virtual Machine to other Google Cloud products and to the internet.
- Google Containers: When creating a Virtual Machine or an instance template, you can provide a Docker image name and launch configuration. Compute Engine will take care of the rest including supplying an up-to-date Container-Optimized OS image with Docker installed and launching your container when the VM starts up.