DevOps includes lots of things including CI/CD, so in this article, I have provided useful Devops interview questions and answers which a Devops service provider must know, we will start with basic questions and then move to more advanced questions.

devops-interview-questions-answers-min.png

Describe what is DevOps?

A compound of development (Dev) and operations (Ops), DevOps is the union of people, process and technology to continually provide value to customers.

The practice of DevOps encourages smoother, continuous communication, collaboration, integration, visibility, and transparency between application development teams (Dev) and their IT operations team (Ops) counterparts.

What are benefits of DevOps?

Here are the benefits of usign DevOps Model:

  • The DevOps model enables your developers and operations teams to achieve results faster.
  • Increase the frequency and pace of releases so you can innovate and improve your product faster.
  • Ensure the quality of application updates and infrastructure changes so you can reliably deliver at a more rapid pace while maintaining a positive experience for end users.
  • Operate and manage your infrastructure and development processes at scale. Automation and consistency help you manage complex or changing systems efficiently and with reduced risk.
  • You can adopt a DevOps model without sacrificing security by using automated compliance policies, fine-grained controls, and configuration management techniques.
  • Build more effective teams under a DevOps cultural model, which emphasizes values such as ownership and accountability. Developers and operations teams collaborate closely, share many responsibilities, and combine their workflows.

What are the key components of DevOps?

Here are the components of DevOps:

  • Continuous Integration
  • Continuous Testing
  • Continuous Delivery
  • Continuous Monitoring

What is Continuous Integration?

Continuous integration is a software development practice where developers regularly merge their code changes into a central repository, after which automated builds and tests are run. The key goals of continuous integration are to find and address bugs quicker, improve software quality, and reduce the time it takes to validate and release new software updates.

What is Continuous Delivery?

Continuous delivery is a software development practice where code changes are automatically built, tested, and prepared for a release to production. It expands upon continuous integration by deploying all code changes to a testing environment and/or a production environment after the build stage.

When continuous delivery is implemented properly, developers will always have a deployment-ready build artifact that has passed through a standardized test process.

Explain Continous Monitoring

This practice involves ongoing monitoring of both the code in operation and the underlying infrastructure that supports it. A feedback loop that reports on bugs or issues then makes its way back to development.

List top Devops Tools used in IT

  • Jira
  • GIT/SVN
  • Bitbucket
  • Jenkins
  • Bamboo
  • SonarQube
  • Artifactory/Nexus
  • Docker
  • Chef / Puppet /Ansible
  • IBM Urbancode Deploy / CA-RA
  • Nagios / Splunk

What are automation and continuous testing?

Continuous Testing is the process of executing automated tests as part of the software delivery pipeline in order to obtain feedback on the business risks associated with a software release candidate as rapidly as possible.

It evolves and extends test automation to address the increased complexity and pace of modern application development and delivery.

Continuous Testing's primary goal is assessing business risk coverage and it provides instant insight on whether a release candidate is too risky to proceed through the delivery pipeline

What do you think is the role of SSH in DevOps?

The Secure Shell protocol is deeply immersed in DevOps. SSH (and SFTP) are the fundamental secure building blocks that enable the rapid, frequent, and highly automated build and release process favored by DevOps.

SSH provides password or public-key based authentication and encrypts connections between two network endpoints. It is a secure alternative to legacy login protocols (such as telnet, rlogin) and insecure file transfer methods (such as FTP).

SSH is a Secure Shell that gives the users a very secure as well encrypted mechanism to safely log into systems and ensures the safe transfer of files. It aids in the process of logging out of a remote machine along with the work on the command line.

Is it possible to move or copy Jenkins from one server to another?

  • Install a fresh Jenkins instance on the new server
  • Be sure the old and the new Jenkins instances are stopped
  • Archive all the content of the JENKINS_HOME of the old Jenkins instance
  • Extract the archive into the new JENKINS_HOME directory
  • Launch the new Jenkins instance
  • Do not forget to change documentation/links to your new instance of Jenkins 
  • Do not forget to change the owner of the new Jenkins files : chown -R jenkins:jenkins $JENKINS_HOME

JENKINS_HOME is by default located in ~/.jenkins on a Linux installation

Explain the working of Ansible.

Ansible is an open source IT automation engine that automates provisioning, configuration management, application deployment, orchestration, and many other IT processes.

Ansible works by connecting to your nodes and pushing out small programs, called modules to them. Modules are used to accomplish automation tasks in Ansible.

These programs are written to be resource models of the desired state of the system. Ansible then executes these modules and removes them when finished.

Without modules, you’d have to rely on ad-hoc commands and scripting to accomplish tasks.

Which cloud platforms can be used for implementing DevOps?

Cloud platforms that can be used for the successful DevOps implementation are given as:

  • Google Cloud
  • Amazon Web Services
  • Microsoft Azure

What branching strategies ares used in DevOps?

  • Feature Branching
  • Task Branching
  • Release Branching

What do we use GIT tools in DevOps?

The DevOps approach needs a version control system that will track all the changes. Git is a distributed version control system that allows developers to keep a local copy of the commits they make.

GIT as a DevOps tool empowers collaboration and faster release cycles, and that is what the DevOps concept is based upon.

Version control is one of the best practices of DevOps. With version control, developers working on a project can version the software, share, collaborate, merge, and have backups.

You may also like to read:

Postman and API Testing Interview questions with answers

ASP.NET Core Interview questions and answers

Commonly asked SQL server Interview questions and answers

C programming Interview Questions with Answers