A Preemptible VM (PVM) is a Google Compute Engine (GCE) virtual machine (VM) instance that can be purchased for a steep discount as long as the customer accepts that the instance will terminate after 24 hours. The customer must also agree that Google can shut down the PVM should additional capacity be required to run other workloads. PVMs work best for testing, quick batch jobs and applications that are fault tolerant. A Preemptible VM can save customers up to 80% over a standard Compute Engine instance.
When to use a Preemptible VM
A Preemptible VM works best for applications or systems that distribute processes across multiple instances in a cluster. While a shutdown would be disruptive for common enterprise applications, such as databases, it’s hardly noticeable in distributed systems that run across clusters of machines and are designed to tolerate failures. Those customers most likely to use Preemptible VMs tend to work in Web development, Agile software development and emerging technology research and development.
How preemtible VMs work
Preemptible VM customers are notified by an Advanced Configuration and Power Interface (ACPI) 30 seconds before their service terminates. Google’s vast infrastructure and dynamic mix of workloads often means that capacity will almost instantaneously be freed up elsewhere, allowing the instance to be restarted manually. GCP documentation includes a sample shutdown script that shows customers to simulate the terminate and restart process and uploaded checkpoint files to Google Cloud Storage for workloads that requires state to be preserved from one run to the next. Customers must understand, however, that Google doesn’t guarantee availability and PVMs are explicitly excluded from Google Cloud Engine service level agreements (SLAs).
Preemptible VMs vs. AWS Spot Instances
Both Google PVMs and Amazon Spot Instances provide customers with cost savings and the service provider with a way to monetize unused capacity. However, Google PVMs are offered with fixed prices, while Spot Instances are offered through a dynamic pricing model based on capacity supply and demand. Another key difference between the two companies' offerings is that Google PVMs always terminate and must be restarted manually, while Amazon EC2 Spot Instances simply stop and can be automatically restarted when capacity within the customer’s price and time requirements becomes available.