Elastic Load Balancing and Auto Scaling Groups Flashcards
What is another term for horizontal scalability?
Elasticity
What is vertical scalability?
Increasing the size of the instance (e.g. more RAM, CPU, etc.)
What is the mechanism for horizontal scalability?
Add more instances
What does high availability mean?
Running your applications in more than 1 AZ. This builds fault tolerance as if one AZ goes down, you can switch to the failover - thus increasing availability of your resources.
What is agility in reference to the tools that the cloud provides?
The idea that they are only one click away which means that you reduce the time to make those resources available to developers from weeks to minutes.
What is a load balancer?
Servers that forward traffic to multiple servers downstream, making sure that no one server will take on all of the load
Why are load balancers useful?
- Allows us to balance the backend more effectively
- Handles failures of instances effectively
- High availability across zones
What are the 3 types of load balancer and what layers do they operate at?
- Application load balancers (layer 7)
- Network load balancers (layer 4)
- Gateway load balancers (layer 3)
What is an auto scaling group used for?
To automatically create servers on the backend to adjust for demand. This increases scalability.
What are the 4 different dynamic scaling types for an auto scaling group?
- Simple/step scaling (like a decision rule, e.g. if CPU usage > 70%, add 2 units)
- Target tracking scaling (e.g. I want the average CPU usage to be at 40% < x < 50%)
- Schedule scaling (anticipate scaling based on seasonal patterns)
- Predictive scaling (using ML to predict demand ahead of the kerb)