DevOps Flashcards

1
Q

explain the differences between docker image and docker container

A

docker images are templates of docker containers, containers are runtime instances of docker docker images. An image is build using Docker file, containers are created using docker images. Images are stores in a docker repo containers are stored in the docker daemon. The image layer is read only.

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

What are the advantages of docker ?

A

occupy less space. short boot up time, easy to scale up, High efficiency, easily portable across different platforms, data volumes are shared and used again across multiple containers.

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

what are the ways in which a build can be scheduled in Jenkins ?

A

By source code mgt commits ie webhooks, After the completion of other builds, scheduled to run at a specific time, manual build.

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

explain the concept of branching in git

A

Suppose you are working on an app, and you want to add a new feature to the app , you can create a new new branch and build the new feature to the branch.

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

what is the difference between git fetch and git pull?

A

git fetch only downloads new data from a remote repo, git pull updates the current head branch with the latest changes. Git fetch does not integrate any new data into your working file, git pull downloads new data and integrates it with the current working files.

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

what is the process of reverting a change that has already been pushed and made public?

A

remove or fix the bad file in a new commit and push it to the remote repo. create a new commit that undo’s all the changes made in the bad commit. git revert <command></command>

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

what is the difference between a centralized and distributed VCS?

A

In a centralized VCS, all file versions are stored in a central server, no developer has a copy of all files on a local system. In a distributed VCS, every developer has a copy of all versions of the code on their systems. There is no threat even if the server crashes.

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

What is blue green deployment?

A

It is a method of CD where traffic is transferred from one instance to another , in order to include a fresh version of the code. The new version exists in a green env and the old version exists in a blue env.

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

what is shift left?

A

It refers to starting testing and quality assurance earlier in the software development process instead of waiting till the end of development to test the software. this helps to identify and fix issues sooner, leading to higher quality software and a more efficient development process.

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

Describe the branching strategy you have used.

A

Feature Branching: Maintains all modifications for a specific feature contained withing a branch. the branch gets merged into main once the feature has been completely tested and approved by using automated tests. GITFLOW: A branching model with dedicated branches for feature, release and hot fixes and a main branch for stable releases.

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

what are the benefits of using VCS?

A

See who made what changes to the a project, team members can work on any file at anytime which can be integrated into a single version, All previous versions are properly stores. A complete history of a project can be retrieve even if the main server goes down.

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

what is the role of AWS in DevOps?

A

provides ready to use services without the need to install the software. it allows you to automate tasks, giving you more time to innovate, It supports a large ecosystem of partners that integrate with and extend aws services.

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

Name three important KPI’s (key performance indicators) in DevOps

A

KPI’s are metrics used to elevate the effectiveness and success of DevOps practices within an org. DEPLOYMENT FREQUENCY: How often new code is deployed to production. MTTR: the average time it takes to recover from production failure. CHANGE FAILURE RATE: The percentage of deployment that causes failure in production.

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

what is the role of configuration management in DevOps?

A

Enables the management of multiple systems, standardizes resource configurations, helps with the management of multiple servers and maintains the integrity of the entire infrastructure.

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

what is the difference between CD and CI?

A

Continuous delivery delivers every change to a production like env’t through rigorous automated testing. In continuous deployment, every change that passes the automated tests is deployed to production automatically.

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

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

A

Assess the project and create a road map, create a POC before starting the actual project plan, Go ahead and implement DevOps by using VCS, integration, testing, deployment, delivery and monitoring.

17
Q

What are some of the core benefits of DevOps/

A

continuous software delivery
less complex problems to manage
early detection and faster correction of defects
stable operating environment
improved operating environment
improved communication and collaboration between teams.

18
Q

what are the different phases in DevOps?

A

PLAN: get a rough picture of the process
CODE: written as per user requirements
BUILD: The code
TESTS: test the app, rebuild if necessary
INTEGRATE: integrate multiple codes into VCS
DEPLOY: code is deployed into a cloud env
OPERATE: perform operations if required
MONITOR: changes are made to meet end user requirements.

19
Q

How is DevOps different from agile methodology?

A

DevOps is a culture that allows the dev and ops teams to work together, this results in continuous development, testing, integration, deployment and monitoring of the software through the lifecycle.
Agile is a SD methodology that focuses on iterative, incremental, small and rapid releases of software along with customer feedback. It addresses the gaps and conflicts between the customer and developer.

20
Q

what is CI?

A

A software development practice where members of a team integrate their code changes frequently, typically multiple times a day.

21
Q

what is continuous delivery?

A

A software development practice that aims to automate the process of delivering code changes to production in a reliable and efficient manner.

22
Q

what is DevOps?

A

A combination of bests practices and tools that enhance the ability of an organization to deliver application and services quickly with a minimal failure rate.

23
Q

How do you resolve a git conflict?

A

identify the conflict files
find remove the conflict markers in a text editor
manually merge the changes, save the changes and commit push the changes to the remote repo.

24
Q

what is a VCS?

A

A software that allows multiple contributors to work on the same set of files, keeping track of who made changes and when.

25
Q

what is the difference between git pull and git fetch?

A

Git fetch downloads changes from the remote repo to the local repo, git pull downloads and merges the changes to the local repo.

26
Q

what is branch in git?

A

a separate code base created from the main codebase to develop new features or fox issues.

27
Q

what is a pull request?

A

a process of submitting changes made in a branch to be reviewed and merged to the main code base.

28
Q

what is the difference between git and GitHub?

A

git is a VCS used to manage and keep track of changes in software development projects.
GitHub is a web based platform hosting git repositories.

29
Q

what do the git diff and git status commands do?

A

git diff shows the changes made in a file since the last commit, git status lists all modified files untracked files, and staged files.

30
Q

what command is used to delete a branch ?

A

git branch -d <branch></branch>

31
Q

what is git remote and git clone commands?

A

git remote allows you to manage the set of remote repositories that your local repo knows about
Git clone creates a copy of an existing repo on your local machine.

32
Q

what do UAT and QA teams test for?

A

QA makes sure the application behaves as expected and performs its intended functions correctly.
User Acceptance Testing is performed by end-users who represent the target audience. This is to make sure the software meets end-user needs.

33
Q

what is code functionality?

A

Ensuring that code is behaving as intended, delivers the expected functionality to end users.

34
Q

what is code analysis?

A

code analysis is the process of examining a source code for any potential issues and ensures adherence to coding standards and best practices.

35
Q

what is CI?

A

CI involves regularly merging code changes into a shared
repository. It helps identify and fix integration issues early,
ensuring a more stable and reliable codebase

36
Q

What is Continuous Deployment (CD) in DevOps?

A

CD automates the process of deploying code changes to
production after passing automated tests. It allows for faster and
more frequent releases

37
Q

How does version control contribute to DevOps
practices

A

Version control, like Git, helps track changes in code, collaborate
efficiently, and roll back to previous states if needed. It ensures
code integrity and collaboration among team members

38
Q

What are containers, and how do they facilitate
DevOps workflows

A

What are containers, and how do they facilitate
DevOps workflows