GCP Committed Use Discounts vs Sustained Use Discounts
SUDs are automatic (30% off steady workloads). CUDs require commitment (25-55% off). They don't stack. Here's the math, the break-even, and the optimal strategy: 3-year flexible CUDs on baseline, SUDs above, Spot for elastic.
Quick answer
Sustained Use Discounts (SUD) are automatic — up to 30% off VMs running most of the month, no commitment required. Committed Use Discounts (CUD) require 1-year or 3-year commitment for 25-55% off. They don't stack — CUD replaces SUD for committed capacity. Strategy: cover predictable baseline with 3-year flexible CUDs, let SUDs cover the variable layer above.
GCP's compute discount system has two layers: one automatic, one purchased. Both can save substantial money, but they interact in ways that AWS users coming to GCP often miss. This post covers the mechanics, the math, and a practical strategy.
Sustained Use Discounts (SUD)
SUDs are automatic discounts for VMs running for a significant portion of the month. They apply to N1, N2, N2D, and other general-purpose families, plus custom machine types.
How SUDs work
GCP calculates how many hours per month an "instance-equivalent" ran. As that count grows, the per-hour rate decreases:
- 0-25% of month: full on-demand rate
- 25-50% of month: 20% discount on those hours
- 50-75% of month: 40% discount
- 75-100% of month: 60% discount
The blended effective discount for a VM running 24/7 is approximately 30% off the list rate. SUDs apply automatically; no purchase, no configuration.
What SUDs don't cover
- Custom machine types: SUDs apply
- Sole-tenant nodes: SUDs apply
- Preemptible/Spot VMs: SUDs don't apply (already discounted)
- E2 family: SUDs don't apply (E2 is already discounted)
- Hosted services (Cloud SQL, GKE control plane): different discount model
Committed Use Discounts (CUD)
CUDs are purchased commitments: you commit to a certain amount of compute usage for 1 or 3 years in exchange for a discount. Two flavors:
Resource-based CUDs (legacy)
Commit to specific machine types in specific regions. Example: "100 vCPUs of n2-standard in us-central1 for 1 year." Discount:
- 1-year: ~25% off list
- 3-year: ~55% off list
Inflexible: if you change machine types, the CUD doesn't move with you. Don't buy resource-based CUDs unless your workload is very stable.
Flexible CUDs (recommended)
Commit to a dollar amount of compute spend per hour, applied across machine families. Example: "$5/hour of compute spend across N2, N2D, E2." The commitment flexes between families. Discount:
- 1-year: 28% off list
- 3-year: 46% off list
Flexible CUDs are the better choice for dynamic workloads. The smaller discount vs resource-based is the cost of flexibility. For most teams, flexibility is worth it.
The interaction: SUD + CUD don't stack
Hours covered by a CUD don't also get SUD. The CUD effectively replaces the SUD on that capacity. Hours above the commit still get SUD (since they're billed at on-demand rates).
Implication: SUD is what you get for free without commitment. CUD is what you get for committing. Math:
- Pay-as-you-go: 100% of list
- With SUD (auto): ~70% of list (30% discount)
- With 1-year flexible CUD: ~72% of list (28% discount)
- With 3-year flexible CUD: ~54% of list (46% discount)
Note: 1-year flexible CUD is barely better than SUD! Only 2 percentage points off vs SUD. For workloads with no obvious committed baseline, the 1-year CUD often doesn't make sense. The 3-year CUD provides meaningful additional savings.
The optimal strategy
For most GCP workloads, the optimal strategy is:
- Identify your stable baseline: the compute capacity that's always running 24/7 for the next 3 years (e.g., production databases, always-on services).
- Buy 3-year flexible CUDs covering 80-90% of that baseline. Leave 10-20% buffer for changes.
- Let SUDs cover the variable layer above the commit. SUDs are free and substantial.
- For test/dev/spike capacity, use Spot VMs (60-91% discount).
- Review quarterly and adjust commits if the baseline shifts.
Skip 1-year CUDs unless you have a workload that's stable for 12 months but uncertain beyond. The marginal benefit over SUD is small.
The break-even for 3-year CUD
A 3-year flexible CUD at 46% off requires the committed capacity to run for the full 3 years. Break-even vs SUD (30% off):
SUD discount: 30%. CUD discount: 46%. Difference: 16%. For a $1,000/month committed capacity, that's $160/month saved with CUD ($1,920/year, $5,760 over 3 years).
If you actually use only 70% of the commit, the SUD-equivalent savings on those used hours roughly matches the CUD savings. So break-even utilization for a 3-year CUD is approximately 70%. Below 70%, you're paying for unused capacity.
Cross-resource CUDs
Flexible CUDs cover compute (CPU + memory). Separate CUDs exist for other resources:
- GPU CUDs: cover NVIDIA GPUs (T4, A100, etc.). Up to 55% off 3-year.
- TPU CUDs: cover Cloud TPU usage. Substantial discounts for ML workloads.
- Cloud SQL CUDs: cover Cloud SQL vCPU and memory.
- Spanner CUDs: cover Spanner nodes and processing units.
- Cloud Run CUDs: cover Cloud Run revisions (newer).
Each service has its own commit. Buy commits for the services you use at scale; skip for sporadic usage.
Buying CUDs in Terraform
resource "google_compute_region_commitment" "prod" {
name = "prod-compute-commit"
region = "us-central1"
plan = "THIRTY_SIX_MONTH" # or TWELVE_MONTH
type = "GENERAL_PURPOSE_N2"
resources {
type = "VCPU"
amount = "100" # 100 vCPUs committed
}
resources {
type = "MEMORY"
amount = "400" # 400 GB memory committed
}
}For flexible CUDs (spend-based), the API is slightly different — you commit a dollar amount rather than specific resources.
Tracking CUD utilization
GCP's billing console has a "Commitments" section showing each commit, its utilization, and projected savings. Key metrics:
- Utilization %: how much of the commit you're using
- Savings vs on-demand: dollar amount saved
- Expiration date: when the commit ends
Set up alerts for commits dropping below 80% utilization or approaching expiration. The 90-days-before-expiration alert gives time to evaluate renewal or transition.
Estimating with c3x
c3x applies SUDs automatically based on the assumption that VMs will run for the full month (the typical case). For CUDs, specify coverage in c3x-usage.yml:
# c3x-usage.yml
gcp:
committed_use_discounts:
- region: us-central1
family: N2
cpu_vcpus: 100
memory_gb: 400
plan: THIRTY_SIX_MONTHc3x applies the CUD discount to matching resources up to the committed capacity. Uncommitted capacity gets SUD.
FAQ
What's the difference between SUD and CUD?
Sustained Use Discounts (SUD) are automatic discounts for VMs running a significant portion of the month — up to 30% off, applied without commitment. Committed Use Discounts (CUD) require a 1-year or 3-year commitment for 25-55% off depending on commitment length and resource type. SUDs are automatic; CUDs require purchase.
Do SUDs and CUDs stack?
No. A VM covered by a CUD doesn't also get SUD on the same hours. CUDs effectively replace SUDs for the committed capacity. For uncommitted capacity, SUDs still apply automatically.
Are CUDs resource-specific or flexible?
Two types. Resource-based CUDs cover specific machine types (e.g., n2-standard-4 in us-central1). Flexible CUDs (spend-based, introduced more recently) cover a dollar amount of compute spend across machine families, providing more flexibility. Flexible CUDs are usually preferable for dynamic workloads.
What happens if I use less than my CUD commitment?
You still pay for the full committed capacity. CUDs are a take-or-pay contract — if your actual usage falls below the commit, you pay for unused capacity. The break-even for a 1-year CUD is roughly 70% utilization vs pay-as-you-go.
Can I cancel a CUD?
No, CUDs are non-cancellable. Once purchased, you pay for the term (1 or 3 years). You can transfer CUDs between projects in the same billing account, but you can't get a refund. Plan commits carefully.
How do CUDs compare to AWS Savings Plans?
Similar concept: commit to spend, get a discount. Flexible CUDs are GCP's parallel to AWS Compute Savings Plans. Discount rates are comparable (1-year ~25-30%, 3-year ~52-55%). GCP CUDs cover GPUs, TPUs, and Cloud SQL too; AWS Savings Plans don't cover RDS.
Summary
SUDs are GCP's automatic 30% discount for steady workloads. CUDs are purchased commitments adding 16-30 percentage points on top. For most workloads, the right strategy is: 3-year flexible CUDs on the stable baseline (80-90% of always-on capacity), SUDs on the variable layer, Spot VMs for elastic workloads. Skip 1-year CUDs unless you have a specific 12-month-stable workload.
For the GCP cost estimation workflow, see how to estimate GCP costs from Terraform. For GKE specifics, see GKE Standard vs Autopilot.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.