DevOps Flashcards
What is the purpose of DevOps?
It bridges the gap between development and operations by bringing both together for the entire SDLC.
Is DevOps a methodology? What is it focused on?
No, it is a culture-shift focused on building and operating at high velocity.
What is the DevOps approach, and what areas does it entail? (List six.)
Approach is continuous:
- Development
- Integration
- Testing
- Deployment
- Delivery
- Monitoring
What are five benefits to DevOps?
- Assessing quality at every stage of development = higher quality, fewer defects
- Releasing small increments frequently = early and frequent feedback
- On-time delivery
- Reduction in vendor and third-party issues
- Faster time to market
What are three misconceptions of DevOps?
- It does not eliminate any roles from either dev or Ops
- It is not a separate team
- It is not a tool
Define continuous integration (CI). What does it ensure?
The practice of merging all developers’ working code into a main branch of the code base in a shared repository several times a day.
Ensures that the application does not break when new commits are integrated.
What are commits? How are they validated?
Developer’s changes, which are validated by creating a build and running automated tests against the build.
Define continuous delivery. What does it require?
Builds on the CI process, ensures that software can be reliably released at any time. Requires an automated release process and a way to easily deploy applications at any time.
Define continuous deployment (CD). When is CD continuous delivery?
Takes the continuous delivery process a step further in that when a change passes all stages of the DevOps pipeline and is released, the deployment is automatic.
CD is continuous delivery when the releases happen automatically.
Define continuous testing. What does success of continuous testing rely on?
The repeated execution of tests against a codebase. Success relies on testing and ops teams being integrated with development teams.
Continuous testing is NOT ___________.
A separate activity
What is highly encouraged to be used during continuous testing?
Drivers and stubs to test “what-if” scenarios and dependencies
What is continuous monitoring? What does it help do?
Allows DevOps team to constantly monitor the application in a production environment to ensure that it is performing at an optimal level and that the environment is stable.
Helps in diagnosing and fixing errors as soon as they are found.
What is the simplest DevOps pipeline? List and define the five stages.
Plan—>Code—>Build—>Staging—>Deployment
- Planning stage is where requirements are gathered, tested, and polished
- Coding stage is where developer’s source code must be accompanied by successfully executed unit tests
- Build stage is where commits trigger
- Staging is where integration and other necessary tests are executed
- Deployment stage is where code can be deployed to a pre-prod environment to run more tests or deployed to prod
Describe DevOps testing during the planning stage.
Pre-CI/CD testing involves gathering requirements accurately and making sure they are testable by creating proper acceptance criteria.