AWS Elastic Beanstalk Flashcards

1
Q

What is Elastic Beanstalk?

A

Simplifies deploying, managing, and scaling web applications.

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

What are the Elastic Beanstalk components?

A

Application, Application version, & Environment.

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

What is the Application component?

A

Collection of Elastic Beanstalk components (environments, versions, configurations, …)

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

What is the Application Version?

A

An iteration of your application code

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

What is the Environment component?

A

Collection of AWS resources running an application version (only one application
version at a time)

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

What are the two tiers for the Environment component?

A

Web Server Environment Tier & Worker Environment Tier

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

Features:
- Utilizes a load balancer to direct traffic.
- Employs an auto-scaling group with multiple EC2 instances functioning as web servers.
- This setup is referred to as “architecture number one with Beanstalk.”
- Scale based on the number of SQS messages
- Can push messages to SQS queue from anotherWeb ServerTier

A

Traditional Web Tier Architecture

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

What is the Integration of Web and Worker Environments?

A

The web environment can push messages into the SQS queue used by the worker environment, linking both systems effectively.

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

Features:
- Does not have direct client access to EC2 instances.
- Utilizes an SQS (Simple Queue Service) queue to hold incoming messages.
- EC2 instances act as workers, pulling and processing messages from the SQS queue.
- Scales based on the number of messages in the SQS queue; more messages trigger more EC2 instances.
- Referred to as “architecture number two with Beanstalk.”

A

Beanstalk Worker Environment

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

What are the two deployment modes?

A
  1. Single Instance Deployment
  2. High Availability Deployment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Features:
- Suitable for development purposes.
- Consists of a single EC2 instance with an Elastic IP.
- May include additional resources like an RDS database.
- Offers a straightforward setup for simpler, non-scalable applications.

A

Single Instance Deployment

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

Features:
- Ideal for production environments.
- Utilizes a load balancer to distribute traffic across multiple EC2 instances.
- Includes an auto-scaling group to manage the scaling of instances across multiple Availability Zones.
- Often features an RDS database configured for multi-AZ deployments to ensure high availability and failover support.

A

High Availability Deployment

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

What are Beanstalk Deployment Options?

A
  • All at once
  • Rolling
  • Rolling with additional batches
  • Immutable
  • Blue Green
  • Traffic Splitting
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is All at once deployment?

A

(deploy all in one go) – fastest, but instances aren’t available to serve traffic for a bit (downtime)

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

What is “Rolling” deployment?

A

Update a few instances at a time (bucket), and then move onto the next bucket once the first bucket is healthy

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

What is “Rolling with additional batches” deployment?

A

Like rolling, but spins up new instances to move the batch (so that the old application is still available)

17
Q

What is “Immutable” deployment?

A

Spins up new instances in a new ASG, deploys version to these instances, and then swaps all the instances when everything is healthy

18
Q

What is “Blue Green” deployment?

A

Create a new environment and switch over when ready

19
Q

What is “Traffic Splitting” deployment?

A

Canary testing – send a small % of traffic to new deployment

20
Q

Features:
- Fastest deployment
- Application has downtime
- Great for quick iterations in development environment
- No additional cost

A

All at once

21
Q

Features:
- Application is running at capacity
- Can set the bucket size
- Application is running both versions simultaneously
- Small additional cost
- Additional batch is removed at the end of the deployment
- Longer deployment
- Good for prod

A

Rolling with additional batches

22
Q

Features:
- Application is running below capacity
- Can set the bucket size
- Application is running both versions simultaneously
- No additional cost
- Long deployment

A

Rolling

23
Q

Features:
- Zero downtime
- New Code is deployed to new instances on a temporary ASG
- High cost, double capacity
- Longest deployment
- Quick rollback in case of failures (just terminate new ASG)
- Great for prod

A

Immutable

24
Q

Features:
- Not a “direct feature” of Elastic Beanstalk
- Zero downtime and release facility
- Create a new “stage” environment and deploy v2 there
- The new environment (green) can be validated independently and roll back if issues
- Route 53 can be setup using weighted policies to redirect a little bit of traffic to the stage environment
- Using Beanstalk, “swap URLs” when done with the environment test

A

Blue / Green

25
Q

Features:
- Canary Testing
- New application version is deployed to a temporary ASG with the same capacity
- A small % of traffic is sent to the temporary ASG for a configurable amount of time
- Deployment health is monitored
- If there’s a deployment failure, this triggers an automated rollback (very quick)
- No application downtime
- New instances are migrated from the temporary to the original ASG
- Old application version is then terminated

A

Traffic Splitting

26
Q

What does Elastic Beanstalk rely on under the hood?

A

CouldFormation

27
Q

What is CloudFormation used for?

A

To provision AWS services

28
Q

What is Elastic Beanstalk Cloning?

A

Clone an environment with the exact same configuration

29
Q

All….. and …… are preserved when you clone and enviornment.

A

resources, configurations

30
Q
A
31
Q

What does Elastic Beanstalk do?

A

Automatically handles infrastructure tasks like provisioning, load balancing, and scaling.