Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Devops: The continuing evolution of operations

Devops: The continuing evolution of operations

Keynote talk from Agile Portugal 2018. A trip through the history of how Devops became a think, what devops really is, and where it might be going.

Gareth Rushgrove

May 25, 2018
Tweet

More Decks by Gareth Rushgrove

Other Decks in Technology

Transcript

  1. Devops
    The continuing
    evolution of operations
    Gareth Rushgrove

    View Slide

  2. Gareth
    Rushgrove
    Product Manager at Docker
    Curator Devops Weekly
    Previously software engineer and
    occasional systems administrator

    View Slide

  3. View Slide

  4. - What is Devops?
    - Where did it come from?
    - Devops then, now and next
    - Coevolution of tools and practice

    View Slide

  5. What is Devops?
    (And why should I care?)

    View Slide

  6. Agile; a reminder
    We are uncovering better ways of
    developing software by doing it and
    helping others do it.
    Agile Manifesto

    View Slide

  7. What is software development?
    The process of conceiving, specifying,
    designing, programming, documenting,
    testing, and fixing involved in creating
    and maintaining software applications

    View Slide

  8. A very broad problem domain
    There is a lot more to running services
    than just software development

    View Slide

  9. What is operations?
    The sum of all of the skills, knowledge
    and values that your company has built
    up around the practice of shipping and
    maintaining quality systems
    Charity Majors

    View Slide

  10. Anti-patterns
    Siloed teams
    Long cycle times
    Poor visibility
    Manual processes

    View Slide

  11. Patterns
    Siloed teams
    Long cycle times
    Poor visibility
    Manual processes
    Cross-functional teams
    Short cycle times
    Fast feedback
    Automated processes

    View Slide

  12. Team topologies anti-types
    Dev Ops Dev Ops
    Devops
    Devops Topologies, Matthew Skelton
    Anti-type A
    Dev and ops silos
    Anti-type B
    Devops team silo

    View Slide

  13. Anti-type A
    Dev and ops silos
    Anti-type B
    Devops team silo
    Team topologies anti-types
    Dev Ops Dev Ops
    Devops
    Devops Topologies, Matthew Skelton

    View Slide

  14. Team topologies
    Dev Ops Dev Ops
    Devops
    Devops Topologies, Matthew Skelton
    Type 1
    Dev and ops collaboration
    Type 6
    Devops evangelism team

    View Slide

  15. Faster
    30x
    more frequent deployments
    200x
    faster lead times than their peers
    State of DevOps report 2015

    View Slide

  16. Safer
    60x
    change success rate
    168x
    faster mean time to recovery
    State of DevOps report 2015

    View Slide

  17. Devops is simply a banner
    Devops is... an umbrella concept that
    refers to anything that smoothes out
    the interaction between development
    and operations.
    Damon Edwards

    View Slide

  18. Where did it come from?

    View Slide

  19. Operations as the new secret
    sauce (2006)

    View Slide

  20. Agile Infrastructure at Agile
    Toronto (2008)

    View Slide

  21. Agile Systems Administration
    mailing list (2009)
    2009 the year of Agile Sysadmins?
    Patrick Debois

    View Slide

  22. 10 deploys per day (2009)

    View Slide

  23. Devopsdays Ghent (2009)

    View Slide

  24. Devopsdays per year

    View Slide

  25. What does devops mean to me?
    A cultural and professional movement
    Adam Jacobs (2010)

    View Slide

  26. What does devops mean to me?
    Culture
    Automation
    Measurement
    Sharing
    John Willis + Damon Edwards (2010)

    View Slide

  27. Devops Enterprise Summit (2014)

    View Slide

  28. Really it’s all about Sharing
    Devops came out of mailing list
    conversations, early Twitter, blogging,
    small groups of passionate folks
    meeting in person and the explosion of
    technical conferences.

    View Slide

  29. Devops then

    View Slide

  30. Infrastructure as code
    - Applying software engineering practices to servers
    - Version control for operations
    - Configuration management
    - Unit testing for infrastructure

    View Slide

  31. Automated deployment
    - Building trust in deploying software
    - Evolving concept of deployment pipeline
    - Continuous delivery and continuous deployment

    View Slide

  32. Monitoring sucks/love (2011)

    View Slide

  33. All still as relevant today
    Infrastructure as code, deployment
    and monitoring are foundational
    technical concepts to devops, even if
    the technologies and best practices are
    always changing

    View Slide

  34. Devops now

    View Slide

  35. Platforms
    - Industrialising automation best practices
    - Raising the level of abstraction
    - An API for operations

    View Slide

  36. Site Reliability Engineering
    SRE embodies the
    philosophies of
    devops, but provides
    a prescriptive set of
    practices

    View Slide

  37. Tenets of SRE
    - Ensure a durable focus on engineering
    - Maximise change velocity within a given error budget
    - Monitoring
    - Emergency response
    - Change management
    - Demand forecasting and capacity planning
    - Provisioning
    - Efficiency and performance

    View Slide

  38. Observability
    - Monitoring
    - Alerting/visualization
    - Distributed systems tracing infrastructure
    - Log aggregation/analytics
    Four pillars of the Twitter Observability Engineering team

    View Slide

  39. Serverless
    The server as we know it is dying
    [mic drop]
    Kevin Downs, New Relic

    View Slide

  40. A new role for ops?
    - Automation
    - Cost optimisation
    - Disaster recovery
    - Monitoring
    - Security
    - Troubleshooting
    Kevin Downs, New Relic

    View Slide

  41. Coevolution of tools
    and practice

    View Slide

  42. Stumbling upon research
    Devop practitioners are constantly
    rediscovering and validating findings from
    applied psychology, management systems
    and other fields. Often without realising.

    View Slide

  43. Hidden Cost of Team Cognition
    The need for coordination drives the
    need for communication amongst
    team members
    J. MacMillan, E. E. Entin, D. Serfaty (2004)

    View Slide

  44. Hidden Cost of Team Cognition
    Reduction in communication overhead can be
    created in multiple ways, such as by
    restructuring the team to reduce the need for
    coordination…
    J. MacMillan, E. E. Entin, D. Serfaty (2004)

    View Slide

  45. Hidden Cost of Team Cognition
    ...or by activities that increase mutual
    awareness and shared mental models
    amongst team members.
    J. MacMillan, E. E. Entin, D. Serfaty (2004)

    View Slide

  46. Devops?
    Many successful devops practices emphasise
    building shared mental models across teams
    and disciplines, reducing the overhead of
    communication.

    View Slide

  47. Sociotechnical systems
    Sociotechnical Systems suggest that all
    human systems include both a
    “technical system” and a “social system”

    View Slide

  48. Sociotechnical systems
    It is possible for the system to optimize
    on the technology, giving priority to
    technical solutions and compelling the
    social system to adapt to it...

    View Slide

  49. Sociotechnical systems
    … or to optimize on the social system,
    giving priority to existing social patterns
    and procedures and compelling the
    technology to fill in what gaps remain.

    View Slide

  50. Sociotechnical systems
    Better outcomes are usually obtained
    by a reciprocal process of joint
    optimization, through which both the
    technical and social systems change to
    some degree in response to each other.

    View Slide

  51. Devops?
    This is why devops doesn’t just talk about the
    tools, because in isolation that’s not the best
    way to change the status quo.

    View Slide

  52. Microservices
    There are two essential strategies to
    manage [growing software]: a team can
    keep everything together (create a
    monolith) or a team can divide a project
    into smaller pieces (create microservices)
    Hunter Loftis, Heroku

    View Slide

  53. Microservices
    There are two essential strategies to
    manage a growing team: keep everyone
    together or divide into smaller sub-teams
    Me, paraphrasing Hunter

    View Slide

  54. Microservices
    Would you start with one team
    building multiple services?

    View Slide

  55. Microservices
    Or start with identifying the domain
    model and splitting the team up
    around that model?

    View Slide

  56. Cloud
    You build it, you run it.
    Werner Vogels, AWS CTO

    View Slide

  57. Cloud
    Would you make different technology
    decisions if you’re on-call when things
    go wrong?

    View Slide

  58. Devops next?

    View Slide

  59. Service Management
    - We ignore too much of the past when embracing the new
    - Traditional ITSM still has areas to explore for devops
    - Asset management?
    - CMDB?
    - Contextual knowledge management?
    - And new domains in which to solve known problems
    - Configuration management for Serverless?
    - Multi-cloud service validation?

    View Slide

  60. Support
    - Ops tools have evolved hugely over the last 10 years
    - Can we say the same thing about support tooling?
    - Too often devops practices applied only to deployment
    - Little crossover between those introducing devops and
    their colleagues in support
    - Shout-out to Jon Hall talking about Swarming

    View Slide

  61. Operations machines
    What does operations mean when
    machine learning leads to more
    autonomous infrastructure?

    View Slide

  62. A different banner?
    The need to share experiences of how
    we improve operations will exist
    beyond the banner of “devops”

    View Slide

  63. Constant coevolution
    What new tools will unlock new
    ways of working?

    View Slide

  64. Constant coevolution
    What new processes will be required to
    support new tools?

    View Slide

  65. Recommended reading

    View Slide

  66. Just getting started

    View Slide

  67. Learning more

    View Slide

  68. Moving the industry forward

    View Slide

  69. Conclusions

    View Slide

  70. Avoid tribalism
    - Banners are useful catalysts for new topics
    - But to the practitioner, the word “devops” isn’t important
    - Neither is the word “agile”
    - Neither is the next word we band around

    View Slide

  71. The importance of diversity
    - The first 3 devopsdays had 1 women speaker out of 30
    - Devopsdays Minneapolis 2017 had 10 women speakers
    - Devops as a movement would not exist today without
    embracing diversity
    - Shout-out to Bridget Kromhout, Nicole Forsgren, Dominica
    DeGrandis, Jennifer Davis, Mandi Walls, Sarah Wells, Cindy
    Sridharan, Julia Evans, Robyn Bergeron and many more

    View Slide

  72. Always ask “How do we run this?”
    What devops means to me is to
    constantly be asking “how do we run
    this?” and strive to improve the answer
    to that question over time

    View Slide

  73. Thank you

    View Slide