0% found this document useful (0 votes)
4 views15 pages

Question Set 4 Devops

The document provides an overview of DevOps, emphasizing its role in integrating development and operations to enhance software delivery through automation and collaboration. It outlines key tools, methodologies, and practices such as Continuous Integration, Continuous Testing, and Configuration Management, while also detailing the responsibilities of a DevOps engineer. Additionally, it discusses the importance of metrics and KPIs in measuring the success of DevOps implementations.

Uploaded by

siaashah2006
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views15 pages

Question Set 4 Devops

The document provides an overview of DevOps, emphasizing its role in integrating development and operations to enhance software delivery through automation and collaboration. It outlines key tools, methodologies, and practices such as Continuous Integration, Continuous Testing, and Configuration Management, while also detailing the responsibilities of a DevOps engineer. Additionally, it discusses the importance of metrics and KPIs in measuring the success of DevOps implementations.

Uploaded by

siaashah2006
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Prepare according to Your Syllabus.

You can refer below website for Following Questions:

Top DevOps Interview Questions and Answers (2025) - InterviewBit

What is DevOps?

DevOps stands for Development and Operations. It is a software engineering practice


that focuses on bringing together the development team and the operations team for the
purpose of automating the project at every stage. This approach helps in easily
automating the project service management in order to aid the objectives at the
operational level and improve the understanding of the technological stack used in the
production environment.

This way of practice is related to agile methodology and it mainly focuses on team
communication, resource management, and teamwork. The main benefits of following
this structure are the speed of development and resolving the issues at the production
environment level, the stability of applications, and the innovation involved behind it.
DevOps

DevOps Tools

DevOps is a methodology aimed at increased productivity and quality of product


development. The main tools used in this methodology are:

Version Control System tools. Eg.: git.


Continuous Integration tools. Eg.: Jenkins
Continuous Testing tools. Eg.: Selenium
Configuration Management and Deployment tools. Eg.:Puppet, Chef, Ansible
Continuous Monitoring tool. Eg.: Nagios
Containerization tools. Eg.: Docker

DevOps Tools

Organizations that have adopted this methodology are reportedly accomplishing almost
thousands of deployments in a single day thereby providing increased reliability, stability,
and security with increased customer satisfaction.
DevOps Interview Questions For Freshers

1. Why DevOps has become famous?

These days, the market window of products has reduced drastically. We see new
products almost daily. This provides a myriad of choices to consumers but it comes at a
cost of heavy competition in the market. Organizations cant afford to release big
features after a gap. They tend to ship off small features as releases to the customers at
regular intervals so that their products don't get lost in this sea of competition.

Customer satisfaction is now a motto to the organizations which has also become the
goal of any product for its success. In order to achieve this, companies need to do the
below things:

Frequent feature deployments


Reduce time between bug fixes
Reduce failure rate of releases
Quicker recovery time in case of release failures.
In order to achieve the above points and thereby achieving seamless product
delivery, DevOps culture acts as a very useful tool. Due to these advantages,
multi-national companies like Amazon and Google have adopted the methodology
which has resulted in their increased performance.

Create My Plan
2. Who is a DevOps engineer?

A DevOps engineer is a person who works with both software developers and the IT
staff to ensure smooth code releases. They are generally developers who develop an
interest in the deployment and operations domain or the system admins who develop a
passion for coding to move towards the development side.

In short, a DevOps engineer is someone who has an understanding of SDLC (Software


Development Lifecycle) and of automation tools for developing CI/CD pipelines.
3. What is the use of SSH?

SSH stands for Secure Shell and is an administrative protocol that lets users have access
and control the remote servers over the Internet to work using the command line.

SSH is a secured encrypted version of the previously known Telnet which was
unencrypted and not secure. This ensured that the communication with the remote
server occurs in an encrypted form.

SSH also has a mechanism for remote user authentication, input communication
between the client and the host, and sending the output back to the client.

You can download a PDF version of Devops Interview Questions.

Download PDF

4. What is configuration management?

Configuration management (CM) is basically a practice of systematic handling of the


changes in such a way that system does not lose its integrity over a period of time. This
involves certain policies, techniques, procedures, and tools for evaluating change
proposals, managing them, and tracking their progress along with maintaining
appropriate documentation for the same.

CM helps in providing administrative and technical directions to the design and


development of the appreciation.

The following diagram gives a brief idea about what CM is all about:

DevOps Configuration Management


5. What is the importance of having configuration management in DevOps?

Configuration management (CM) helps the team in the automation of time-consuming


and tedious tasks thereby enhancing the organization’s performance and agility.

It also helps in bringing consistency and improving the product development process by
employing means of design streamlining, extensive documentation, control, and change
implementation during various phases/releases of the project.

6. What does CAMS stand for in DevOps?

CAMS stands for Culture, Automation, Measurement, and Sharing. It represents the core
deeds of DevOps.

7. What is Continuous Integration (CI)?

Continuous Integration (CI) is a software development practice that makes sure


developers integrate their code into a shared repository as and when they are done
working on the feature. Each integration is verified by means of an automated build
process that allows teams to detect problems in their code at a very early stage rather
than finding them after the deployment.

Continuous Integration (CI)


Based on the above flow, we can have a brief overview of the CI process.

Developers regularly check out code into their local workspaces and work on the
features assigned to them.
Once they are done working on it, the code is committed and pushed to the
remote shared repository which is handled by making use of effective version
control tools like git.
The CI server keeps track of the changes done to the shared repository and it
pulls the changes as soon as it detects them.
The CI server then triggers the build of the code and runs unit and integration test
cases if set up.
The team is informed of the build results. In case of the build failure, the team has
to work on fixing the issue as early as possible, and then the process repeats.
8. Why is Continuous Integration needed?

By incorporating Continuous Integration for both development and testing, it has been
found that the software quality has improved and the time taken for delivering the
features of the software has drastically reduced.

This also allows the development team to detect and fix errors at the initial stage as each
and every commit to the shared repository is built automatically and run against the unit
and integration test cases.

9. What is Continuous Testing (CT)?

Continuous Testing (CT) is that phase of DevOps which involves the process of running
the automated test cases as part of an automated software delivery pipeline with the
sole aim of getting immediate feedback regarding the quality and validation of business
risks associated with the automated build of code developed by the developers.

Using this phase will help the team to test each build continuously (as soon as the code
developed is pushed) thereby giving the dev teams a chance to get instant feedback on
their work and ensuring that these problems don’t arrive in the later stages of SDLC
cycle.

Doing this would drastically speed up the workflow followed by the developer to
develop the project due to the lack of manual intervention steps to rebuild the project
and run the automated test cases every time the changes are made.

10. What are the three important DevOps KPIs?

Few KPIs of DevOps are given below:

Reduce the average time taken to recover from a failure.


Increase Deployment frequency in which the deployment occurs.
Reduced Percentage of failed deployments.
.........................................................................................................................................................

1. What can be a preparatory approach for developing a project using the DevOps
methodology?

The project can be developed by following the below stages by making use of DevOps:

Stage 1: Plan: Plan and come up with a roadmap for implementation by


performing a thorough assessment of the already existing processes to identify
the areas of improvement and the blindspots.
Stage 2: PoC: Come up with a proof of concept (PoC) just to get an idea regarding
the complexities involved. Once the PoC is approved, the actual implementation
work of the project would start.
Stage 3: Follow DevOps: Once the project is ready for implementation, actual
DevOps culture could be followed by making use of its phases like version
control, continuous integration, continuous testing, continuous deployment,
continuous delivery, and continuous monitoring.
2. How does AWS contribute to DevOps?

AWS stands for Amazon Web Services and it is a well known cloud provider. AWS helps
DevOps by providing the below benefits:

Flexible Resources: AWS provides ready-to-use flexible resources for usage.


Scaling: Thousands of machines can be deployed on AWS by making use of
unlimited storage and computation power.
Automation: Lots of tasks can be automated by using various services provided
by AWS.
Security: AWS is secure and using its various security options provided under the
hood of Identity and Access Management (IAM), the application deployments and
builds can be secured.
Get Access to 250+ Guides with Scaler Mobile App!
Experience free learning content on the Scaler Mobile
App
4.5
100K+
Play Store
3. How does Ansible work?

Ansible has two types of servers categorized as:


Controlling machines
Nodes
For this to work, Ansible is installed on controlling machine using which the nodes are
managed by means of using SSH. The location of the nodes would be specified and
configured in the inventories of the controlling machine.

Ansible does not require any installations on the remote node servers due its nature of
being agentless. Hence, no background process needs to be executed while managing
any remote nodes.

Ansible can manage lots of nodes from a single controlling system my making use of
Ansible Playbooks through SSH connection. Playbooks are of the YAML format and are
capable to perform multiple tasks.

4. Tell me something about Ansible work in DevOps

It is a DevOps open-source automation tool which helps in modernizing the


development and deployment process of applications in faster manner. It has gained
popularity due to simplicity in understanding, using, and adopting it which largely helped
people across the globe to work in a collaborative manner.

Ansibl
Developers Operations QA Business/Clients
e
Challe Operations
nges team would
Developers
require Quality Assurance
tend to focus
uniform team would require Clients worry about
a lot of time
technology to keep track of what getting the products
on tooling
that can be has been changed in to the market as
rather than
used by the feature and when soon as possible.
delivering
different it has been changed.
the results.
skillset groups
easily.
Need Developers Operation Quality Assurance
Clients need to
need to team need a team need to focus
create a competitive
respond to central on reducing human
advantage for their
new governing tool error risk as much as
features/bug to monitor possible for bug-free products in the
s and scale different product. market.
the efforts systems and its
based on the workloads.
demand.
How Helps the Helps QA team to
does Helps Operations establish automated Helps the Business
Ansibl developers team to reduce test cases team to ensure the
e to discover their efforts on irrespective of the IT team is on the
help? bugs at an shadowing IT environments for right track. Also
earlier phase, people and achieving more helps them to
and assists reduce the reliable and accurate optimize the time
them to times taken for results. Helps to taken for project
perform deployment. define identical innovation and
faster Also, Ansible security baselines strategising. Helps
deployments assists them to and helps them teams to collaborate
in a reliable perform reduce the burden of in an effective
manner. automated following traditional manner.
patching. documentation.
5. Can you say something about the DevOps pipeline?

A pipeline, in general, is a set of automated tasks/processes defined and followed by the


software engineering team. DevOps pipeline is a pipeline which allows the DevOps
engineers and the software developers to efficiently and reliably compile, build and
deploy the software code to the production environments in a hassle free manner.

Following image shows an example of an effective DevOps pipeline for deployment.

The flow is as follows:

Developer works on completing a functionality.


Developer deploys his code to the test environment.
Testers work on validating the feature. Business team can intervene and provide
feedback too.
Developers work on the test and business feedback in continuous collaboration
manner.
The code is then released to the production and validated again.
6. Can you differentiate between continuous testing and automation testing?

The difference between continuous testing and automation testing is given below:

Continuous Testing Automation Testing


This is the process of executing all This is a process that replaces manual testing by
the automated test cases and is helping the developers create test cases that can
done as part of the delivery be run multiple times without manual
process. intervention.
This process focuses on the This process helps the developer to know
business risks associated with whether the features they have developed are
releasing software as early as bug-free or not by having set of pass/fail points
possible. as a reference.
7. What is Resilience Testing?

Resilience Testing is a software process that tests the application for its behavior under
uncontrolled and chaotic scenarios. It also ensures that the data and functionality are not
lost after encountering a failure.

8. What is CBD in DevOps?

CBD stands for Component-Based Development. It is a unique way for approaching


product development. Here, developers keep looking for existing well-defined, tested,
and verified components of code and relieve the developer of developing from scratch.

9. Can you list down certain KPIs which are used for gauging the success of DevOps?

KPIs stands for Key Performance Indicators. Some of the popular KPIs used for gauging
the success of DevOps are:

Application usage, performance, and traffic


Automated Test Case Pass Percentage.
Application Availability
Change volume requests
Customer tickets
Successful deployment frequency and time
Error/Failure rates
Failed deployments
Meantime to detection (MTTD)
Meantime to recovery (MTTR)
10. What are the various branching strategies used in the version control system?

Branching is a very important concept in version control systems like git which facilitates
team collaboration. Some of the most commonly used branching types are:

Feature branching

This branching type ensures that a particular feature of a project is maintained in


a branch.
Once the feature is fully validated, the branch is then merged into the main
branch.
Task branching

Here, each task is maintained in its own branch with the task key being the branch
name.
Naming the branch name as a task name makes it easy to identify what task is
getting covered in what branch.
Release branching

This type of branching is done once a set of features meant for a release are
completed, they can be cloned into a branch called the release branch. Any
further features will not be added to this branch.
Only bug fixes, documentation, and release-related activities are done in a release
branch.
Once the things are ready, the releases get merged into the main branch and are
tagged with the release version number.
These changes also need to be pushed into the develop branch which would have
progressed with new feature development.
The branching strategies followed would vary from company to company based on their
requirements and strategies.
11. Can you tell me something about Memcached?

Memcached is an open-source and free in-memory object caching system that has high
performance and is distributed and generic in nature. It is mainly used for speeding the
dynamic web applications by reducing the database load.

Memcached can be used in the following cases:

Profile caching in social networking domains like Facebook.


Web page caching in the content aggregation domain.
Profile tracking in Ad targeting domain.
Session caching in e-commerce, gaming, and entertainment domain.
Database query optimization and scaling in the Location-based services domain.
Benefits of Memcached:

Using Memcached speeds up the application processes by reducing the hits to a


database and reducing the I/O access.
It helps in determining what steps are more frequently followed and helps in
deciding what to cache.
Some of the drawbacks of using Memcached are:

In case of failure, the data is lost as it is neither a persistent data store nor a
database.
It is not an application-specific cache.
Large objects cannot be cached.
12. Differentiate between Continuous Deployment and Continuous Delivery?

The main difference between Continuous Deployment and Continuous Delivery are
given below:

Continuous Deployment Continuous Delivery


The deployment to the production In this process, some amount of manual
environment is fully automated and intervention with the manager’s approval is
does not require manual/ human needed for deployment to a production
intervention. environment.
Here, the application is run by following
Here, the working of the application
the automated set of instructions, and
depends on the decision of the team.
no approvals are needed.
Continuous Deployment and Continuous Delivery
13. Explain the different phases in DevOps methodology.

DevOps mainly has 6 phases and they are:

Planning:

This is the first phase of a DevOps lifecycle that involves a thorough understanding of
the project to ultimately develop the best product. When done properly, this phase gives
various inputs required for the development and operations phases. This phase also
helps the organization to gain clarity regarding the project development and
management process.

Tools like Google Apps, Asana, Microsoft teams, etc are used for this purpose.

Development:

The planning phase is followed by the Development phase where the project is built by
developing system infrastructure, developing features by writing codes, and then
defining test cases and the automation process. Developers store their codes in a code
manager called remote repository which aids in team collaboration by allowing view,
modification, and versioning of the code.

Tools like git, IDEs like the eclipse, IntelliJ, and technological stacks like Node, Java, etc
are used.

Continuous Integration (CI):

This phase allows for automation of code validation, build, and testing. This ensures that
the changes are made properly without development environment errors and also allows
the identification of errors at an initial stage.
Tools like Jenkins, circleCI, etc are used here.

Deployment:

DevOps aids in the deployment automation process by making use of tools and scripts
which has the final goal of automating the process by means of feature activation. Here,
cloud services can be used as a force that assists in upgrade from finite infrastructure
management to cost-optimized management with the potential to infinite resources.

Tools like Microsoft Azure, Amazon Web Services, Heroku, etc are used.

Operations:

This phase usually occurs throughout the lifecycle of the product/software due to the
dynamic infrastructural changes. This provides the team with opportunities for
increasing the availability, scalability, and effective transformation of the product.

Tools like Loggly, BlueJeans, Appdynamics, etc are used commonly in this phase.

Monitoring:

Monitoring is a permanent phase of DevOps methodology. This phase is used for


monitoring and analyzing information to know the status of software applications.

Tools like Nagios, Splunk, etc are commonly used.

14. How is DevOps different than the Agile Methodology?

DevOps is a practice or a culture that allows the collaboration of the development team
and the operations team to come together for successful product development. This
involves making use of practices like continuous development, integration, testing,
deployment, and monitoring of the SDLC cycle.
DevOps tries to reduce the gap between the developers and the operations team for the
effective launch of the product.

Agile is nothing but a software development methodology that focuses on incremental,


iterative, and rapid releases of software features by involving the customer by means of
feedback. This methodology removes the gap between the requirement understanding
of the clients and the developers.

Agile Methodology

You might also like