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

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

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
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
Traffic Splitting
26
What does Elastic Beanstalk rely on under the hood?
CouldFormation
27
What is CloudFormation used for?
To provision AWS services
28
What is Elastic Beanstalk Cloning?
Clone an environment with the exact same configuration
29
All..... and ...... are preserved when you clone and enviornment.
resources, configurations
30
31
What does Elastic Beanstalk do?
Automatically handles infrastructure tasks like provisioning, load balancing, and scaling.