Elastic Beanstalk Flashcards

1
Q

What is Elastic Beanstalk?

A

It is a service for deploying and scaling web applications. Developers don’t have to worry about the underlying infrastructure that is needed to run the application.

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

What 8 programming technologies is supported by Elastic Beanstalk?

A
  • Java
  • Python
  • Go
  • Docker
  • .NET
  • Node.js
  • PHP
  • Ruby
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What application server platforms are supported?

A
  • Apache Tomcat
  • Nginx
  • Passenger
  • Puma
  • IIS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What will Elastic Beanstalk handle for you?

A
  • Capacity provisioning
  • Deployment
  • Load balancing
  • Auto-scaling
  • Application health
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What do you pay for?

A

You only pay for the AWS resources required to store and run your applications.

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

What more than deployment is included in Elastic Beanstalk?

A
  • Update
  • Monitoring
  • Metrics
  • Health checks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Which are the four deployment policies used by elastic Beanstalk? How do they work?

A
  • All at Once
  • Deploys the new version to all instances simultaneously
  • All of your instances are out of service while the deployment takes place
  • If the update fails, you need to roll back the changes by re-deploying the original version to all your instances
  • Rolling
  • Deploys the new version in batches
  • Each batch of instances is taken out of service while the deployment takes place
  • E.g. if you have ten EC2 instances and you deploy in batches of 2, then you will have 8 operating instances at all times during the deployment
  • Your environment capacity will be reduces by the number of instances in a batch while the deployment takes place
  • Not ideal for performance sensitive systems
  • If the update fails, you need to perform an additional rolling update to roll back the changes
  • Rolling with Additional Batch
  • Launches an additional batch of instances
  • Deploys the new version in batches
  • Maintains full capacity during the deployment process
  • If the update fails, you need to perform an additional rolling update to roll back the changes
  • Immutable
  • Deploys the new version to a fresh group of instances in their own new autoscaling group
  • When the new instances pass their health check, they are moved to your existing autoscaling group; and finally, the old instances are terminated
  • Maintains full capacity during the deployment process
  • The impact of a failed update is far less, and the rollback process requires only to terminating the new autoscaling group
  • Preferred option for Mission Critical production system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What format can be used to write the Elastic Beanstalk configuration files?

A

YAML and JSON.

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

What extension must the config files have?

A

.config

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

What folder must the config files be saved into?

A

In the .ebextensions folder. The .ebextensions folder must be included in the top-level directory of your application source code bundle.

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

What are the two ways of integrating an RDS database with your Elastic Beanstalk environment?

A
  • Launch the RDS from within Elastic Beanstalk:
  • The RDS instance is created within your Elastic Beanstalk environment
  • Good option for Dev and Test deployments
  • If you terminate the environment, the database instance will be terminated as well
  • Launch the RDS from outside Elastic Beanstalk:
  • This decouples the RDS instance from the EBS environment
  • Gives more flexibility
  • Allows you to connect multiple environments to the same database
  • Provides a wider choice of database types
  • Allows you to tear down your environment without affecting the database instance
  • You need to add an additional Security Group to your environment’s Auto Scaling group
  • You’ll need to provide connection string configuration information to your application servers (endpoint, password) using Elastic Beanstalk environment properties
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

You can deploy your Docker container using Elastic Beanstalk, how?

A
  • You can deploy your Docker container to a single EC2 instance
  • or, You can deploy multiple Docker instances to an ECS cluster
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Elastic Beanstalk and Docker, from where can the code be uploaded?

A
  • A public S3 bucket or you local machine.

- You can also store the code in CodeCommit, but then you will have to use the Elastic Beanstalk CLI

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