Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DevOps Explained


Published on

Presentation from the Agile Alliance 2017 conference. A look at the values, patterns, and technology that impact your DevOps journey.

Published in: Technology

DevOps Explained

  1. 1. DEVOPS EXPLAINED Richard Seroter @rseroter #Agile2017
  2. 2. WASTED TIME WASTED SPACE WASTED EFFORT “Our greatest fear should not be of failure, but of succeeding at something that doesn't really matter.” - D.L. Moody
  3. 3. 95%of any process is waste @rseroter #Agile2017
  4. 4. @rseroter #Agile2017 seven types of waste: 1. Overproduction 2. Waiting 3. Unnecessary transport 4. Over-processing 5. Excess inventory 6. Unnecessary movement 7. Defects
  5. 5. @rseroter #Agile2017 Does this have anything to do with delivering technology solutions? You betcha.
  6. 6. @rseroter #Agile2017 Three observations about state of tech today: 1. Outages are expensive 2. Demand for faster delivery 3. Talent retention is difficult
  7. 7. @rseroter #Agile2017 We want … more resilient systems that easily absorb change, from a customer-centric organization that attracts talent.
  8. 8. DevOps! @rseroter #Agile2017
  9. 9. @rseroter #Agile2017 We renamed our testing team and called it DevOps. Can we fire all our sysadmins and make devs “full stack engineers”? This is for startups, not real businesses. Our company does ITIL, so no DevOps for us. Nobody even knows what DevOps is. I bought six units of DevOps from my vendor. Did I do it right? People who talk most about DevOps have never even done it.
  10. 10. @rseroter #Agile2017 What is DevOps? It’s about using coordination and automation to deliver higher quality software, faster.
  11. 11. @rseroter #Agile2017 High performers: Deploy 46x more frequently Offer 440x faster lead time for changes Deliver 96x faster mean time to recovery Possess a 5x lower change failure rate - 2017 State of DevOps Report
  12. 12. @rseroter #Agile2017 Core values Patterns and practices Toolchain
  13. 13. core values @rseroter #Agile2017
  14. 14. @rseroter #Agile2017 Empowered individuals Empowered within the system Do what’s needed to maintain the service Engineers can “pull the cord” Responsible for proposing improvements
  15. 15. @rseroter #Agile2017 Accountable Flip-side of being empowered Everyone responsible for quality, everywhere Part of “you build it, you run it” mentality Accountable to teammates as much (more so?) as management
  16. 16. @rseroter #Agile2017 Teamwork No lone geniuses Coordination across functions at *all* times Respect for distinct skill sets Pays off during periods of crisis
  17. 17. @rseroter #Agile2017 Trust Trust in each other, trust in management Requires everyone to be working off the same values and objectives Establish trust within and across teams Ok to “trust but verify”
  18. 18. @rseroter #Agile2017 Transparency Visibility into objectives, priorities Clear knowledge of long-term plans Shared access to metrics, tickets source code
  19. 19. @rseroter #Agile2017 Continuous learning, improvement Requires introspection, identifying root cause of problems Sprint and incident retrospectives are great sources Learning should clearly make its way back into the organization Growing individual and team skills requires management investment
  20. 20. @rseroter #Agile2017 Feedback loops How are you learning about apps in production? Consider structured way to solicit feedback from *all* stakeholders Necessary to have fast-feedback channels available
  21. 21. @rseroter #Agile2017 Data-driven decisions Upfront data capture and analysis capability drives good decisions Not a replacement for thinking Drives consensus, prioritization Only the “right” metrics
  22. 22. @rseroter #Agile2017 Standardization Care about quality Prioritize repeatable actions through automation Scale through consistency Consensus use of standards
  23. 23. @rseroter #Agile2017 Customer-centric Empathy for the customer Focus on value to the customer Cross-org, customer-driven goals Single definition of “done”
  24. 24. patterns & practices @rseroter #Agile2017
  25. 25. @rseroter #Agile2017 Value stream mapping Getting a big picture view of the deployment pipeline Identifying value and waste Elevating bottlenecks Creating “flow”
  26. 26. @rseroter #Agile2017 Balanced teams, engaged management Balanced teams with no handoffs Favor generalist skills set, but don’t eliminate specialties Compress management hierarchy, break up functional silos Establish new workspace layout
  27. 27. @rseroter #Agile2017 Team standups Brief opportunity to orient the team Share milestones, blockers, help needed Share continuous improvement activities with the group Leaders must set an example
  28. 28. @rseroter #Agile2017 On-call engineering Rotate team members through on-call Responsible for service support Puts the focus on the customer Encourages instrumentation and continuous improvement Keeps the rest of the team focused
  29. 29. @rseroter #Agile2017 Agile planning of small batches Ship often, get fast feedback Product owner maintains backlog, team decides when sprint is “full” Tasks scoped to max of two days work Scope doesn’t change Team always ships at the end of a sprint
  30. 30. @rseroter #Agile2017 Continuous integration Daily check-ins to master branch Some form of TDD is critical Offers fast feedback, smaller problem surface to investigate “Green” builds are good, “red” should not be feared
  31. 31. @rseroter #Agile2017 Treat infrastructure as code All interactions with infrastructure done via source-controlled artifacts Make infrastructure work visible work Establishes standardized processes that are repeatable Eliminate wasteful snowflake environments
  32. 32. @rseroter #Agile2017 You build it, you run it Long-lived service teams vs. project teams Develop customer empathy, foster continuous improvement Helps prevent overloaded releases Improves stability of key services
  33. 33. @rseroter #Agile2017 Comprehensive telemetry No guesswork during service interruptions Heavily instrumented environments, with event-driven notifications Need baselines to identify anomalies Over-alerting causes fatigue
  34. 34. @rseroter #Agile2017 Blameless postmortems (retrospectives) Not about assigning blame Understand the situation, timeline ahead of the meeting Use “Five Whys” technique to identify root cause, not just source Assign owners to action items
  35. 35. @rseroter #Agile2017 Standard tools and processes Avoid unique toolchain across teams Empower teams to suggest improvements to standard tools Automation is often, but not always, the answer
  36. 36. @rseroter #Agile2017 Continuous delivery, deployment Should be boring process that doesn’t cause service downtime Consider what it takes to fully package software for deployment Partner with security and compliance groups Operations skills come in handy here
  37. 37. @rseroter #Agile2017 Show-and-tell sessions Help others learn from your success and failure Create possibilities for reuse across teams Visibility helps other teams coordinate their own milestones Encourages experimentation and continuous learning
  38. 38. @rseroter #Agile2017 Variations of DevOps SREs maintain large systems at Google, consult others Platform Ops is about teams that improve and operate platforms used by others
  39. 39. @rseroter #Agile2017 Room for improvement in these core areas.
  40. 40. toolchain @rseroter #Agile2017
  41. 41. @rseroter #Agile2017 The DevOps toolchain Collaboration Planning Source control Issue tracking Configuration management Development environments Packaging, artifact management CI / CD Application platforms Monitoring
  42. 42. @rseroter #Agile2017 Collaboration Connect your teams Improves situational awareness Chat rooms, knowledge repositories Quick collaboration prevents waiting waste Examples: Slack, Microsoft Teams, GitHub Wikis
  43. 43. @rseroter #Agile2017 Planning Improved visibility of upcoming work Dynamic tools, not static documents Easy to see bottlenecks, breakdown in flow Also makes sense to include bugs, toil in planning view Examples: Pivotal Tracker, Trello, Jira
  44. 44. @rseroter #Agile2017 Source control Possibly the most important tool in a DevOps environment Store code, config, scripts Avoid transportation waste of moving code around unnecessarily Change history is important Examples: GitHub, GitLab, Bitbucket, Subversion
  45. 45. @rseroter #Agile2017 Issue tracking Single way to collect, triage, and respond to issues Avoid info lost in transit Helps improve the feedback loop Product defects likely tracked elsewhere Examples: ZenDesk, GitHub issues, Jira
  46. 46. @rseroter #Agile2017 Configuration management Enforce state of compute resources Treat infrastructure as code, and avoid configuration drift Changes applied systematically Sometimes used as infrastructure build tools Examples: Puppet, Chef, Ansible, Salt, CFEngine, BOSH
  47. 47. @rseroter #Agile2017 Dev Environments Consistent developer experiences No more “works on my machine” Mix of configuration management and supportive environments Cloud IDEs a fit here Examples: Vagrant, Cloud9, Eclipse Che
  48. 48. @rseroter #Agile2017 Packaging, artifact management Typically the output of a CI process Improves flow, consistency Multiple ways to package an app Should package *all* corresponding components Examples: Docker, JFrog Artifactory, BOSH
  49. 49. @rseroter #Agile2017 CI / CD Keep code “inventory” small and get fast feedback on code changes Call out to code scanning, quality components Visible status drives accountability Pipeline-based models are popular Examples: Concourse, Jenkins, CircleCI, Bamboo
  50. 50. @rseroter #Agile2017 Application platforms Modern runtimes that simplify deployment and ops at scale Provide APIs for deploying and managing apps Designed to reduce toil and automate lifecycle activities Examples: Cloud Foundry, AWS Elastic Beanstalk. Azure App Service
  51. 51. @rseroter #Agile2017 Monitoring DevOps happiness may hinge on your approach here Need views of system health, not just server/app health Improves transparency, helps reduce MTTR Examples: New Relic, Dynatrace, Datadog, ELK
  52. 52. Use DevOps principles and approaches to deliver more customer-centric software, faster. @rseroter #Agile2017