DevOps Interview Questions and Answers Set-10

91. What is git rebase?

After creating a personal branch and adding and modifying files; what if the master branch is updated and your branch becomes stale? In such scenarios, one can use git rebase. Git rebases command e will replay the changes made in your local branch at the tip of master, allowing conflicts to be resolved in the process.

92. How can one know the branches that are already merged into the master branch?

git branch –merged master lists branches merged into master.

git branch –no-merged lists branches that have not been merged.

93. What is the difference between resource allocation and resource provisioning?

Resource allocation is the process of reservation that demarcates a quantity of a resource for a tenant’s use.

Resource provision is the process of activation of a bundle of the allocated quantity to bear the tenant’s workload.

Immediately after allocation, all the quantity of a resource is available. Provision removes a quantity of a resource from the available set. De-provision returns a quantity of a resource to the available set. At any time:

Allocated quantity = Available quantity + Provisioned quantity

94. Classify Cloud Platforms by category

Cloud Computing software can be classified as:

Software as a Service or SaaS – is peace of software that runs over the network on a remote server and has only user interface exposed to users, usually in a web browser. For example salesforce.com.

Infrastructure as a Service or IaaS – is a cloud environment that exposes VM to the user to use an entire OS or container where you could install anything you would install on your server. Example of this would be OpenStack, AWS, Eucalyptus.

Platform as a Service or PaaS – allows users to deploy their own application on the preinstalled platform, usually framework of application server and suite of developer tools. Examples for this would be Heroku.

95. What is the use of Ansible?

Ansible can be used to deploy many software applications to many nodes using a single command. This requires a little technical know-how on behalf of the user. In IT infrastructures, Ansibles are used to manage and deploy software applications to remote nodes.

96. Explain different modules in Ansible.

There are two types of modules in Ansible namely core modules and extra modules. Modules in Ansible are idempotent and the clients can perform the same result by using modules in Ansible for the operation to be idempotent.

Core modules– The Ansible team gives more importance to these modules over extra modules. Core modules are always shipped with Ansible software.

Extra modules– These modules are maintained by Ansible community and are reusable but receive a lower rate of response to issues. These modules are bundled with Ansible but can be separately available in future.

97. Give a comparison between Ansible and puppet.

A comparative study between Ansible and puppet is given below:

Ansible: Ansible is very simple to set up. It is a simple technology which is written in YAML language. It is based on an agent-less architecture which doesn’t require nodes to locally install daemons. It facilitates automated workflow for continuous and hassle-free delivery. Ansible doesn’t support windows. It comes with good GUI and CLI accepts command in almost every language.

Puppet: Puppet is a complex technology as compared with Ansible. It is written in Ruby language. It works on easy installation and facilitates visualization and reporting. It is not based on agentless architecture and unlike Ansible, puppet supports for almost all major operating systems. The prerequisite for using puppet is that the user must learn the puppet DSL language.

98. Why is Continuous monitoring important?

Continuous Monitoring helps us to have a time finding out of issues or weaknesses and immediate corrective action that helps minimize the monetary expenses of an organization. Continuous monitoring offers the solution that takes into account three operational fields known as:

  • continuous audit
  • continuous controls monitoring
  • continuous transaction inspection

99. How to automate Testing in the DevOps lifecycle?

In DevOps, developers are asked to perform all the changes made in the source code to an allocated repository. Continuous Integration tools like Jenkins will extract the code from this split repository each time a change is made in the code and execute it for Continuous Testing that is accomplished by tools like Selenium as explained. In this manner, any change in the code is thoroughly tested not like the traditional approach.

100. What are the success factors for Continuous Integration?

Here you have to mention the requirements for Continuous Integration. You could include the following points in your answer:

  • Maintain a code repository
  • Automate the build
  • Make the build self-testing
  • Everyone commits to the baseline every day
  • Every commit (to baseline) should be built
  • Keep the build fast
  • Test in a clone of the production environment