Google Cloud now lets you suspend and resume VMs

Google Cloud today launched its Suspend/Resume feature for virtual machines into general availability. Before it launched this feature as an alpha a couple of years ago, the only option developers had were to stop and start instances. With Suspend/Resume, the experience is more akin to closing and opening the lid on your laptop, Google argues.

While the instance is suspended, you don’t pay for the cores and RAM it would typically use. Instead, you only pay for the storage cost of the instance memory. OS licensing may also be reduced, Google noted.

Other clouds offer similar features, though Google argues that because it sends a standard ACPI S3 signal — that’s the same signal your operating system sends to your desktop or laptop to put it into its sleep state and suspend to RAM — its solution is compatible with a wider range of OS images. Indeed, it encourages developers to try it out with undocumented custom OS images, since they may just work out of the box, too.

Google also argues that its solution is different because storage for the image is dynamically provisioned when a VM is suspended and independent of the boot disk. This means you don’t have to worry about running out of space on the boot disk and the suspended instance consumes less storage. While it is suspended, the instance’s IP address remains in place and once the instance is resumed, the memory is simply moved back from storage to the instance memory and the cycle continues.

You can only suspend an image for up to 60 days, though. After that, it’s automatically terminated. It’s worth noting that Suspend/Resume also doesn’t work for GPU instances, instances with more than 120 GB of memory, E2 instances and Confidential VMs. Preemptible instances can be suspended, but there is a risk that they will be terminated during the suspension process.

But the advantage here is not just cost savings. A system like this also means you can keep a few instances on standby for quick horizontal scaling when needed. Provisioning a new VM can take a while, after all. If that’s your use case, going serverless may be the way to go in the future, but that’s a long-term project while a system like this can help in the meantime.

Some companies are also using Suspend/Resume for their developer environments, which often don’t need to run 24/7. “Utilizing Compute Engine’s suspend and resume functionality has allowed BigCommerce to reduce operating costs of our Compute Engine-driven development environment,” explained Aaron Humerickhouse, Manager, Engineering at BigCommerce. “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.”

Google Cloud gets capacity reservations, extends committed use discounts beyond CPUs

Google Cloud made two significant pricing announcements today. Those, you’ll surely be sad to hear, don’t involve the usual price drops for compute and storage. Instead, Googe Cloud today announced that it is extending its committed use discounts, which give you a significant discount when you commit to using a certain number of resources for one or three years, to GPUs, Cloud TPU Pods and local SSDs. In return for locking yourself into a long-term plan, you can get discounts of 55 percent off on-demand prices.

In addition, Google launching a capacity reservation system for Compute Engine that allows users to reserve resources in a specific zone for later use to ensure that they have guaranteed access to these resources when needed.

At first glance, capacity reservations may seem like a weird concept in the cloud. The promise of cloud computing, after all, is that you can just spin machines up and down at will — and never really have to think about availability.

So why launch a reservation system? “This is ideal for use cases like disaster recovery or peace of mind, so a customer knows that they have some extra resources, but also for retail events like Black Friday or Cyber Monday,” Google senior product manager Manish Dalwadi told me.

These users want to have absolute certainty that when they need the resources, they will be available to them. And while many of us think of the large clouds as having a virtually infinite amount of virtual machines available at any time, some machine types may occasionally only be available in a different availability zone, for example, that is not the same zone as where the rest of your compute resources are.

Users can create or delete reservations at any time and any existing discounts — including sustained use discounts and committed use discounts — will be applied automatically.

As for committed use discounts, it’s worth noting that Google always took a pretty flexible approach to this. Users don’t have to commit to using a specific machine type for three years, for example. Instead, they commit to using a specific number of CPU cores and memory, for example.

“What we heard from customers was that other commit models are just too inflexible and their utilization rates were very low, like 70, 60 percent utilization,” Google product director Paul Nash told me. “So one of our design goals with committed use discounts was to figure out how we could provide something that gives us the capacity planning signal that we need, provides the same amount of discounts that we want to pass on to customers, but do it in a way that customers actually feel like they are getting a great deal and so that they don’t have to hyper-manage these things in order to get the most out of them.”

Both the extended committed use discounts and the new capacity reservation system for Compute Engine resources are now live in the Google Cloud.