Google offers sustained use discounts which are automatic discounts that you get for running specific Compute Engine resources a significant portion of the billing month. Sustained use discounts apply to the following resources:
- The vCPUs and memory for predefined machine types
- The vCPUs and memory for custom machine types
- The vCPUs and memory for sole-tenant nodes
- The 10% premium cost for sole-tenant nodes, even if the vCPUs and memory in those nodes are covered by committed use discounts
- GPU devices
For example, when you run one of these resources for more than 25% of a month, Compute Engine automatically gives you a discount for every incremental minute you use for that instance. The discount increases with usage and you can get up to a 30% net discount for instances that run the entire month.
Sustained use discounts are applied automatically to usage within a project separately for each region, so there is no action required on your part to enable these discounts.
Sustained use discounts automatically apply to VMs created by both Google Kubernetes Engine and Google Compute Engine. Sustained use discounts do not apply to VMs created using App Engine Flexible Environment and Google Cloud Dataflow.
Sustained use discounts at different usage levels
To take advantage of the full 30% discount, create your VM instances on the first day of the month. Discounts reset at the beginning of each month.
The table below describes the discount you get at each usage level of a VM instance. These discounts apply for all machine types, but do not apply to preemptible instances.
|Usage Level (% of month)||% at which incremental is charged||Example incremental rate (USD/hour) for an n1-standard-1 instance|
|0%-25%||100% of base rate||$0.0475|
|25%-50%||80% of base rate||$0.0380|
|50%-75%||60% of base rate||$0.0285|
|75%-100%||40% of base rate||$0.0190|
Sustained use discounts are applied on incremental use after you reach certain usage thresholds. This means that you pay only for the number of minutes that you use an instance, and Compute Engine automatically gives you the best price. There’s no reason to run an instance for longer than you need it.
The following graph demonstrates how your effective discount increases with use.
For example, if you use a virtual machine for 50% of the month, you get an effective discount of 10%. If you use it for 75% of the month, you get an effective discount of 20%. If you use it for 100% of the month, you get an effective discount of 30%. You can also use the Google Cloud Pricing Calculator to estimate your sustained use discount for any arbitrary workload.
Calculating sustained use discounts
Compute Engine calculates sustained use discounts based on vCPU and memory usage across each region and separately for each machine type. Discounts are applied as described in the sustained usage discount table. For sole-tenant nodes, sustained use discounts apply to the 10% sole-tenant premium costs as well as the base price for the vCPU and memory resources that your nodes occupy.
Sustained use discounts are calculated separately for each of the following categories:
- Predefined vCPUs and memory, which are used in
n1-highmemmachine types as well as sole-tenant nodes.
- Custom vCPUs and memory, which are used in custom machine types that allow you to select a specific number of vCPUs and memory.
- Memory-optimized vCPUs and memory, which are
n1-ultramemmachine types that have preset number of vCPUs and a high ratio of memory for each vCPU.
- Shared-core machine types, which use partial vCPUs and are cost-effective for running small, non-resource intensive applications. Shared-core machine types are still billed as a single unit rather than as separate vCPU and memory resources.
Consider a scenario where you have two instances or sole-tenant nodes in the same region that have different machine types and run at different times of the month. Compute Engine breaks down the number of vCPUs and amount of memory used across all instances that use predefined machine types and combines the resources to qualify for the largest sustained usage discounts possible.
Assume you run the following two instances in the
us-central1 region during
- For the first half of the month, you run an
n1-standard-4instance with 4 vCPUs and 15 GB of memory
- For the second half of the month, you run a larger
n1-standard-16instance with 16 vCPUs and 60 GB of memory
In this scenario, Compute Engine reorganizes these machine types into individual vCPU and memory resources and combines their usage to create the following resources:
- 4 vCPUs for a full month
- 12 vCPUs for half of the month
- 15 GB of memory for a full month
- 45 GB of memory for half of the month
For example, you can see how the sustained use discounts apply to the vCPUs for this scenario:
The monthly bill for these resources would be calculated using the following formulas:
(4 vCPUs x $0.031611 x 730 hours) x 0.7 for the 30% full-month discount = $64.612884
(12 vCPUs x $0.031611 x 365 hours) x 0.9 for the 10% half-month discount = $124.610562
(15 GB x $0.004237 x 730 hours) x 0.7 for the 30% full-month discount = $32.476605
(45 GB x $0.004237 x 365 hours) x 0.9 for the 10% half-month discount = $62.6334525The total monthly cost of the combined resources is $284.3335035.
Compare this total to the previous way that sustained use discounts would have been calculated for these same predefined machine types. For example, you can see how the vCPUs are billed when they are inferred by machine type rather than combined by resource types:
(1 n1-standard-4 machine x $0.1900 x 365 hours) x 0.9 for the 10% half-month discount = $62.415
(1 n1-standard-16 machine x $0.7600 x 365 hours) x 0.9 for the 10% half-month discount = $249.66The two instances are not inferred because they are different machine types, so their total monthly cost is $312.075. With the new pricing changes, you save an additional $27.7414965 in this usage scenario. This same process applies separately to the resources for custom machine types.
Sustained use discounts for GPUs
For GPU devices, Compute Engine calculates sustained use discounts based on the number of a GPU model that you have attached to running VM instances during the month. You can receive sustained use discounts only on GPUs of the same model. Sustained use discounts for GPUs are calculated separately from instance machine type, vCPU, and memory discounts.
For example, consider a scenario where you have two instances with different numbers of GPUs and run at different non-overlapping times of the month. Compute Engine breaks down the number of GPUs used across all instances and combines them to qualify for the biggest sustained usage discounts possible.
If you run one instance with 1 GPU for the first half of the month, and then run another instance with 4 GPUs for the second half of the month, Compute Engine calculates discounts for these GPUs as if you had used 1 GPU for a whole month and 3 remaining GPUs for half of the month. Compute Engine applies the following sustained use discounts:
- You would receive a 30% discount off the cost of using 1 GPU for a full month.
- You would receive a 10% discount off the cost of using the remaining 3 GPUs because you used each resource for half of the month.
Viewing sustained use discounts
Sustained use discounts will automatically appear on your bill at the end of the billing cycle. Sustained use discounts are a separate line item combining all discounts of all machine types on a per project basis.
On your bill you will see a line item of total sustained discounts for each project, and a line item for costs related to VM instances. You can view this discount in the Google Cloud Platform Console billing history.
Sustained use discounts and Always Free usage quotas
Google Cloud Platform offers Always Free Usage Limits that provide free use of one f1-micro instance equivalent to the number of total hours within the current month. This is enough to run one instance without interruption for the entire month. You cannot receive sustained use discounts for use of the Always Free instance.