Best DevOps Interview Questions with Answers for fresher

Q #1) Explain DevOps.
Ans:
DevOps promotes communication and collaboration between business, development & operations teams. In a way, we are talking about unification.
DevOps is not only about tools but also about involving people and processes.
DevOps is inspired by the Agile process.
DevOps is about automating the development, release and operation processes.
DevOps helps in the speed of delivering applications to the end-users.
DevOps is also about continuous improvement which helps in learning through feedback.
Q #2) Explain a few prerequisites that are useful for DevOps implementation.
Ans: Typically the pre-requisites would include:
Commitment at the senior level in the organization.
Need for change to be communicated across the organization.
Version control software.
Automated tools for compliance to process.
Automated Testing
Automated Deployment
Q #3) What are the best practices for DevOps implementation?
Ans: DevOps implementation varies from one organization to another organization. Today organizations are looking to deliver the software faster and from that point of view here are my thoughts on how DevOps can bring about efficient communication with all the stakeholders including the operations team.
Every organization has certain business goals and DevOps implementation should align with it. There should be a certain need for change.
Encouraging communication and collaboration especially between development and operations.
Automation is the key and should be done and carried out wherever possible within the SDLC stages to facilitate the working of DevOps.
The tools used in DevOps should integrate very well. From the point of view of any commercial tools like IBM Rational CLM or Microsoft TFS, the implementation of DevOps is good as it is from a single vendor. Similarly, one needs to look at open-source tools that integrate to give similar desired results.
DevOps implementation is not successful without CI and CD practices. So continuous integration of your code with rigorous testing and doing continuous delivery is the key to it.
It is very important for the Ops team to ensure that the applications are working very well at appropriate levels. If required they will need to work with the development teams to build any tools that would help to build the right monitoring capabilities into the applications.
Finally, encourage feedback from end-users to enable continuous improvement which provides the key for improving the process and delivering quality software.
Q #4) What are the key components of DevOps?
Ans:
Continuous Integration
Continuous Testing
Continuous Delivery
Continuous Monitoring
Q #5) Explain Continuous Integration.
Ans: Continuous Integration is a very important component of the Agile process. Typically developers work on features or user stories within a sprint and commit their changes to the version control repository.
Once the code is committed, then the entire work of developers is well integrated and the build is performed on a regular basis based on every check-in or schedule. Hence, Continuous Integration as a practice forces the developer to integrate their changes with the others so as to get early feedback.
Q #6) Explain Continuous Delivery.
Ans: Continuous Delivery is an extension of Continuous Integration which primarily helps to get the features that the developers are developing out to the end-users as soon as possible. During this process, it goes through various stages of QA, Staging, etc., and then for delivery to the PRODUCTION system.
Q #7) Explain Continuous Testing.
Ans: From the above goal of Continuous Integration which is to get the application out to end-users are primarily enabling continuous delivery. This cannot be completed without a sufficient amount of unit testing and automation testing.
Hence, we need to validate that the code produced and integrated with all the developers who perform as required.
Q #8) Explain Continuous Monitoring.
Ans: As the application is developed and deployed, we do need to monitor its performance. Monitoring is also very important as it might help to uncover the defects which might not have been detected earlier.
Q #9) How will you approach when a project needs to implement DevOps?
Ans: Following approaches can be used but that will vary based on the actual project scenarios or from organization to organization
Stage 1: For any DevOps implementation an assessment of the existing process and implementation for around 2 to 3 weeks taking an average of 5 applications is a must to gauge the AS-IS process, identifies the improvement areas and provides a roadmap for the implementation.
Typically a senior profile like a DevOps architect should be involved to conduct this assessment.
Stage 2: A pilot POC can be done to showcase the end to end working of DevOps. Once this has been accepted and approved by the end-users only then the actual implementation, handover and rolls out the plan for the projects involved should be carried out.
Any pieces of training required will also need to be imparted to the process or tools. DevOps architects, engineers, and testers would need to be involved at this stage.
Stage 3: The projects should now be in DevOps mode with all the components of continuous integration/delivery/testing and monitoring that is being followed.
Q #10) Can DevOps be applied to a Waterfall process? Explain the significance of the Agile process in DevOps implementation.
Ans: In the waterfall process, as all of us are aware initially complete Requirements are gathered, next the System is designed, Implementation of the System is then done followed by System testing and deployed to the end-users. In this process, the problem was that there was a huge waiting time for build and deployment which made it very difficult to get the feedback.
The solution to the above problem was that the Agile process has to bring in agility in both development and operations. The agile process could be the principal or a certain pre-requisite may be required for DevOps implementation. DevOps goes hand in hand with the Agile process.
The focus area is to release the software in a very timely manner with shorter release cycles and quick feedback. So the agile process focus will mainly be on speed and in DevOps, it works well with the automation of various tools.

Leave a Reply