DevOps In AWS Flashcards

1
Q

Break down the difference between
Continuous Integration
Continuous Delivery
Continuous Deployment

A

CI is about integrating code changes frequently and checking for conflicts and issues.

CDelivery - automates the process of packaging and deploying software to different environments like testing

CDeployment - automatically deploys code changes to production after passing tests and checks.

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

What are the tools within AWS that make up the CI/CD pipeline?

A

Code Pipeline - CI/CD Orchestration
Code Commit
Code Build
Code Deploy

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

Benefits of Iac 5

A

Automation
Replicability
Scalability
Testing and Validation
Versioning

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

What are the IaC tools in AWS

A

AWS CloudFormation
AWS CDK (Cloud Development Kit)
AWS SAM (Serverless Application Model)

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

Deployment Approach: Canary

A

Gradually rolling out new features or updates to a subset of users or traffic.

It allows for testing and gathering feedback before deploying to the entire user base.

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

Deployment Approach: Rolling vs Canary Risks

A

Rolling deployments help manage risks, but to a lesser extent compared to canary deployments. As the new version is rolled out across more servers, any issues may affect a larger number of users, requiring appropriate monitoring and rollback mechanisms.

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

Deployment Approach: Blue Green

A

Two identical environments, “blue” and “green,” are set up.

The new version of the application is deployed to the “green” environment, which is then tested and validated.

Once validated, traffic is switched from the “blue” environment to the “green” environment, effectively deploying the new version.

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

Q: What is DevOps?

A

DevOps is a software development approach that combines development (Dev) and operations (Ops) teams to improve collaboration, automate processes, and deliver software more rapidly and reliably.

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

Q: What are the key principles of DevOps? 5

A

The key principles of DevOps include:
Continuous integration
Continuous delivery
Infrastructure as code
Automation & Collaboration, and
Monitoring

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

What is the role of configuration management in DevOps?

A

Managing and maintaining consistent configurations of systems and infrastructure across your architecture.

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

What does configuration management help you achieve? 3

A

Ensures reproducibility, scalability, and reducing manual errors.

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

What are the benefits of using containers in DevOps? 3

A

Containers provide
Portability
Scalability
Isolation for applications

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

How does monitoring contribute to DevOps practices? 3

A

Real-time visibility into application and infrastructure performance

Early Identification of issues to make data-driven decisions

Ensures system reliability

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

Explain the approval process in relation to continuous delivery?

A

The initiation of continuous delivery process is automated but requires a manual approval step before the application is deployed to production.

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

What is the function of the manual approval step in continuous delivery model?

A

The approval step allows stakeholders to review and validate the changes before they are released to prod.

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

Explain the approval process in relation to continuous deployment?

A

Continuous deployment automatically deploys the application to production without a manual approval process.

This makes the release process more streamlined and immediate.

17
Q

How will you approach a project that needs to implement DevOps?

A

DevOps Implementation Stages:
Stage 1: Assess existing process, identify improvement areas, and create a roadmap.
Stage 2: Create a proof of concept (PoC) and gain approval for implementation.
Stage 3: Implement DevOps with version control, integration, testing, delivery, deployment and monitoring in a step-by-step approach.