Over the past years, Google has designed one of the most popular cloud computing services – Google Cloud Platform. Today, this infrastructure is used as a base for several high-speed global Google services, including Search, Maps, Gmail, YouTube.
GCP has a firm position among its competitors (Microsoft Azure, Amazon Web Services, IBM, etc.) and offers a full range of products and services. You get computing, storage, networking, big data, and machine learning options helping you to deliver complex products of any scale. Efficient management is required to maintain these capabilities, which you can achieve with the help of specific tools. One of them is Google Compute Engine that provides your cloud infrastructure with orchestration and virtualization.
Google Compute Engine (GCE)
Google Compute Engine is an IaaS that provides software engineers with virtual machines. The idea behind every IaaS is to support virtualized computing over the Internet. Implementation of this implies technical equipment such as servers, storage, and networking hardware, hypervisor or virtualization layer.
Google Compute Engine delivers virtual machine instances running in Google’s data centers and worldwide fiber network. Its tooling and workflow support enable scaling from single instances to global, load-balanced cloud computing. GCE provides possibilities for configuration, administration, and monitoring of the system and its components, providing you with complete and flexible control. With the system, you get a secure and stable computing infrastructure, with prior configurations of the platform components that you are going to use. Google’s VMs boot quickly, come with persistent disk storage and deliver smooth performance. You also can choose between different configurations to match the needs of your infrastructure.
Compute Engine connects various resources (instances, images, networks) that are in charge of different functions during deployment. An instance is created when a VM is launched and uses other properties as disk, network, and image. Every instance starts with a persistent disk that provides clear, consistent, and reliable storage. An image is a persistent disk with the operating system and root file system. User’s needs also impose if you are going to use an image with a persistent disk and use the latter as the root file system (in GCE’s case you can create your own or use default ones). A network explains how instances communicate with each other, other networks (address range and gateway address).
- Predefined and custom machine types;
- Persistent disks;
- Local SSD;
- Transparent maintenance;
- Global load balancing;
- Linux & Windows support;
- Batch processing;
- Compliance & security;
Google’s Virtual Machines
Compute Engine VMs run the public or custom images (serialized copy of the entire state of a computer system) for Linux and Windows. With the former you get pre-defined Google supported solution, with the latter you create it yourself, оn your own account you choose the number of virtual CPUs and the amount of memory for your VMs. With setting up a VM, you have to specify the operating system, zone, and the machine type of that instance. For managing an instance, you can use the Google Cloud Platform Console, CLI tool, and the REST API.
Initially, your virtual machine has a small root persistent disk with the operating system on it. However, once your system requires more storage space, you can add additional storage options to your instance.
You can activate up to five VPC networks, and each virtual machine will belong to one VPC network and communicate with each other through a local area network protocol. VMs use the Internet connection to communicate with any machine, virtual or physical, outside of its own network.
You can also deploy and manage Docker containers on VMs. You just need to provide a Docker image name for your instance and launch configurations. Compute Engine is in charge of everything else.
Google made the pricing model flexible and cost-efficient. It bills you only for the compute time you use, offer different types of discounts with no up-front commitment required. Google doesn’t ask you to establish long-term commitment meaning that you stop paying for services if you don’t need them anymore.
GCE has many pros such as fast I/O, lesser access time, robust data analytics and storage segment, smooth integration with other Google services, as well as a few cons: most components are based on proprietary technologies, choice of programming languages is limited, and it’s difficult to switch to another cloud platform after Google. Anyway, GCE offers scale, performance, and value that allows you to launch quickly large compute clusters on Google’s infrastructure.