View
369
Download
0
Category
Tags:
Preview:
Citation preview
“Why won’t Ops just make this change? It’s small”
“Don’t the developers know anything about logging?”
“Why does it take so long for Ops to deploy this code?”
“Why can’t the developers build packages?”
“The devs don’t care that this code doesn’t scale.”
“Ops won’t let us use the latest Ruby for some reason.”
Product Delivery Process
ProblemStatement
ProblemPrioritization
Design /Development Deployment Monitoring
DevDevOps
Ops
Product Management
Culture of Experimentation and Learning
Enforce a culture of continuous experimentation, risk taking, and learning.
● When teams hold themselves accountable for the quality of its code through peer review, performance increases. Change Approval Boards (CABs) decrease performance.
● CABs have negligible impact on system stability while significant negative impact on throughput.
Peer reviewed change process
● Single source of truth
● Causality is easily determined
● Benefits extend to both system and application configuration
Version Control
● Diagnose problems faster
● Test the application, not just the infrastructure
● Post deploy tests
Proactive Monitoring
● Act with expertise, not authority
● Interactions are about both teams achieving the shared business goals
Win-Win culture
[ops] Empathy
● Help devs set up the development environment
● Help devs set up the CI system
● Understand the required infrastructure throughout the feature’s development
● Understand the constant fires Ops deals with
● Help develop the deployment process for the feature
● Be on call
● Monitor the application post deployment
[dev] Empathy
● 70% of all downtime is caused by configuration drift and unauthorized configuration change*
● Downtime costs $2.5 billion for Fortune 1000*
*Wiley Global Research
[Business] Availability
● Production-like Dev Env● Peer Review and Pairing● Continuous Delivery● Policy Driven Development● Auditing
Pragmatic Goals
● Code is portable
● Code is reusable
● Code is version controlled
(Vagrant is awesome)
Production-like Dev Env
● Code can be contributed by anyone
● Code changes can be reviewed by anyone
● Code can be worked on as a team
(give me git or give me death)
Peer Review and Pairing
● Code is repeatable
● Code is shareable
● Code is promotable
● Code is testable
Continuous Delivery
● Policies are for humans, not computers
● Constraints can be tested and enforced with code
● Tests can be run in any environment since code is portable
Policy Driven Development
● Code execution can provide detailed, accurate reports on actions taken
● Code promotion and execution provide authorization records
● Code run reports provide defensible audit trails
Auditing
● Automate the most repetitive tasks in Ops
● Use Law of Accelerating Returns to increase admins’ free time
● Once a FTE’s worth of time is gained, have sysadmins spend more and more time working alongside developers
Start
Check out the Puppet Labs DevOps survey
https://puppetlabs.com/2014-devops-report
Data Is Awesome
Recommended