30% off every course until Sunday, October 11. Our biggest update yet, and we'd like you to try it. Applied automatically at checkout.

Choose your certification
Copyright (c) 2026 MindMesh Academy. All rights reserved. This content is proprietary and may not be reproduced or distributed without permission.

2.2.1.3. Designing for Cost Optimization in Storage (Lifecycle Policies, Tiering)

2.2.1.3. Designing for Cost Optimization in Storage (Lifecycle Policies, Tiering)

💡 First Principle: Aligning data storage costs with the changing value of data over time ensures financial efficiency by dynamically moving data to the most cost-effective storage class while meeting accessibility requirements.

Scenario: A company stores user-generated content in "Amazon S3". This content is frequently accessed for the first month, then rarely accessed but needs to be retained for 5 years. Access patterns for newly uploaded content are highly unpredictable.

Storage can be a significant cloud cost. Cost optimization requires a proactive strategy to ensure you're paying only for the necessary performance and accessibility.

  • "S3 Lifecycle Policies": Automate the transition of objects between "S3 storage classes" or their expiration.
    • Practical Relevance: Automatically move older, less frequently accessed data from "S3 Standard" to "Infrequent Access (IA)", "One Zone-IA", "Glacier", or "Glacier Deep Archive" after a defined period (e.g., 30, 60, 90 days), significantly reducing storage costs. Also, automatically delete data after a certain retention period to meet compliance or data governance policies.
  • "S3 Intelligent-Tiering": An "S3 storage class" that automatically moves objects between frequent, infrequent, and archive access tiers based on changing access patterns, without performance impact.
    • Practical Relevance: Ideal for data with unpredictable access patterns, removing the need for manual lifecycle policy configuration.
  • Archive class selection: "S3 Glacier Instant Retrieval" gives millisecond access for rarely read data; "S3 Glacier Flexible Retrieval" retrieves in minutes to hours (bulk retrievals in about 5-12 hours); "S3 Glacier Deep Archive" is the lowest-cost class, with standard retrieval within about 12 hours and bulk within 48 hours, and a 180-day minimum storage duration. When hours-long retrieval is acceptable and storage cost is the priority, Deep Archive wins.
  • "EBS Volume Types": Selecting the correct "EBS volume type" (e.g., gp3 for general purpose, io2 for high-performance databases, st1 for throughput-intensive workloads) is crucial. gp3 offers a strong balance of price and performance for most workloads, often being more cost-effective than older gp2 volumes.
  • Matching the EBS volume to the requirement: gp3 lets you provision IOPS and throughput independently of volume size (baseline 3,000 IOPS), so it is the cheapest way to hit a defined performance target. gp2 ties baseline IOPS to size (3 IOPS per GiB) and relies on burst credits, so a busy volume can exhaust them and slow down (the volume's BurstBalance metric shows the credits left; the instance-level EBSIOBalance% metric instead tracks the EBS burst bucket of smaller instance sizes). io2 / io2 Block Express is for sustained, very high IOPS (up to 256,000 for Block Express) with sub-millisecond latency and the highest durability (99.999% versus 99.8-99.9% for gp2/gp3), at higher cost. st1/sc1 are throughput-oriented HDD volumes: they cannot be boot volumes and do not deliver high random IOPS.
  • "FSx" and "EFS Performance Modes": Understand the cost implications of different performance modes (e.g., Bursting vs. Provisioned Throughput for "EFS", SSD vs. HDD for "FSx"). Provision only what's needed.
Visual: S3 Storage Cost Optimization Flow

⚠️ Common Pitfall: Ignoring retrieval costs. Moving data to a cheaper storage class like "S3 Glacier" saves on storage costs, but frequent retrieval can make it more expensive overall than keeping it in "S3 Standard-IA" due to higher per-GB retrieval fees.

Key Trade-Offs:
  • Storage Cost vs. Retrieval Cost/Time: Lower storage costs (e.g., "S3 Glacier Deep Archive") come with higher retrieval costs and longer retrieval times (hours).

Reflection Question: How would you combine "S3 Intelligent-Tiering" and "S3 Lifecycle Policies" to optimize costs for storing user-generated content with varying and unpredictable access patterns, ensuring compliance retention while minimizing retrieval cost risks?

See how it connects
Alvin Varughese
Written byAlvin Varughese
Founder•20 professional certifications