What is AWS Auto Scaling?
AWS Auto Scaling is a separate service from "EC2 Auto Scaling" that allows you to configure scaling for multiple resources across different services from a single user interface. It creates a "Scaling Plan" for your application.
Key Concepts
1. Unified Scaling
- Scale all dependent resources together: EC2 Auto Scaling Groups, EC2 Spot Fleets, ECS Tasks, DynamoDB Tables, and Aurora Replicas.
2. Predictive Scaling
- Uses Machine Learning to analyze historical traffic data and forecast future demand.
- Proactively launches instances before the traffic spike happens (unlike standard Auto Scaling which reacts after).
Exam Tips
[!IMPORTANT] "Scale multiple resources at once" or "Predictive scaling using ML": The answer is AWS Auto Scaling.
[!NOTE] EC2 Auto Scaling vs AWS Auto Scaling:
- EC2 Auto Scaling: Specifically for EC2 instances (scaling groups).
- AWS Auto Scaling: The umbrella service for scaling EC2, DynamoDB, ECS, etc., and provides Predictive Scaling.
Common Use Cases
- Complex Apps: An app with a frontend (EC2), backend (ECS), and database (DynamoDB) that all need to scale in sync.
- Predictable Traffic: A retail site that always surges at 9 AM. Predictive scaling warms up resources by 8:50 AM.