Save big by temporarily suspending unneeded Compute Engine VMs
One of the best aspects of the cloud is the ability to purchase and use only what you need. This enables you to take advantage of modern and performant computing while fine tuning cost optimization.
With Suspend/Resume, Generally Available today, you have even more control over your Google Cloud resource consumption. Similar to closing the lid of your laptop, Suspending a Google Compute Engine VM will save the state of your instance to disk allowing you to pick up where you left off when you Resume it later. While your instance is in the SUSPENDED state, you no longer pay for cores or RAM, instead you only pay for the storage costs of your instance memory. Other VM running costs such as OS licensing may also be reduced.
How it works
Suspending an instance sends an ACPI S3 signal to the instance’s operating system. This results in 2 significant advantages compared to similar functionalities from other cloud providers.
First, this allows for broad compatibility with a wide selection of OS images without requiring you to use a cloud specific OS image or installing daemons. Undocummented and custom OS images that respond to the ACPI S3 signal may also work with Suspend. Feel free to try it out!
Secondly, storage is dynamically provisioned when Suspend is requested and is separate from the instance’s boot disk. This is in contrast to implementations in other clouds that require you to ensure that you have sufficient empty space in your boot disk to save the instance state which may increase the running costs of your VM. This also ensures that your suspended instance only consumes as much storage as it needs.
Use cases
Many Google Cloud users have already realized huge savings from Suspending their virtual desktops or developer environments when they are not in use. For example:
“Utilizing Compute Engine’s suspend and resume functionality has allowed BigCommerce to reduce operation costs of our Compute Engine-driven development environment. BigCommerce allows each engineer to customize their environment’s “working hours,” which triggers suspension at the end of each work day and resumption at the beginning of the next day. This has reduced our Virtual Machine Instance usage times from 168 hours a week to 60 hours a week per environment on average, enabling us to save thousands of dollars each month. We expect these cost-efficiency savings to only increase as our Engineering organization grows.”—Aaron Humerickhouse, Manager, Engineering at BigCommerce
Another use case is to accelerate horizontal scaling by Resuming suspended instances. While Compute Engine instances have very quick creation times, booting the operating system and loading applications may take longer than you would like when urgently trying to meet a demand spike. One way to address this issue is to initialize instances with the critical applications and Suspend them. When you Resume them later, they should be productive much more quickly than instances created from scratch.
Next steps
Learn more with Google’s Suspend/Resume documentation.