# Compute Purchasing Models & Optimization

AWS offers **flexible compute purchasing models** that allow businesses like **SecureCart** to balance **cost, scalability, and performance**. By **understanding and optimizing compute purchasing strategies**, SecureCart can **minimize costs** while ensuring **high availability and responsiveness**.

✔ **Why SecureCart Needs Compute Purchasing Optimization?**

* **Ensures the best pricing model for each workload.**
* **Reduces long-term infrastructure costs through reserved pricing and spot instances.**
* **Balances cost savings with performance and availability.**
* **Utilizes cost management tools to monitor and optimize spending.**

***

### **🔹 Step 1: Understanding AWS Compute Purchasing Models**

AWS offers multiple **pricing models** that allow businesses to choose the most **cost-effective compute option** based on **workload characteristics**.

| **Purchasing Model**         | **Best Use Case**                                                 | **Cost Optimization Strategy**                            | **SecureCart Use Case**                                         |
| ---------------------------- | ----------------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------------- |
| **On-Demand Instances**      | Short-lived, unpredictable workloads.                             | No long-term commitment, pay for compute per second.      | **Used for SecureCart’s ad-hoc development/testing instances.** |
| **Reserved Instances (RIs)** | Steady-state workloads with predictable demand.                   | 1-3 year commitment for **up to 72% discount**.           | **Used for SecureCart’s always-on payment processing APIs.**    |
| **Spot Instances**           | Flexible, fault-tolerant workloads (e.g., batch jobs, analytics). | **Up to 90% discount**, but instances may be interrupted. | **Used for SecureCart’s batch data processing tasks.**          |
| **Savings Plans**            | Predictable compute usage across EC2, Fargate, and Lambda.        | **Up to 66% discount**, flexible across services.         | **Used for SecureCart’s containerized workloads.**              |
| **Dedicated Hosts**          | Compliance-driven workloads requiring physical servers.           | Reduce licensing costs for BYOL (Bring Your Own License). | **Used for SecureCart’s regulatory workloads.**                 |

✅ **Best Practices:**\
✔ **Use On-Demand for unpredictable workloads but avoid long-term use.**\
✔ **Reserve instances for stable, long-running services.**\
✔ **Leverage Spot Instances for batch and stateless workloads.**\
✔ **Use Savings Plans instead of RIs for greater flexibility.**

***

### **🔹 Step 2: Cost Optimization Strategies for Compute Workloads**

✔ **SecureCart optimizes compute spending by using the right pricing model for each workload.**

| **Workload Type**                     | **Optimized Pricing Model**        | **Cost Optimization Strategy**                            |
| ------------------------------------- | ---------------------------------- | --------------------------------------------------------- |
| **Frontend APIs**                     | **On-Demand / Reserved Instances** | **Use Auto Scaling to right-size resources.**             |
| **Backend Microservices**             | **Savings Plans / Fargate**        | **Use containers to reduce EC2 costs.**                   |
| **Batch Jobs (Analytics, Reporting)** | **Spot Instances / AWS Batch**     | **Run Spot Instances for batch workloads at lower cost.** |
| **CI/CD Pipelines**                   | **EC2 Spot Instances / Lambda**    | **Use Spot Instances or serverless for build jobs.**      |

✅ **Best Practices:**\
✔ **Use Auto Scaling to scale workloads dynamically and avoid over-provisioning.**\
✔ **Run Lambda or Fargate for workloads that don’t need persistent instances.**\
✔ **Schedule non-production instances to shut down during off-peak hours.**

***

### **🔹 Step 3: Comparing Reserved Instances vs. Savings Plans**

| **Feature**     | **Reserved Instances (RIs)**      | **Savings Plans**                                 |
| --------------- | --------------------------------- | ------------------------------------------------- |
| **Discounts**   | **Up to 72% savings** on EC2      | **Up to 66% savings** on EC2, Lambda, and Fargate |
| **Commitment**  | 1-3 years                         | 1-3 years                                         |
| **Flexibility** | Locked to instance family, region | Applies across different services                 |
| **Best for**    | **Predictable, steady workloads** | **Mixed compute usage (EC2, Fargate, Lambda)**    |

✅ **Best Practices:**\
✔ **Use Reserved Instances for stable, single-instance family workloads.**\
✔ **Use Compute Savings Plans to cover multiple compute services.**\
✔ **Convert Convertible RIs to adjust to changing workload needs.**

***

### **🔹 Step 4: Optimizing EC2 Instance Selection**

AWS provides a **wide variety of EC2 instance types** that businesses can optimize for **cost, memory, compute, and storage**.

| **Instance Type**                          | **Optimized For**                     | **Use Case**                                 | **SecureCart Implementation**                     |
| ------------------------------------------ | ------------------------------------- | -------------------------------------------- | ------------------------------------------------- |
| **T-Series (Burstable, T3, T4g)**          | Cost-efficient for low CPU usage      | Development & testing environments           | **Runs SecureCart’s dev/test instances.**         |
| **M-Series (General Purpose, M6i, M7g)**   | Balanced compute, memory, and storage | Backend APIs, microservices                  | **Hosts SecureCart’s backend services.**          |
| **C-Series (Compute Optimized, C6i, C7g)** | High CPU workloads                    | High-performance analytics, machine learning | **Processes SecureCart’s recommendation models.** |
| **R-Series (Memory Optimized, R6i, R7g)**  | Memory-intensive workloads            | In-memory databases, caching                 | **Runs SecureCart’s Redis caching layer.**        |

✅ **Best Practices:**\
✔ **Use T-Series instances for development and non-critical workloads.**\
✔ **Use M-Series for general workloads with a balance of performance and cost.**\
✔ **Use C-Series for compute-intensive workloads that need high processing power.**\
✔ **Use R-Series for workloads that require large amounts of memory.**

***

### **🔹 Step 5: Monitoring & Managing Compute Costs**

✔ **SecureCart continuously monitors compute costs and performance using AWS tools.**

| **AWS Cost Optimization Tool** | **Purpose**                                    | **SecureCart Implementation**                            |
| ------------------------------ | ---------------------------------------------- | -------------------------------------------------------- |
| **AWS Cost Explorer**          | Tracks compute usage and spending trends.      | **Analyzes SecureCart’s EC2 cost trends.**               |
| **AWS Compute Optimizer**      | Recommends right-sizing for compute resources. | **Helps SecureCart reduce underutilized EC2 costs.**     |
| **AWS Trusted Advisor**        | Identifies cost-saving opportunities.          | **Detects idle EC2 instances SecureCart can terminate.** |
| **AWS Budgets**                | Sets cost alerts for compute usage.            | **Prevents SecureCart from exceeding spending limits.**  |

✅ **Best Practices:**\
✔ **Use AWS Compute Optimizer to right-size EC2 instances.**\
✔ **Enable AWS Cost Explorer to analyze compute cost trends.**\
✔ **Set AWS Budgets to track and control compute spending.**

***

## **🚀 Summary**

✔ **Choose the best compute pricing model (On-Demand, Reserved, Spot, Savings Plans) based on workload needs.**\
✔ **Use Auto Scaling, Lambda, and Fargate to optimize compute resource utilization.**\
✔ **Leverage Reserved Instances or Savings Plans for predictable, long-term workloads.**\
✔ **Use EC2 Spot Instances for batch, analytics, and other fault-tolerant workloads.**\
✔ **Monitor and optimize compute spending using AWS Cost Explorer, Budgets, and Compute Optimizer.**

#### **Scenario:**

SecureCart needs to **reduce long-term compute costs** by using **Spot Instances, Reserved Instances, and Compute Savings Plans**.

#### **Key Learning Objectives:**

✅ Use **Spot Instances for fault-tolerant and flexible workloads**\
✅ Implement **Reserved Instances for steady-state workloads**\
✅ Apply **Compute Savings Plans for cost efficiency**

#### **Hands-on Labs:**

1️⃣ **Deploy an EC2 Spot Instance Fleet for Batch Processing**\
2️⃣ **Purchase and Manage Reserved Instances for a Production Workload**\
3️⃣ **Implement Compute Savings Plans to Reduce Long-Term Compute Costs**

🔹 **Outcome:** SecureCart **reduces compute expenses by using the right AWS purchasing model**.
