devops Flashcards

1
Q

What is Devops?

A

DevOps is a new philosophy to integrate Developers and Operations team. DevOps this software development approach involves continuous development, continuous testing, continuous integration, continuous deployment, and continuous monitoring of the software throughout its development lifecycle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the CALMS framework/model for Devops?

A

Culture - collaboration,
Automation - continuous delivery and infrastructure as a code,
Lean - Continuous improvement everywhere, Measurement - Measure everything, show the improvement
Sharing - open information sharing,
Collaboration and communication.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Devops Lifecycle

A
Plan -          tools like trello,planio,box
Code - GIT, TFS(Team Foundation 
             Server),SVN(subversion)
Build- Maven, ANT, gradle
Test - Selenium, Junit, Apache Jmeter
Release- Jenkins, Travis CI, Bamboo, gitlab
Deploy-Puppet, ansible,chef,AWS,GCP
Operate-puppet,ansible
Monitor-nagios,splunk
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Agile Development

A

consists of Iterative development
Scrums,Sprints,Stories
Velocity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Devops Development

A

Continuous Integration
Continuous Deployment
Automation
Application Management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Continuous Integration?

A

A development practice which requires developers to integrate code into the shared repository several times a day. By integrating regularly, you can detect errors quickly, and locate them more easily.
Compile, validate, Code review, Unit testing, integration testing. It comes under Continuous Build phase.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Continuous Testing?

A

The process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Continuous Delivery?

A

It is a release practice in which code changes are build, tested and prepared for release to production.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Continuous Deployment?

A

Deploying the tested application on the prod server for release.
This comes in the phase on Configuration Management and Containerization.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Explain phases in CI/CD pipeline

A

Imagine you’re going to build a web application which is going to be deployed on live web servers. You will have a set of developers responsible for writing the code, who will further go on and build the web application. Now, when this code is committed into a version control system (such as git, svn) by the team of developers. Next, it goes through the build phase, which is the first phase of the pipeline, where developers put in their code and then again the code goes to the version control system with a proper version tag.Suppose we have Java code and it needs to be compiled before execution. Through the version control phase, it again goes to the build phase, where it is compiled. You get all the features of that code from various branches of the repository, which merge them and finally use a compiler to compile it. This whole process is called the build phase.Once the build phase is over, then you move on to the testing phase. In this phase, we have various kinds of testing. One of them is the unit test (where you test the chunk/unit of software or for its sanity test).When the test is completed, you move on to the deploy phase, where you deploy it into a staging or a test server. Here, you can view the code or you can view the app in a simulator.Once the code is deployed successfully, you can run another sanity test. If everything is accepted, then it can be deployed to production.Meanwhile, in every step, if there is an error, you can shoot an email back to the development team so that they can fix it. Then they will push it into the version control system and it goes back into the pipeline.

Once again, if there is any error reported during testing, the feedback goes to the dev team again, where they fix it and the process reiterates if required.This lifecycle continues until we get code/a product which can be deployed to the production server where we measure and validate the code.

We now understand the CI/CD Pipeline and its working; now, we will move on to understand what Jenkins is and how we can deploy the demonstrated code using Jenkins and automate the entire process.

Version Control->Build–>UnitTest–>Deploy–>AutoTest–>
Deploy to production–> Measure and Validate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Principles of Devops

A
  1. Customer-Centric Action: DevOps team must take customer-centric action for that they should constantly invest in products and services.
  2. End-To-End Responsibility: The DevOps team need to provide performance support until they become end-of-life. This enhances the level of responsibility and the quality of the products engineered.
  3. Continuous Improvement: DevOps culture focuses on continuous improvement to minimize waste. It continuously speeds up the improvement of product or services offered.
  4. Automate everything: Automation is a vital principle of DevOps process. This is not only for the software development but also for the entire infrastructure landscape.
  5. Work as one team: In the DevOps culture role of the designer, developer, and tester are already defined. All they needed to do is work as one team with complete collaboration.
  6. Monitor and test everything: It is very important for DevOps team to have a robust monitoring and testing procedures.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the core operations of Devops in terms of development and infrastructure?

A

Application Development, Code Developing, Code Coverage,Unit testing, Packaging, Deployment with infrastructure,Provisioning, configuration, orchestration and deployment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Version Control System?

A

It is a system that records changes to a file or a set of files over time so that you can recall specific versions later.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Uses of Version Control

A
  1. Revert files back to a previous state
  2. Revert the entire project back to a previous state.
  3. Compare changes over time
  4. See who modified something that might be causing a problem.
  5. Who introduced an issue and when.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How is Agile development without Devops?

A

Release and Deploy Mismatch
Unpredictable Issues
Blame Game
Lack of Monitoring and feedback

How well did you know this?
1
Not at all
2
3
4
5
Perfectly