# Compute and EC2 Savings Plans

> Chapter 165 of the Courseiva SAA-C03 curriculum — https://courseiva.com/learn/saa-c03/savings-plans-saa

**Official objective:** 4.1 — Cost Optimized

## Introduction

Up to 72% reduction on EC2 costs compared to On-Demand pricing is possible through AWS Compute Savings Plans and EC2 Instance Savings Plans, two flexible discount models. For the SAA-C03 exam, cost optimization is a major domain (Objective 4.1), and Savings Plans questions appear in roughly 5-10% of exam scenarios. Understanding the differences between Compute and EC2 Instance Savings Plans, their commitment terms, payment options, and how they interact with Spot Instances and Reserved Instances is critical for selecting the right cost-saving strategy in architectural decisions.

## EC2 Savings Plans: A Commuter's Meal Plan

Suppose you've signed up for a monthly meal prep subscription. You commit to eating a certain number of meals (compute usage) each month, say 60 meals, at a fixed price per meal. In return, the meal prep service gives you a 30% discount compared to buying each meal individually. If you end up eating 70 meals, you pay the discounted rate for the first 60 and the full price for the extra 10. If you eat only 50 meals, you still pay for 60 — you can't get a refund for unused meals. The plan is tied to your overall meal consumption, not to a specific restaurant (instance family). You can switch from Italian to Mexican (change instance family) and still get the discount as long as the total meal count (compute usage) stays within your commitment. However, if you commit to a specific restaurant (EC2 Instance Savings Plan), you get a deeper discount but must eat at that restaurant only. AWS Savings Plans work similarly: you commit to a dollar-per-hour spend, get a discount on any compute usage up to that commitment, and pay on-demand for anything above. Unused commitment is lost — like paying for meals you didn't eat.

## Core explanation

### What Are AWS Savings Plans?

AWS Savings Plans are flexible pricing models that offer significant discounts on AWS compute usage (EC2, Fargate, Lambda) in exchange for a commitment to a consistent amount of usage (measured in $/hour) over a 1- or 3-year term. Unlike Reserved Instances (RIs), which require you to commit to a specific instance family and size in a specific region, Savings Plans automatically apply to any eligible compute usage across instance families, sizes, OS, tenancy, and regions (for Compute Savings Plans) or within a specific instance family in a region (for EC2 Instance Savings Plans).

### Why Savings Plans Exist

AWS introduced Savings Plans in 2019 to simplify the discount model. Reserved Instances required manual management of instance reservations and had complex exchange/modification rules. Savings Plans offer a more flexible commitment: you commit to a dollar amount, and AWS automatically applies the discount to your usage. This reduces administrative overhead and allows you to benefit from discounts even as you adopt new instance types or move workloads.

### How Savings Plans Work Internally

When you purchase a Savings Plan, you specify:
- **Hourly commitment**: The dollar amount per hour you commit to spend (e.g., $10/hour)
- **Term**: 1 or 3 years
- **Payment option**: No Upfront, Partial Upfront, or All Upfront
- **Plan type**: Compute Savings Plans or EC2 Instance Savings Plans
- **Region** (for EC2 Instance Savings Plans only)

At the end of each hour, AWS calculates your eligible compute usage across EC2, Fargate, and Lambda. It then applies the Savings Plan discount to that usage up to your committed amount. Any usage beyond the commitment is charged at On-Demand rates. If your usage is less than your commitment, you still pay the full commitment amount (unused hours are lost).

### Key Components and Values

**Commitment Amount**: Measured in $/hour. You can choose any amount, but it must be at least $0.001/hour. Common strategies include analyzing your historical usage to set a baseline commitment that covers most of your steady-state workloads.

**Discount Percentage**: Varies by plan type, term, and payment option. Compute Savings Plans typically offer 20-40% discount vs On-Demand. EC2 Instance Savings Plans offer up to 72% discount for 3-year All Upfront. The discount is applied to the On-Demand rate of the usage.

**Plan Types**:
- **Compute Savings Plans**: Apply to any EC2 instance (any family, any size, any OS, any tenancy, any region), Fargate, and Lambda. Maximum flexibility, slightly lower discount.
- **EC2 Instance Savings Plans**: Apply to a specific instance family in a specific region (e.g., m5 in us-east-1). Higher discount, but less flexibility.

**Term and Payment Options**:
- 1-year term: Lower discount
- 3-year term: Higher discount
- No Upfront: No upfront payment, highest hourly rate
- Partial Upfront: Pay part upfront, lower hourly rate
- All Upfront: Pay all upfront, lowest hourly rate

**Default Behavior**: If you do not specify a Savings Plan, all usage is On-Demand. Savings Plans are applied automatically once purchased. You can have multiple Savings Plans active simultaneously; AWS applies the best discount to your usage.

### Configuration and Verification

To purchase a Savings Plan via AWS CLI:

```bash
aws savingspants create-savings-plan \
    --savings-plan-offering-id <offering-id> \
    --commitment 10.0 \
    --payment-option PartialUpfront \
    --purchase-time 2023-01-01T00:00:00Z
```

To view your Savings Plans:

```bash
aws savingspants describe-savings-plans
```

To view Savings Plan utilization and coverage reports, use the AWS Cost Explorer or the Savings Plans console. Key metrics:
- **Utilization**: The percentage of your commitment that was actually used. High utilization (90%+) indicates good cost savings.
- **Coverage**: The percentage of your eligible compute usage covered by Savings Plans. High coverage reduces On-Demand spend.

### Interaction with Related Technologies

**Reserved Instances**: RIs and Savings Plans are mutually exclusive. You cannot have both an RI and a Savings Plan covering the same usage. However, RIs are being phased out in favor of Savings Plans. The exam may still test RIs, but Savings Plans are the modern approach.

**Spot Instances**: Savings Plans do not apply to Spot usage. Spot Instances have their own pricing model and are not eligible for Savings Plan discounts. However, you can use Savings Plans to cover baseline On-Demand usage while using Spot for flexible workloads.

**AWS Organizations**: Savings Plans can be shared across accounts in an AWS Organization if you enable consolidated billing. The discount applies to the entire organization's usage, not just the purchasing account.

### Pricing Example

Assume you purchase a Compute Savings Plan with a $5/hour commitment for a 1-year term with No Upfront. Your discount is 30% off On-Demand rates. In a given hour, you run:
- 2 x m5.large On-Demand: $0.096/hour each = $0.192
- 1 x c5.xlarge On-Demand: $0.17/hour = $0.17
- Fargate tasks: $0.10/hour
Total eligible usage: $0.462/hour. Since this is below your $5 commitment, you pay $5 * 70% = $3.50 (the discounted rate) for that hour? No — incorrect. Actually, the discount is applied to the usage. The Savings Plan covers the $0.462 usage at the discounted rate, and you forfeit the remaining $4.538 commitment. So you pay $0.462 * (1 - 0.30) = $0.3234 for that usage, plus the unused commitment of $4.538? No, you pay the full commitment amount: $5. But the discount reduces the effective rate. Let's clarify: The commitment is $5/hour. You pay $5 regardless of usage. But the discount means that the $5 covers more usage than On-Demand. In reality, you pay the commitment amount, and AWS applies the discount to the usage up to that amount. The unused commitment is lost. So if your usage is $0.462, you pay $5, but you get a 30% discount on the $0.462? That doesn't match. Actually, the Savings Plan discount is applied to the usage, so you pay the discounted rate for usage up to the commitment. For usage above, you pay On-Demand. For unused commitment, you still pay the commitment but get no benefit. The billing is: total charge = commitment amount + (usage above commitment * On-Demand rate). The discount is embedded in the commitment amount: you pay less per hour for the same usage compared to On-Demand. For example, if On-Demand cost for your baseline is $10/hour, you commit to $7/hour (30% off). You pay $7/hour regardless of usage, but if usage exceeds $10 On-Demand equivalent, you pay extra. So in the example, if your usage is $0.462 On-Demand, you commit to $5, you pay $5. That's worse than On-Demand. So you should set commitment closer to your actual usage. The correct example: You commit to $0.50/hour. On-Demand cost for your usage is $0.462. With 30% discount, you pay $0.50 * 70% = $0.35? No, the discount is on the usage. The billing is: you pay the commitment amount, but the discount means your commitment covers more usage. The exact mechanism: AWS calculates the Savings Plan effective rate per hour. For a $0.50 commitment with 30% discount, the effective On-Demand equivalent covered is $0.50 / (1 - 0.30) = $0.714. So if your usage is $0.462 On-Demand, it's fully covered, and you pay $0.50. Compared to On-Demand $0.462, you pay $0.50 — worse. So Savings Plans are only beneficial if your actual usage is close to or above the commitment. The key is to match commitment to baseline usage. For steady workloads, Savings Plans save money. For variable workloads, they can lose money if commitment is too high.

## Real-world context

### Enterprise Scenario 1: E-Commerce Platform with Steady Baseline

A large e-commerce company runs a production environment with 50 m5.large instances 24/7 for its web tier. They also use auto-scaling to add up to 100 more instances during peak hours. The baseline of 50 instances costs $4.80/hour On-Demand (at $0.096/instance). They purchase a Compute Savings Plan with a $4.80/hour commitment for 3 years, Partial Upfront, getting a 40% discount. Now they pay $2.88/hour for the baseline, saving $1.92/hour. The auto-scaled instances are charged On-Demand. Over a year, they save ~$16,800. The key is matching the commitment to the baseline; if they had committed to the peak 150 instances ($14.40/hour), they would waste money during off-peak hours.

### Enterprise Scenario 2: Multi-Family Microservices

A SaaS startup runs microservices on a mix of t3, m5, and c5 instances across multiple regions. They also use AWS Fargate for containerized workloads. They choose Compute Savings Plans with a $10/hour commitment for 1 year, No Upfront. This covers their consistent baseline across all instance families and Fargate. The flexibility allows them to change instance types or move regions without losing the discount. They save 30% vs On-Demand. The challenge is that their usage varies by region; they must ensure the commitment is set at the organization level (consolidated billing) to cover all accounts.

### Common Misconfiguration: Overcommitment

A common mistake is committing too high, expecting future growth that doesn't materialize. For example, a company commits $100/hour but only uses $60/hour. They pay $100/hour, losing $40/hour. This is worse than On-Demand. The solution is to start with a conservative commitment (e.g., 80% of current baseline) and add more Savings Plans later as usage grows. AWS allows you to purchase additional Savings Plans, but you cannot reduce the commitment of an existing one. Also, you can sell unused Savings Plans on the Reserved Instance Marketplace (only for EC2 Instance Savings Plans with All Upfront or Partial Upfront).

## Exam focus

### What SAA-C03 Tests on Savings Plans

The exam focuses on Objective 4.1: 'Identify cost-effective compute options.' You will be asked to choose between Compute Savings Plans, EC2 Instance Savings Plans, Reserved Instances, and On-Demand based on scenario requirements. Key decision points:
- **Flexibility needed**: Compute Savings Plans for multi-family/region/Fargate/Lambda; EC2 Instance Savings Plans for single family.
- **Term**: 3-year for maximum savings; 1-year for shorter commitment.
- **Payment**: All Upfront for highest discount; No Upfront for no upfront cost.
- **Spot vs Savings Plans**: Spot is separate; Savings Plans only cover On-Demand.
- **Reserved Instances vs Savings Plans**: RIs are legacy; Savings Plans are preferred for new deployments. But the exam may still ask about RIs.

### Common Wrong Answers
1. **Choosing EC2 Instance Savings Plans when the scenario requires cross-family flexibility**: Candidates see 'higher discount' and pick EC2 Instance Savings Plans, but the scenario says 'multiple instance families.' The correct answer is Compute Savings Plans.
2. **Selecting Spot Instances for steady-state workloads**: Spot can be interrupted, so for critical workloads, Savings Plans are better. Candidates confuse cost-saving mechanisms.
3. **Thinking Savings Plans cover Spot usage**: They do not. Spot has its own pricing.
4. **Assuming Savings Plans are regional for Compute Savings Plans**: Compute Savings Plans are global (apply to all regions). EC2 Instance Savings Plans are regional.

### Specific Numbers to Memorize
- Discount range: 20-40% for Compute Savings Plans; up to 72% for EC2 Instance Savings Plans (3-year All Upfront).
- Term options: 1 or 3 years.
- Payment options: No Upfront, Partial Upfront, All Upfront.
- Minimum commitment: $0.001/hour.
- Savings Plans can be shared across accounts in AWS Organizations.

### Edge Cases
- **Unused commitment**: You pay for it regardless. Cannot be refunded or exchanged (except for some EC2 Instance Savings Plans on the Marketplace).
- **Multiple Savings Plans**: AWS applies discounts in order of specificity (EC2 Instance Savings Plan first, then Compute Savings Plan).
- **Lambda and Fargate**: Only Compute Savings Plans cover these. EC2 Instance Savings Plans do not.
- **Dedicated Hosts**: Savings Plans do not cover Dedicated Hosts; use Dedicated Host Reservations.

### How to Eliminate Wrong Answers
If the scenario mentions 'ability to change instance families' or 'use Fargate/Lambda', eliminate EC2 Instance Savings Plans. If the scenario requires 'highest discount for a stable workload on m5 instances', eliminate Compute Savings Plans. If the scenario mentions 'no upfront payment', eliminate All Upfront. If the scenario mentions 'critical production workload that cannot be interrupted', eliminate Spot Instances.

## Step by step

1. **Analyze Historical Compute Usage** — Use AWS Cost Explorer or a third-party tool to review your EC2, Fargate, and Lambda usage over the past 1-3 months. Identify your steady-state baseline usage (the minimum amount you consistently consume each hour). This baseline should be the target for your Savings Plan commitment. For example, if you always run at least 10 m5.large instances, compute the On-Demand hourly cost and set your commitment to that amount. Avoid committing to peaks or variable workloads; cover those with On-Demand or Spot.
2. **Choose Savings Plan Type** — Decide between Compute Savings Plans (maximum flexibility) or EC2 Instance Savings Plans (higher discount for specific instance family). Compute Savings Plans are ideal if you use multiple instance families, Fargate, or Lambda, or if you expect to change instance types. EC2 Instance Savings Plans are best for steady-state workloads on a single instance family (e.g., all m5). The exam tests this choice: if the scenario mentions 'flexibility to change instance families,' choose Compute Savings Plans.
3. **Select Term and Payment Option** — Choose 1-year or 3-year term. Longer term gives higher discount but requires longer commitment. Payment options: No Upfront (no cash outlay, higher hourly rate), Partial Upfront (lower hourly rate, some upfront), All Upfront (lowest hourly rate, large upfront). For the exam, remember that All Upfront provides the highest total discount but requires significant upfront capital. No Upfront is best for cash-constrained projects.
4. **Purchase the Savings Plan** — Use the AWS Management Console, CLI, or API to purchase the Savings Plan. Specify the commitment amount in $/hour, term, payment option, and plan type. AWS will immediately start applying the discount to your eligible usage. You can purchase multiple Savings Plans; the discount is applied automatically in the most beneficial way (e.g., first to usage that matches an EC2 Instance Savings Plan, then to Compute Savings Plan).
5. **Monitor Utilization and Coverage** — After purchase, regularly check the Savings Plans dashboard in Cost Explorer. Key metrics: Utilization (percentage of commitment used) and Coverage (percentage of eligible usage covered). High utilization (>90%) means you are getting good value. Low utilization means you are overcommitted; consider adjusting or exchanging (if possible). Low coverage means you have too much On-Demand usage; consider increasing commitment or adding another Savings Plan.

## Comparisons

### Compute Savings Plans vs EC2 Instance Savings Plans

**Compute Savings Plans:**
- Applies to any EC2 instance family, any size, any OS, any tenancy, any region
- Also applies to Fargate and Lambda usage
- Discount: 20-40% vs On-Demand (typical)
- Maximum flexibility; ideal for dynamic or multi-family workloads
- Cannot be sold on the Reserved Instance Marketplace

**EC2 Instance Savings Plans:**
- Applies to a specific instance family (e.g., m5) in a specific region
- Does not apply to Fargate or Lambda
- Discount: up to 72% vs On-Demand (3-year All Upfront)
- Higher discount but less flexibility; ideal for steady-state single-family workloads
- Can be sold on the Reserved Instance Marketplace (if All Upfront or Partial Upfront)

## Common misconceptions

- **Misconception:** Savings Plans cover Spot Instance usage. **Reality:** No. Savings Plans only apply to On-Demand usage. Spot Instances have their own pricing model and are not eligible for Savings Plan discounts.
- **Misconception:** You can cancel a Savings Plan at any time. **Reality:** No. Savings Plans are a contractual commitment for 1 or 3 years. You cannot cancel them. Unused commitment is paid in full. Some EC2 Instance Savings Plans can be sold on the Reserved Instance Marketplace, but Compute Savings Plans cannot.
- **Misconception:** Compute Savings Plans are regional like EC2 Instance Savings Plans. **Reality:** No. Compute Savings Plans apply globally to any region. EC2 Instance Savings Plans are regional and apply only to the specified region and instance family.
- **Misconception:** You must specify an instance type when purchasing a Savings Plan. **Reality:** No. For Compute Savings Plans, you only commit to a dollar amount. For EC2 Instance Savings Plans, you specify the instance family (e.g., m5) but not the size. The discount applies to any size in that family.
- **Misconception:** Savings Plans and Reserved Instances can both cover the same usage. **Reality:** No. They are mutually exclusive. You cannot have both an RI and a Savings Plan covering the same instance. AWS applies the better discount automatically.

## Key takeaways

- Savings Plans require a commitment of $/hour for 1 or 3 years; you pay for unused commitment.
- Compute Savings Plans offer maximum flexibility across instances, regions, Fargate, and Lambda.
- EC2 Instance Savings Plans offer higher discounts but are locked to a specific instance family and region.
- Payment options: No Upfront, Partial Upfront, All Upfront — All Upfront gives the highest discount.
- Savings Plans do not cover Spot Instances; they only apply to On-Demand usage.
- Utilization should be monitored; low utilization means overcommitment and wasted cost.
- Savings Plans can be shared across accounts in an AWS Organization with consolidated billing.
- Reserved Instances are legacy; Savings Plans are the modern, flexible alternative for cost savings.

## FAQ

**What is the difference between Compute Savings Plans and EC2 Instance Savings Plans?**

Compute Savings Plans apply to any EC2 instance (any family, size, region), Fargate, and Lambda. They offer moderate discounts (20-40%). EC2 Instance Savings Plans apply to a specific instance family in a specific region and offer higher discounts (up to 72%). Choose Compute Savings Plans for flexibility; choose EC2 Instance Savings Plans for maximum savings on a stable, single-family workload.

**Can I cancel a Savings Plan?**

No, you cannot cancel a Savings Plan. You are committed to the hourly spend for the entire term (1 or 3 years). Unused commitment is charged. Some EC2 Instance Savings Plans can be sold on the Reserved Instance Marketplace, but Compute Savings Plans cannot.

**Do Savings Plans cover Spot Instances?**

No. Savings Plans only apply to On-Demand usage. Spot Instances have their own pricing model and are not eligible for Savings Plan discounts. You can use Savings Plans for baseline On-Demand and Spot for flexible workloads.

**How do I choose the right commitment amount?**

Analyze your historical compute usage to identify your steady-state baseline (minimum consistent usage). Set your commitment to that baseline amount. Avoid committing to peak or variable usage. Start conservative and add more Savings Plans as usage grows.

**Can Savings Plans be used across multiple accounts?**

Yes, if you have an AWS Organization with consolidated billing. Savings Plans purchased by the management account or any member account can be shared across all accounts in the organization. The discount is applied to the combined usage.

**What happens if my usage exceeds my Savings Plan commitment?**

Usage up to the commitment amount is charged at the discounted Savings Plan rate. Any usage above the commitment is charged at standard On-Demand rates. You can purchase additional Savings Plans to cover the excess.

**Are Savings Plans better than Reserved Instances?**

Generally yes, because Savings Plans offer more flexibility (especially Compute Savings Plans) and are easier to manage. Reserved Instances are legacy; AWS recommends Savings Plans for new cost-saving commitments. However, the exam may still test both.

---

Interactive version with quiz and diagrams: https://courseiva.com/learn/saa-c03/savings-plans-saa
