Deploying Applications Flashcards

1
Q

What is a DevOps team

A

A team where development and operations functions are merged into a single team where engineers work across the entire application lifecycle, from development and test to deployment to operations, and develop a range of skills not limited to a single function.

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

What are the release process major phases

A

Source, Build, Test, Deploy, Monitor

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

What is Continuous Integration

A

Continuous Integration covers Source, Build and Test Phases. It is the practice of checking in your code to the continuously and verifying each change with an automated build and test process.

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

What is Continuous Delivery

A

Continuous Delivery extends Continuous Integration to include testing out to production-like stages and running verification testing against those deployments. There is some form of manual intervention between a code check-in and when that code is available for customers to use.

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

What is Continuous Deployment

A

Continuous Deployment extends continuous delivery and is the automated release of software to customers from check in through to production without human intervention.

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

What is Infrastructure as Code

A

The capability to define your infrastructure as a series of scripts or other code artifacts, to enable the creation of this infrastructure automatically and in a repeatable fashion, and therefore create multiple environements (dev/test/staging/production) from the same codebase.

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

What is AWS CodeStar

A

AWS CodeStar provides a unified user interface, enabling you to easily manage your software development activities in one place. It allows users to set up the entire continous delivery toolchain in minutes.

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

What is AWS CodePipeline

A

Continuous delivery service for fast and reliable application updates. Contains AWS CodeBuild, Third-party tooling and AWS CodeDeploy.

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

What is AWS CodeCommit

A

AWS CodeCommit CodeCommit enables you to privately store and manage your assets (such as documents, source code, and binary files) in the cloud. It hosts private Git repositories.

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

What is AWS CodeBuild

A

AWS CodeBuild CodeBuild compiles source code, runs tests, and produces software packages that are ready to deploy.

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

What is AWS CodeDeploy

A

AWS CodeDeploy automates code deployments to any instance, in any language and on any operating system.

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

What is AWS X-Ray

A

AWS X-Ray AWS X-Ray helps developers analyze and debug production, distributed applications, such as those built using a microservices architecture.

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

What is Blue/Green deployment

A

• Your blue environment is your existing production environment carrying live traffic.

• In parallel, you provision a green environment, which is identical to the blue environment other than the new version of your code.

• When it’s time to deploy, you route production traffic from the blue environment to the green. If you encounter any issues with the green environment, you can roll it back by reverting traffic back to the original blue environment. DNS cutover and swapping auto-scaling groups are the two most common methods used to re-route traffic in blue/green.

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

How to apply Blue/Green deployment

A

Stand up a new environment, and switch over using Amazon Route 53.
You can use Amazon Route 53 to gradually shift traffic over from the old stack (represented by its public-facing load balancer) to the new stack.

Another way to transition between versions is to modify the launch configuration of your Auto Scaling group.

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

What is the A/B deployment strategy

A

In A/B, the deployment strategy works much like blue/green in that you have two copies of your environment running.

You might choose to send a small percentage of your total traffic to the new app, perhaps to capture user feedback about the changes, or to ensure that no scaling issues were introduced in this new release.

You can gradually increase this traffic, or just collect the needed data from your users. Amazon Route 53 can implement this deployment strategy with weighted round robin.

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

What is AWS Elastic Beanstalk

A

Elastic Beanstalk provides a wrapper for several lower-level AWS services, including Amazon EC2, Amazon CloudWatch, Auto Scaling, and Elastic Load Balancing.

It handles the details of creating and connecting the various components required by your application, such as load balancers and auto scaling groups.

It configures each EC2 instance in your environment with the components necessary to run applications for the selected platform.

17
Q

What are the 3 elements to understand in AWS Elastic Beanstalk

A
  • Environment : the infrastructure the supports your application
  • Version : a specific release of your application
  • Configuration : the set of customization to apply to your environment.
18
Q

What is the Elastic Beanstalk permission model

A

In order to work properly, AWS Elastic Beanstalk must create two roles.

• The service role gives Elastic Beanstalk the permission to create and manage AWS resources in your account.

• The instance role is used by Elastic Beanstalk as the role into which your instance is launched.

19
Q

How do you access AWS Services from your instances

A

Add these permissions to the default instance role created by Elastic Beanstalk, or create and use a new role.

20
Q

How do you customize the default environment

A

Write into the .ebextensions/config.yml file that was created when you ran eb init is your project’s environment configuration file: a YAML formatted file that supports a large number of options for configuring your default environment.

21
Q

How to deal with versions with Elastic Beanstalk

A

2 options :
- Perform an in-place update.
- Deploy a new environment using the “eb clone” feature, update it with new version, test, and finally, use the eb swap command to swap the CNAME from your running stack to the new stack and cut all users over to the new version.