What is Google Compute Engine?
Google Compute Engine (GCE) is an infrastructure as a service (IaaS) offering that allows clients to run workloads on Google's physical hardware.
Google Compute Engine provides a scalable number of virtual machines (VMs) to serve as large compute clusters for that purpose. GCE can be managed through a RESTful application program interface (API), command line interface or web console. Compute Engine pricing is on a pay-per-usage basis with a one minute minimum, charged on a per-second basis.
Google doesn't charge any upfront fees or require a time-period commitment for GCE. Google's cloud services compete with Microsoft's Azure and Amazon Web Services.
GCE provides administrators with VM, DNS server and load balancing capabilities. VMs are available in a number of CPU and RAM configurations and Linux distributions, including Debian and CentOS. Customers may use their own system images for custom VMs.
With GCE, administrators can select the Google Cloud region and zone where their data will be stored and used. GCE also offers tools for administrators to create advanced networks on the regional level.
What are the key features of Google Compute Engine?
GCE includes the following features:
- Cloud storage. Persistent disks feature high-performance block storage that lets users take snapshots and create new persistent disks from the snapshot.
- Confidential VMs. These VMs enable users to encrypt data while it's being processed without negatively affecting performance.
- Custom machine types. Users can customize VMs to suit business needs and optimize cost effectiveness.
- Global load balancing. This feature distributes workloads across multiple instance regions to improve performance, throughput and availability.
- GPU accelerators. Users can add GPUs to speed up computationally intensive workloads like virtual workstation applications and machine learning. Customers pay for GPU resources only while using them.
- Instance groups. These VM clusters run a single application and automatically manage updates.
- Live migration for VMs. VMs can migrate between host machines without rebooting. This feature enables applications to continue running during maintenance.
- Local solid-state drives. These local SSDs are always encrypted and physically attached to the host server. They have low latency compared to persistent disks.
- Operating system (OS) support. Users can run a number of different OSes, including Debian, CentOS, Red Hat Enterprise Linux, SUSE, Ubuntu and Windows Server. GCE also includes patch management for OSes.
- Payment. GCE offers per-second billing and committed use discounts with no upfront costs or instance lock-in.
- Predefined machine types. Predefined Compute Engine VM configurations range from small general-purpose virtual machine instances to large memory-optimized ones.
- Reservations. Users can reserve VM instances in a specific zone to ensure that a project has resources for a potential increase in demand. GCE also offers a placement policy that enables users to specify the location of underlying hardware instances.
- Sole-tenant nodes. These nodes are GCE servers dedicated to one tenant. They make it easier to deploy bring-your-own-license (BYOL) applications and allow the same machine types and VM configurations as standard compute instances.
- Spot VMs. These are affordable instance options used for fault-tolerant workloads and batch jobs. They help users cut costs, but they can be prone to service interruptions. Spot VMs come with the same capabilities and machine types as standard VMs.
- Virtual machine manager. GCE comes with the VM manager, which helps users manage OSes for large collections of VMs. GCE also provides right-sizing recommendations to help customers use resources efficiently.
Why do businesses use Google Compute Engine?
There are many reasons organizations use Google Compute Engine, including these three:
- Cost-effective. GCE is a cost-effective way to run large and compute-intensive
- High-performing and scalable. Both of these features make GCE good for businesses that need to process large quantities of data quickly.
- Flexible. GCE can be used for a variety of workloads, such as web applications, batch processing and machine learning.
Some real-world, compute-intensive workload scenarios where GCE is used include the following:
- VM migration. Google cloud platform, or GCP, customers can use GCE to migrate their applications to the cloud from physical servers.
- Genomics data processing. GCE provides the processing power to handle compute-intensive tasks like genomics data processing. With GCE integrated in their data center, users can process petabytes of data fast.
- BYOL. BYOL in Google Compute Engine lets customers run their Windows-based applications in sole tenant nodes or with a license-included image.
- MySQL applications. Users can run databases on GCE by integrating with MySQL, which acts as a managed relational database service.
Google Compute Engine vs. Google App Engine
Both of GCE and Google App Engine are used for deploying applications in the cloud. However, each works at a different point in the process.
Google Compute Engine is an IaaS tool, providing VMs that help organizations build and manage servers, OSes and network devices. Customers can manage infrastructure that Google hosts remotely.
Google App Engine is a platform as a service. PaaS tools provide developers with a hosted environment to build applications. They help automate application design, development, testing and deployment.
With App Engine, developers can deploy their code and the platform will automatically adjust to handle the traffic volume. Compute Engine users must manually adjust the infrastructure elements that host the application. This means they get more flexibility and, in some cases, reduced costs.
Google App Engine and Compute Engine can be used together as part of Google's cloud computing platform. Get more information about the integration of IaaS and PaaS offerings across providers to understand how the two work together.