Question:- In terms of development and infrastructure, mention the core operations of DevOps.
Answer:- Core operations of DevOps include: • Development • Version Control • Testing • Integration • Deployment • Delivery • Configuration • Monitoring • Feedback
Question:- What are some technical and business benefits of DevOps work culture?
Answer:- Technical benefits: • Continuous software delivery • Less complex problems to fix • Faster bug resolution Business benefits: • Faster delivery of features for customer satisfaction • More stable operating environments • More time available to add product value
Question:- Name some of the most important DevOps tools?
Answer:- • Git • Maven • Selenium • Jenkins • Docker • Puppet • Chef • Ansible • Nagios
Question:- What is CI? What is its purpose?
Answer:- CI or Continuous Integration is the process of compiling the entire code base, every time a member of the software development team checks the code, into the shared source code repository. If a team member checks into the code file with a bug, then the build gets broken. In this sort of scenario, other developers can’t synchronize the shared source code repository without introducing compilation errors into their own local workspaces. Thus, collaborative and shared software development cannot go forward. When a CI build breaks, it is crucial that the problem is corrected immediately. A CI process often includes a suite of unit, and integration and regression tests that run every time the compilation succeeds. If any of these tests fail, the build will be considered unstable, not broken.
Question:- Name three important DevOps KPIs.
Answer:- Three of the most common DevOps KPIs are: • Meantime to failure recovery • Deployment frequency • Percentage of failed deployments
Question:- What is the difference between continuous deployment and continuous delivery?
Answer:- Continuous deployment is fully automated, and the deployment to production needs no manual intervention in continuous deployment; whereas, in continuous delivery, the deployment to production requires some manual intervention for change management in the organization, and it needs to be approved by the manager or higher authorities to be deployed in production. According to your organization’s application risk factor, continuous deployment/delivery approach will be chosen.
Question:- What is DevOps? Is it a tool?
Answer:- DevOps can’t be referred to as a tool; it is a collaborative work culture that combines development and operations teams for continuous development, continuous testing, continuous integration, continuous deployment, and continuous monitoring.
Question:- What are the core operations of DevOps in terms of development and infrastructure?
Answer:- The core operations of DevOps are application development, version control, unit testing, deployment with infrastructure, monitoring, configuration, and orchestration.
Question:- Our team has some ideas and wants to turn those ideas into a software application. Now, as a manager, I am confused about whether I should follow the Agile work culture or DevOps. Can you tell me why I should follow DevOps over Agile?
Answer:- According to the current market trend, instead of releasing big sets of features in an application, companies are launching small features for software with better product quality and quick feedback from customers, for high customer satisfaction. Now, to keep up with this, we have to: • Increase the deployment frequency in the safest and reliable way • Lower the failure rate of new releases • Shorten the bug resolution time DevOps fulfills all these requirements for fast and reliable development and deployment of software. Companies like Amazon and Google have adopted DevOps and are launching thousands of code deployments per day. But Agile, on the other hand, only focuses on the development of software.
Question:- Can one consider DevOps as an Agile methodology?
Answer:- DevOps can be considered as complementary to the Agile methodology but not completely similar.
Question:- Can you tell me the advantages of using Git?
Answer:- Data redundancy and replication High availability Only one Git directory per repository Superior disk utilization and network performance Collaboration friendly Can be used for any sort of projects
Question:- Are git fetch and git pull the same?
Answer:- The command ‘git pull’ pulls any new commits from a branch from the central repository and then updates the target branch in the local repository. But, ‘git fetch’ is a slightly different form of ‘git pull’. Unlike ‘git pull’, it pulls all new commits from the desired branch and then stores them in a new branch in the local repository. In order to reflect these changes in your target branch, ‘git fetch’ must be followed with a ‘git merge’. The target branch will only be updated after merging with the fetched branch (where we performed ‘git fetch’). We can also interpret the whole thing with an equation like this: git pull = git fetch + git merge
Question:- What are the benefits of using version control?
Answer:- • It helps improve the collaborative work culture: Here, team members are allowed to work freely on any file at any time. The version control system allows us to merge all changes into a common version. • It keeps different versions of code files securely: All the previous versions and variants of code files are neatly packed up inside the version control system. • It understands what happened: Every time we save a new version of our project, the version control system asks us to provide a short description of what was changed. More than that it allows us to see what changes were made in the file’s content, as well as who has made those changes. • It keeps backup: A distributed version control system like Git allows all team members to have the complete history of the project file so that in case there is a breakdown in the central server, they can use any of their teammate’s local Git repository.
Question:- How do you handle the merge conflicts in Git?
Answer:- In order to resolve the merge conflicts in Git, we need to follow three steps: • Understand what happened: It could be because of the same line edit on the same file; it could be because of deleting some files, or also it could be because of files with the same file names. You can check everything by using ‘git status’. • Mark and clean up the conflict: When we open the files using the merge tool, Git marks the conflicted area like this ‘<<<<< HEAD’ and ‘ >>>>> [other/branch/name]’. • Perform commit again and then merge the current branch with the master branch.