AWS Fundamentals: ELB + ASG Flashcards
What does “Scalability” mean?
An application’s / system’s ability to handle greater loads by adapting
Two kinds of scalability?
- Horizontal - elasticity
- Vertical
Vertical Scalability means..
increasing the size of your instance
What is “Vertical Scalability” common for?
Non distributed system such as a database
What are the limits of “Vertical Scalability”
Hardware limits
Horizontal Scalability means…
increasing the number of instances/systems for your application
What is “distributed systems”?
a collection of computer programs that work together to complete a task or provide a service.
Horizontal Scaling implies…
you have distributed systems
What is “High Availability”?
Running your application / system in at least two data centers (availability zones)
Main goal of “high availability”
survive data center loss
What is “load balancing”?
servers(behind the scene servers) forward traffic to multiple servers (e.g. EC2 instances) downstream
Why use a load balancer?
- Spread load across multiple downstream instances
- Expose a single point of access (DNS) to your application
- Seamlessly handle failures of downstream instances
- Provide SSL termination (HTTPS) for you websites
- Enforce stickiness with cookies
- High availability across zones
- Separate public traffic from private traffic
What is an “elastic load balancer”?
A managed load balancer that:
- AWS guarantees that it will be working
- AWS takes care of upgrades, maintenance, high availability
- AWS provides only a few configuration knobs
What are “Health Checks”?
Enables the load balancer to know if instances it forwards traffic to are available to reply to requests
Where are health checks done?
on a port and a route (/health is common)