DevOps Flashcards
(24 cards)
Why is DevOps considered to be in a state of flux?
Many see DevOps as a concrete concept rather than an abstract one.
What does the phrase ‘You Build It You Run It’ mean?
- The traditional model is that you take your software to the wall that separates development and operations and “throw it over”
- Instead, you build it you run it
- This provides developers with better feedback and improves product quality
What are the five principles of DevOps?
- Culture
- Automation
- Lean
- Measurement
- Sharing
What is the Culture principle in DevOps? Why is it important?
- Everyone should work together with shared values
- It helps to prevent and resolve conflicts between team members, by being blameless
What is the Automation principle in DevOps? Why is it important?
- Everyone should strive to automate as many manual tasks as possible
- It reduces the likelihood of deployment failures
- It leads to repeatable, documentable processes
- The processes are faster
What does Jidoka mean in Toyota’s approach?
- Jidoka, or ‘automation with a human touch’
- It allows a machine to stop the production line or an operator can stop it
What is the Lean principle in DevOps? Why is it important?
- Everyone seeks to eliminate waste
- Waste delays a product without improving it
How can we eliminate waste in DevOps?
- Limit work in progress - reduces interruptions
- Reduce handoffs - reduce unecessary communication/coordination
How do Toyota reduce waste?
Using Kanban boards to visualise workflows and identifying delays
What is the Measurement principle in DevOps? Why is it important?
- Metrics and logs are monitored obsessively
- Quickly detect problems from metrics/logs and fix them
- Helps inform KPIs (Key Performance Indicators)
What is the Sharing principle in DevOps? Why is it important?
- Everyone shares information
- Also includes having good team relationships
- Enhances collaboration and communication between development and operations teams
What is Toyota’s approach for the DevOps Sharing principle?
Genchi genbutsu (‘go and see’) encourages managers to observe conditions firsthand and build relationships with employees
What are the differing concerns of developers and operators?
- Developers: Agility
- Operators: Stability
What is DevOps in its purest form?
Breaking down the (metaphorical) wall between developers and operators
Why should organisations reduce silos?
Success comes from cooperation between cross-functional teams
Why should failure be accepted as normal in DevOps?
Any system designed by humans is inherently unreliable
Why is gradual change important in DevOps?
The larger the change is, the harder it is to find a bug
Why should tooling and automation be leveraged in DevOps?
Because work should be turned into repeatable procedures that can be automated
Why should everything be measured in DevOps?
We must have numbers to support DevOps investment, and clear metrics for success
How does SRE reduce organisational silos?
- By sharing ownership with developers
- Using the same shared tooling
- Forcing conversations between SRE and development
How does SRE accept failure as normal?
- Using Service Level Objectives (SLOs) to acknowledge system unreliability
- Conducts blameless post-mortems to learn from failures.
How does SRE implement gradual change?
Reducing the cost of failure through small, iterative deployments
How does SRE leverage tooling and automation?
- By ensuring that tasks done manually this year should be automated next year
How does SRE measure everything?
By measuring both system metrics (e.g., reliability) and human metrics (e.g., toil)