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:

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, so there is no action required on your part to enable these discounts.

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.

Click to enlarge

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.

Sustained use discounts for predefined machine types

When Compute Engine calculates use for predefined machine types, equivalently provisioned machines that run non-concurrently are treated as inferred instances. This gives you the flexibility to start and stop instances freely and still receive the maximum sustained use discount that is available across all of your instances.

For example, if you run an n1-standard-1 instance for 75% of the month, your charges are calculated as follows:

  • The first 25% is charged at the full on-demand rate.
  • The next 25% is charged at a 20% discount off the on-demand rate.
  • The remaining 25% is charged at a 40% discount off the on-demand rate.

For this example, sustained use discounts resulted in a net discount of 20% for this instance. The table below demonstrates this example, based on US pricing:

Usage level (% of month) for an n1-standard-1 instance % of base rate usage charge Example rate (USD/hour) Calculated charges, assuming 30-day month
First 0-25% of usage 100% $0.0475 (base rate)
  • 30 days x .25 = 7.5 days
  • 7.5 days x 24 hours = 180 hours
  • 180 hours x $0.0475 USD/hour = $8.55
Usage between 25%-50% of the month 80% $0.0380
  • 180 hours x $0.0380 USD/hour = $6.84
Usage between 50%-75% of the month 60% $0.0285
  • 180 hours x $0.0285 USD/hour = $5.13

The total charge for this instance is $8.55 + $6.84 + $5.13 = $20.52.

This charge will appear on your bill at the end of the billing cycle. Without sustained use discounts, the same n1-standard-1 instance running for the same amount of time would cost 20% more:

  • 30 days per month x .75 = 22.5 days
  • 22.5 days x 24 hours per day = 540 hours
  • 540 hours x $0.0475/USD hour = $25.65

Understanding inferred instances

When computing sustained use discounts for predefined machine types, Compute Engine gives you the maximum available discount using inferred instances. An inferred instance combines multiple, non-overlapping instances in the same zone into a single instance for billing. With inferred usage, you are more likely to qualify for sustained use discounts. Non-overlapping instances running the same predefined machine type in the same zone are combined to create one or more inferred instances.

The example below shows a customer’s usage that comprises five distinct instances. The instances are combined to find the smallest number of simultaneous running instances, which are called “inferred instances”. In this example, Compute Engine combines the instances to make three inferred instances with the longest possible duration. Compute Engine then calculates sustained use discounts based on the percentage of time that each of these inferred instances were running.

Diagram for sustained use discounts for custom machine types

Sustained use discounts and Always Free usage quotas

Google Cloud Platform offers Always Free Usage Limits which provides for free usage of 1 f1-micro instance equivalent to the number of total hours within the current month, enough to run one instance without interruption for the entire month. You will not receive sustained use discounts on Always Free usage. The amount of sustained use discount you receive may be reduced by up to one inferred instance per month.

Sustained use discounts for custom machine types and sole-tenant nodes

For custom machine types and sole-tenant nodes, Compute Engine calculates sustained use discounts based on vCPU and memory usage, and applies the discounts described by 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 system memory resources that your nodes occupy. Compute Engine uses your custom machine types to combine your usage into the longest possible duration of resources.

For example, consider a scenario where you have two instances or nodes that have different shapes and run at different times of the month. Compute Engine breaks down the number of vCPUs and amount of memory used across all custom instances and combines resources to qualify for the biggest sustained usage discounts possible:

Diagram for sustained use discounts for custom machine types

In this case, Compute Engine applies the following sustained use discounts:

  • You would receive a 30% discount off the cost of using 2 vCPUs and a 30% discount off the cost of using 4 GB of memory because you used each resource for the whole month.
  • You would receive a 10% discount off the cost of using 2 vCPUs and a 10% discount off the cost of 2 GB of memory because you used each resource for half of the month.

On your bill, you will see a line item for the total sustained use discount for standard or custom machine types calculated by project. To calculate the cost of running 2 vCPUs for 75% of the month:

  • 2 vCPUs ($0.034 * 2) = $0.068 per hour (full price)
  • First 25% of the usage is charged at full price: $0.068 * 180 = $12.24
  • Second 25% of the usage is charged 80% of the full rate: ($0.068 * .8) * 180 = $9.79
  • Last 25% of usage is charged at 60% of the full rate: ($0.068 * .6) * 180 = $7.34
  • Total: $12.24 + $9.79 + $7.34 = $29.74

Without sustained use discounts, the same 2 vCPUs would cost $36.72, which is 20% more expensive than the price with sustained use discounts.

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 system 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.