ESC
Type to search guides, tutorials, and reference documentation.
Verified by Garnet Grid

Cloud Reserved Instance Strategy: Commitment-Based Discounts That Actually Save Money

How to build a reserved instance and savings plan strategy that maximizes cloud discounts without over-committing — covering AWS, Azure, and GCP commitment models.

Reserved instances (RIs) and savings plans offer 30-72% discounts over on-demand pricing, but the wrong commitment strategy can cost more than it saves. This guide covers how to analyze usage, right-size commitments, and manage a portfolio of cloud reservations.

The Commitment Spectrum

On-Demand  ←→  Spot/Preemptible  ←→  Savings Plans  ←→  Reserved Instances
   $$$              $                    $$                     $
 No commit      Interruptible      Flexible commit        Fixed commit
 Max flex       Fault tolerant     Moderate flex          Least flexible

Discount Comparison (Approximate)

Commitment TypeDiscount vs On-DemandFlexibilityRisk
On-Demand0%CompleteZero
Spot/Preemptible60-90%None (can be reclaimed)High
1-Year Savings Plan20-35%Instance family flexibleLow
3-Year Savings Plan35-55%Instance family flexibleMedium
1-Year Reserved30-40%Instance-specificMedium
3-Year Reserved55-72%Instance-specificHigh

Step 1: Analyze Your Baseline

Before committing, you need to understand your steady-state usage.

Minimum Coverage Analysis

Look at 90 days of usage data to identify the floor — the minimum compute you always need running:

Hour-by-hour usage (simplified):
├── Peak: 200 instances
├── Average: 120 instances  
├── P10 (floor): 80 instances
└── Minimum: 60 instances

Rule: Only commit to the floor (P10 or below). Cover the rest with on-demand or spot.

Right-Sizing First

Don’t reserve instances you haven’t right-sized. Common waste patterns:

  • Instances running at 10-15% CPU (oversized by 2-4x)
  • Memory-optimized instances running CPU-bound workloads
  • GPU instances used for non-ML workloads

Right-size first, then commit. Reserving a c5.4xlarge when you need a c5.xlarge locks in 4x the waste.

Step 2: Choose Your Commitment Model

AWS

Savings Plans (recommended for most):

  • Compute Savings Plans: Flexible across instance families, regions, and OS
  • EC2 Instance Savings Plans: Specific instance family in a region

Reserved Instances:

  • Standard: Cheapest, least flexible
  • Convertible: Exchange for different instance types

Azure

Reservations: 1-year or 3-year commitments for VMs, SQL, Cosmos DB, etc.

Azure Savings Plans: Flexible across VM families and regions.

GCP

Committed Use Discounts (CUDs): 1-year or 3-year, machine-type specific.

Flexible CUDs: Shared across projects in a billing account.

Step 3: Portfolio Strategy

The 60/25/15 Model

60% — Committed (RIs/Savings Plans)
  └── Covers your steady-state baseline
  └── Mix of 1-year (flexibility) and 3-year (max discount)

25% — On-Demand
  └── Covers variable workloads and growth
  └── Buffer for seasonal spikes

15% — Spot/Preemptible
  └── Fault-tolerant batch processing
  └── Dev/test environments
  └── Non-critical background jobs

Staggered Expiration

Don’t let all reservations expire at once:

  • Buy in quarterly batches
  • Mix 1-year and 3-year terms
  • This prevents cliff-edge re-commitment decisions

Multi-Account Distribution

In AWS Organizations, RIs can be shared across linked accounts. Ensure sharing is enabled and monitor for unused capacity in any account.

Step 4: Monitor and Optimize

Key Metrics

MetricTargetAction if Behind
RI Utilization> 95%Sell unused RIs on marketplace
RI Coverage60-75% of steady statePurchase additional commitments
Effective Savings Rate> 25%Review commitment strategy
Waste (unused commits)< 5%Downsize or sell reservations

Quarterly Review Cycle

  1. Review utilization of existing commitments
  2. Analyze expiring reservations (what to renew vs. let lapse)
  3. Assess new workloads that have stabilized
  4. Adjust spot/on-demand mix based on actual patterns

Common Mistakes

Over-Committing Early

Don’t buy 3-year reservations for a service you launched last month. Wait 3-6 months until usage stabilizes.

Ignoring Instance Family Changes

Cloud providers release new instance generations regularly. A 3-year reservation on a c5.xlarge can’t be upgraded to c7g.xlarge (unless convertible).

No Exchange Strategy

AWS allows exchanging convertible RIs. If your workload changes, exchange — don’t let reservations go unused.

Treating RIs as “Set and Forget”

Usage patterns change. Applications are decommissioned. Teams migrate to containers. Review commitments quarterly.

Not Using the RI Marketplace

AWS allows selling unused standard RIs on the marketplace. If you have 6 months left on an unused RI, sell it and recover some value.

Automation

Tools

  • AWS Cost Explorer — Built-in RI recommendations
  • Azure Advisor — Reservation purchase recommendations
  • Infracost — RI analysis in CI/CD pipelines
  • CloudHealth / Apptio — Enterprise FinOps platforms
  • Spot.io (NetApp) — Automated commitment management

Automated Purchasing Rules

auto_purchase_rules:
  - condition: "steady_state_usage > 30_days"
    action: "recommend_1yr_savings_plan"
  - condition: "steady_state_usage > 90_days AND growth < 5%"
    action: "recommend_3yr_savings_plan"
  - condition: "ri_utilization < 80% for 14_days"
    action: "alert_finops_team"

The best cloud cost strategy balances commitment discounts with operational flexibility. Over-commit and you’re locked into waste. Under-commit and you’re leaving money on the table. The sweet spot requires continuous monitoring and quarterly adjustment.

Jakub Dimitri Rezayev
Jakub Dimitri Rezayev
Founder & Chief Architect • Garnet Grid Consulting

Jakub holds an M.S. in Customer Intelligence & Analytics and a B.S. in Finance & Computer Science from Pace University. With deep expertise spanning D365 F&O, Azure, Power BI, and AI/ML systems, he architects enterprise solutions that bridge legacy systems and modern technology — and has led multi-million dollar ERP implementations for Fortune 500 supply chains.

View Full Profile →