ELB & ASG Flashcards

1
Q

Scalability

A

Means that an application / system can handle greater loads by adapting.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vertical Scalability (= scale up / down)

A

Means increasing the size of the instance. For example, your application runs on a t2.micro, scaling that application vertically means running it on a t2.large.

-Very common for non distributed systems, such as a database.
-There’s usually a limit to how much you can
vertically scale (hardware limit)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Horizontal Scalability (= scale out / in)

A

Means increasing the number of instances /
systems for your application.

-Implies distributed systems
-Very common for web applications / modern applications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

High Availability

A

Means running your application / system in at
least 2 Availability Zones.

-The goal of high availability is to survive a data center loss (disaster)
-Auto Scaling Group multi AZ
-Load Balancer multi AZ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Elasticity

A

Once a system is scalable, elasticity means that there will be some “auto-scaling” so that the system can scale based on the load. This is “cloud-friendly”: pay-per-use, match demand, optimize costs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Agility

A

New IT resources are only a click away, which means that you reduce the time to make those resources available to your developers from weeks to just minutes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is load balancing?

A

Are servers that forward internet traffic to multiple servers (EC2 Instances) downstream.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Why use a load balancer?

A

• Spread load across multiple downstream instances
• Expose a single point of access (DNS) to your application
• Seamlessly handle failures of downstream instances
• Do regular health checks to your instances
• Provide SSL termination (HTTPS) for your websites
• High availability across zones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Why use an Elastic Load Balancer?

A

• An ELB (Elastic Load Balancer) is a managed load balancer
• It costs less to setup your own load balancer but it will be a lot more effort on your end.
• 3 kinds of load balancers offered by AWS:
• Application Load Balancer (HTTP / HTTPS
only) – Layer 7
• Network Load Balancer (ultra-high
performance, allows for TCP) – Layer 4

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What’s an Auto Scaling Group?

A

Lets you build scaling plans that automate how groups of different resources respond to changes in demand.

• Cost Savings: only run at an optimal capacity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

The goal of an Auto Scaling Group (ASG) is to:

A

• Scale out (add EC2 instances) to match an increased load
• Scale in (remove EC2 instances) to match a decreased load
• Ensure we have a minimum and a maximum number of machines running
• Automatically register new instances to a load balancer
• Replace unhealthy instances

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Auto Scaling Groups – Scaling Strategies

A

• Manual Scaling: Update the size of an ASG manually
• Dynamic Scaling: Respond to changing demand
• Predictive Scaling: Uses Machine Learning
to predict future traffic ahead of time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Dynamic Scaling

A

• Simple / Step Scaling
• When a CloudWatch alarm is triggered
(example CPU > 70%), then add 2 units
• Target Tracking Scaling
• Example: I want the average ASG CPU to stay
at around 40%
• Scheduled Scaling
• Anticipate a scaling based on known usage
patterns, Example: increase the min. capacity to
10 at 5 pm on Fridays

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Predictive Scaling

A

• Uses Machine Learning to predict future traffic ahead of time
• Automatically provisions the right number of EC2 instances in advance
• Useful when your load has predictable time- based patterns

How well did you know this?
1
Not at all
2
3
4
5
Perfectly