AWS Auto Scaling automatically adjusts the number of EC2 instances based on demand.
**How it works:**
1. You define a **Launch Template** (which AMI, instance type, security groups)
2. You create an **Auto Scaling Group** with min/max/desired instance counts
3. You set **Scaling Policies** based on CloudWatch metrics
**Types of scaling:**
- **Dynamic scaling** — responds to real-time demand (CPU > 70% → add instances)
- **Scheduled scaling** — scale at specific times (add capacity every Friday 6pm)
- **Predictive scaling** — ML-based, forecasts demand before it happens
**Result:** Your app handles traffic spikes automatically and costs less during quiet periods.