CoursesAWS Solutions Architect AssociateSecurity, cost & Well-Architected

Cost optimization

Pricing models, right-sizing, tiering, visibility.

Advanced25 min · lesson 14 of 15

Cost Optimization is a first-class Well-Architected pillar, and cloud makes cost an engineering concern: you pay for what you provision, so architecture decisions are cost decisions. The levers are pricing models, right-sizing, storage tiering, and visibility.

Pricing models and right-sizing

The biggest compute savings come from matching pricing models to usage: commit with Savings Plans or Reserved Instances for your steady baseline (up to ~70% off), use On-Demand for variable load, and Spot for fault-tolerant, interruptible work (up to ~90% off). On top of that, right-size — match instance and resource sizes to actual utilization using CloudWatch metrics and Compute Optimizer, rather than over-provisioning "to be safe" or defaulting to large instances. Turn off or scale down idle resources (dev environments overnight, for example). Serverless and managed services also cut cost by charging only for use and removing the operational overhead of idle capacity.

the cost-optimization levers
# LEVER ACTION
# pricing models → Savings Plans/RIs (baseline) + On-Demand + Spot (bulk)
# right-sizing → match size to utilization (Compute Optimizer)
# storage tiering → S3 lifecycle → IA/Glacier; delete unneeded data
# idle resources → schedule dev off-hours; scale in when idle
# managed/serverless → pay per use, no idle capacity to run
# visibility → tags + Cost Explorer + Budgets/alerts

Storage tiering and visibility

Storage cost is optimized with S3 lifecycle rules that move cold data to Infrequent Access or Glacier and expire what is no longer needed, plus choosing the right EBS volume types and deleting unattached volumes and old snapshots. Underpinning all of it is visibility: a consistent tagging strategy (owner, environment, cost-center) lets you attribute spend, Cost Explorer shows where money goes, and Budgets alert before you overspend. Cost optimization is not a one-time cleanup but an ongoing practice — you continuously right-size, adjust commitments as usage stabilizes, and remove waste. An architecture that is cheap to run is a design outcome, achieved by matching every resource to real demand.

Cost optimization loop
1gain visibility
tags + Cost Explorer + Budgets
2right-size
match resources to utilization
3commit + tier
Savings Plans, Spot, S3 lifecycle
4remove waste
idle resources, old snapshots
Cost is an ongoing engineering practice: see the spend, right-size, commit for the baseline, tier storage, and cut idle waste.
Over-provisioning "to be safe" is the most common waste
Defaulting to oversized instances and always-on resources to avoid capacity worries quietly runs up the bill. Right-size to actual utilization, scale elastically so capacity follows demand, and schedule non-production resources off when idle — cloud lets you pay for what you use, so provisioning for a worst case you rarely hit is pure waste.