Google offers sustained use discounts which are automatic discounts that you get for running a VM instance for a significant portion of the billing month. Specifically, when you run an instance 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; there is no action required on your part to enable these discounts.
Sustained use discounts at different usage levels
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.
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)||
|Usage between 25%-50% of the month||80%||$0.0380||
|Usage between 50%-75% of the month||60%||$0.0285||
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.
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
For custom machine types, Compute Engine calculates sustained use discounts based on vCPU and memory usage, and applies the discounts described by the sustained usage discount table. 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 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:
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 two line items, one for the total sustained use discount for CPUs and one for total sustained use discount for memory usage. 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 as separate line items that are credited to your account. You
can view this discount in the Google Cloud Platform Console billing history. These
discounts will appear as credits, with "Sustained Use" in the description. For
example, the billing history might look like the following for an
n1-standard-1 instance with sustained use discounts:
|Date||Description||Debits ($)||Credits ($)|
|Mar 1 - Mar 31||Google Compute Standard Intel N1 1 VCPU running in NA: 13567 Minutes (Project:1234567895)||$11.30|
|Mar 1 - Mar 31||Google Compute Standard Intel N1 1 VCPU running in NA Sustained Use Discount: 3381 Minutes (Project:1234567895)||$2.81|