Deployment (Elastic Beanstalk, Cloud Formation, Code Deploy, Code Pipeline)) Flashcards

1
Q

What does elastic beanstalk do?

A

like a wizard that helps manage your applications (consists of apps, environments, versions)

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

What are use cases of Elastic Beanstalk?

A

Picture a helpful assistant handling routine tasks for you. Elastic Beanstalk is used for deploying, scaling, and managing web applications seamlessly without worrying about the underlying infrastructure.

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

How is elastic beanstalk related to EC2 instances?

A

It is one layer of abstraction away from EC2 instances because Elastic Beanstalk sets up the environment for you to contain multiple EC2 instances

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

What are the pros and cons of blue-green deployment?

A

Pro: Ensures zero downtime during updates, easy roll back
Con: Requires additional resources for duplicate environments.

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

What are the pros and cons of in-place deployment

A

Pro: Quick and simple with minimal setup.
Con: May result in downtime during updates.

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

Will the security group be removed when removing the stack with elastic beanstalk

A

No the security group WON’T be removed because it might be shared across multiple resoures

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

When should you use the elastic beanstalk worker environment?

A

for long running tasks because the worker environment can process tasks asynchronously

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

What is Elastic Beanstalk Launch Configuration used for?

A

Elastic Beanstalk Launch Configuration is used for modifying instance types, key pairs, elastic block storage and other settings that can only be configured when launching an instance

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

You are deploying an update for an app and don’t mind if it is offline for the duration of the update. Which deployment strategy do you use?

A

All at once

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

You are deploying an update for an app that needs to stay online, but can handle a reduction in capacity. Which deployment strategy do you use?

A

Rolling

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

You are provisioning new servers for deploying a new app in Elastic Beanstalk. What 2 deployment options do you have?

A
  • Rolling with Additional Batch (Deploys the new version in batches while launching a separate batch of instances. Useful when you want to minimize the risk of downtime)
  • Immutable (Deploys the new version to a fresh group of instances, allowing a quick rollback if issues arise (you need the ability to quickly and reliably roll back to the previous application version if any issues arise during the deployment process))
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe 2 common ways to implement blue green deployment?

A
  1. Use DNS Switching
    (when a new version of the software is ready for deployment, the DNS settings are updated to redirect the traffic from the blue environment to the green one)
  2. Use load balancer
    (By updating the load balancer configuration, traffic can be smoothly redirected from one environment to another during the deployment process. This ensures a smooth transition for users without interrupting the service)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What open-source tool can you use to create your own Elastic Beanstalk platform and why would you need to create your own Elastic Beanstalk platform

A

You could use Packer to create your own Elastic Beanstalk platform

You might need to do this because you have specific software dependencies or configurations that are not available by default in the standard Elastic Beanstalk platform.

For instance, consider an application that requires a specific version of a software library or package that is not readily available in the default Elastic Beanstalk environment. By using Packer, you can create a custom machine image that includes the necessary software dependencies, configurations, and libraries required by your application.

Furthermore, if your application requires specific security settings or compliance requirements that need to be consistently applied across different environments, creating a custom Elastic Beanstalk platform using Packer can ensure that these configurations are included in the machine image, guaranteeing consistency and security across various deployment environments.

By leveraging Packer to create a customized Elastic Beanstalk platform, you can ensure that your application’s specific requirements are met, providing a tailored environment that supports the unique needs of your application, including specific software versions, configurations, and security settings. This can help streamline the deployment process and ensure that your application runs smoothly and securely within the Elastic Beanstalk environment.

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

In Elastic Beanstalk are the appspec.yaml and appspec.json the same thing?

A

Yes

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

In Elastic Beanstalk are the cron.yaml or cron.config the same thing?

A

Yes

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

What are the appspec.yaml used for?

A

specifics deployment instructions in AWS Code Deploy

can be used with Elastic Beanstalk to deploy new application versions

yaml means human readable format

17
Q

What is the cron.yaml or cron.config used for?

A

sets up scheduled tasks (cron jobs) for your application in Elastic Beanstalk

18
Q

What is a CloudFormation changeset?

A

A summary of proposed changes to a CloudFormation stack, used for reviewing changes before implementation.

19
Q

What is a CloudFormation StackSet?

A

Enables managing stacks across multiple AWS accounts and regions simultaneously, ensuring consistent configuration

20
Q

What is a CloudFormation artifiact?

A

A deployable component used for packaging and deploying applications or resources, facilitating automated deployment processes.

21
Q

What is Code Pipeline

A

a service that automates the building, testing, and deployment of your applications on AWS

22
Q

What are the pros and cons of Elastic Beanstalk All-at-once deployment policy

A

All-at-once:
Pro: Fast and straightforward.
Con: Risky if issues arise.

23
Q

What are the pros and cons of Elastic Beanstalk Rolling deployment policy

A

Rolling:
Pro: Minimal user impact.
Con: Longer deployment duration.

24
Q

What are the pros and cons of Elastic Beanstalk Rolling with Additional Batch deployment policy

A

Rolling with Additional Batch:
Pro: Controlled and cautious.
Con: Longer deployment time compared to all-at-once.

25
Q

What are the pros and cons of Elastic Beanstalk Immutable deployment policy

A

Immutable:
Pro: Ensures consistency and safety.
Con: Requires additional resources and setup.

26
Q

What do serverless services like Lambda functions do?

A

Use special tools to create functions and services without managing servers.

27
Q

What do API Gateway APIs do?

A

Build a pathway for communication using specific tools.

28
Q

What do DynamoDB tables do?

A

Set up tables for data storage using dedicated tools.

29
Q

When is the buildspec.yml file used?

A

CodeBuild

30
Q

What is in the buildspec.yml file?

A

define the build commands and settings for your project

ie., build phases, build commands and artifacts to include in final build output

31
Q

What property do you use to run the buildspec.yml without having to access the code?

A

buildSpecOverride property