Join Joseph Lowery for an in-depth discussion in this video Understanding the inner workings of Compute Engine, part of Google Cloud Compute Engine Essential Training.
- The essence of a cloud, an actual floating-in-the-sky cloud, is a collection of miniscule water droplets growing, shrinking and moving in reaction to a variety of environmental factors. Just so, cloud computing is based on a virtualized environment capable of adapting on demand. Google Compute Engine is your key to creating and controlling the cloud your app needs. Google Compute Engine is in the category known as Infrastructure as a Service, or IaaS.
The infrastructure that Compute Engine uses is, of course, Google's own, which spans the world. There are three primary components to Compute Engine: Virtual Machines or VMs, the Network that connects these machines and Persistent Disks to handle data storage for the machines. Virtual Machines are, like the water droplets, the heart of Compute Engine. VMs are created on demand to handle computing tasks as needed.
They are capable of distributing the processing of the workload for faster calculations. VMs are specified on a per-project basis and fully configurable on a sliding scale. Processing power can range from 1 to 16 Virtual CPUs per Virtual Machine, while the amount of RAM assigned can go from micro at 0.6 GB to macro at 104 gigs. Because they exist in a virtualized environment, VMs scale automatically to handle an application's processing demands.
Each VM is considered an Instance resource and part of an Instance collection. An Instance resource relies on other resources, such as a Disk resource for storage, a Network resource for connectivity and an Image resource, as in disk image, not graphic image. In Compute Engine, all resources exist on a specific plane: global, regional or zonal. Virtual Machines are in the zonal plane.
Compute Engine Virtual Machines rely on the industrial-strength OAuth 2 for authentication, underlying the system's security. Once authenticated, you can access Virtual Machines in one of three ways: through the Compute Engine's point-and-click console, by code using their RESTful APIs or via the Command line tools installed with the Google Cloud SDK. What ties your VMs together and exposes it to the world? Well, the Network, of course.
And Google's Network is among the most extensive and respected there is. Both static and ephemeral IP addresses are available for your project. It's important to understand that your collection of VM instances are isolated from other VM collections for the security of all utilizing the Google Cloud Platform. Additional access is handled through easily configured firewalls. In terms of planes, Networks are considered a global resource and available to any other resource within a specific project.
The final primary component of Compute Engine are the Disks, often referred to as Persistent Disks. They are persistent as opposed to ephemeral, as with VM instances, and are used for permanent project data storage. Two types of Disks are available: Standard Hard Drives and Solid State Drives. All data written to disk is automatically encrypted for security, and Compute Engine ensures that your data is redundantly protected by automatic replication and backup.
There are no startup fees at all and it's primarily based on demand. Fees are based on the three primary components I've outlined, VMs, Networks and Disks. For Virtual Machines, depending on the combination of CPU and RAM you choose, the costs range from $0.012 to $1.18 per hour, currently. Network charges are, for the most part, included, and again, accessed as used.
Persistent Disks do invoke a monthly fee. Standard Disks are less expensive at $0.04 per GB per month, with SSDs priced at $.017 center per gig per month. There is a hefty discount for sustained use, so if you use it a lot, you can get up to 30% off. You've seen how powerful and flexible Compute Engine is by itself. Next, we'll explore how it integrates with the other components of the Google Cloud Platform.
- Integrating with Google Cloud products
- Setting up the Google Cloud SDK
- Creating a Compute Engine instance
- Authenticating users
- Working with Python and Compute Engine
- Managing resources
- Implementing network load balancing