Elastic Load Balancing and Auto Scaling Groups Flashcards
1
Q
What is scalability?
A
- An application can handle different loads by adapting
2
Q
What is vertical scalability?
A
- Increasing the size of an EC2 instance
- ex: from t2.micro -> t2.large
- useful/common for non-distributed system like a DB
- does not provide better fault tolerance
- limited by single hardware capability
- more expensive than horizontal scaling
3
Q
What is horizontal scalability?
A
- Increasing the number of instances for an application
- Implies distributed systems
- Common for web apps
- Very easy to configure
4
Q
What is high availability?
A
- running application in at least 2 AZ’s
- goal is to survive a data center loss
5
Q
Scalability vs. Elasticity vs. Agility
A
- Scalability accommodate different loads by scaling up or out (more nodes)
- Elasticity: ability to auto-scale based on application load parameter. Match demand, optimize costs
- Agility (not related to active managment) ability to deploy resources quickly and easily
6
Q
What is load balancing?
A
- Servers that forward traffic to multiple downstream application servers/instances
- LB servers are managed by AWS
7
Q
Benefits of load balancing?
A
- Spread load
- Application has single access point
- Handles downstream instance failures
- Performs health checks
- Provide HTTPS
- High availability across AZ’s
8
Q
Why use Elastic Load Balancer?
A
- Implements elasticity
- Managed (AWS guarantees working, available)
- Easy to configure
- Dynamic scaling
9
Q
What are the load balancers offered by AWS?
A
- Application Load Balancer (HTTP/HTTPS only). Layer 7. Based on content
- Network Load Balancer (high performance TCP). Layer 4
- Classic (deprecated)
10
Q
What is an Auto-Scaling Group?
A
- Can automatically scale instances up/down and out/in
- Ensure a minimum number of instances are running
- Register new instances to load balancer
- Replace unhealthy instances
- Run workload at optimal capacity
- Only for instances of same type