DevOps Demystified

For a term that is not even six years old, DevOps remains a mysterious pursuit for many software engineering organizations. Let me define DevOps to help you understand and chart your own journey. Hint: it is a cultural term!

Update: 2016-12-17

Yet another refactoring and updates with expanded citations, leveraging a bit of my last four months of DevOps evangelism for Nutanix across five countries. It could use more more work!

Update: 2015-11-18

I have polished and reorganized the slides a few times to improve the flow, reinforce, and elaborate on key points. I am happy to give this talk to any organization and I have provided the slides for your evangelism efforts as well! Please contact me with any follow up questions or comments.

Abstract

A brief history of the DevOps movement and community with a cross section view of many methods and practices that are breaking down the barriers to achieve engineering agility. DevOps seems intangible: you can’t buy it, there is no certification, and frankly, there is no universal definition, yet everyone wants it or already “does” it, but still has trouble identifying it. I will cover many topics so that you can understand and chart your journey to DevOps.

Agenda

  • A Definition and Cultural Rendering of DevOps
    • A Brief History of DevOps
    • DevOps Impact on Organizations
  • The Journey to DevOps
    • Agile Infrastructure in the Cloud
    • Infrastructure as Code
    • Pets versus Cattle versus Bacteria
    • Test, Build, Deploy Pattern
    • Infrastructure Orchestration and Models
  • Epilogue: BusinessOps
    • We are all DevOps: your call to action!

DevOps Definition

DevOps is the process of removing all friction between the developer and customer value.

However, DevOps is a culturally rendered term: it is practiced by people and dynamically bound to their capabilities.

Elaboration: I Dream of DevOps, but What is DevOps?

Presentation

The actual content of this blog post has been given as a talk:

  • 2015-11-17: presented at AWS Bay Area Meetup
    • Typical Meetup attrition: 75 registered, 25+ attended.
    • DevOps definition suggestions:
      • Change “remove friction” to “increase collaboration.”
        • It is close to being the flip side of the same coin, but does not allow a clean notion of recursion and application to tools.
      • Drop the word “value.”
        • I considered this, but the definition becomes too abstract: value yields tangible and measurable properties.
    • Tweets ensued:

Although there are no citations for @Gortees’s work or images, which I find lacking in academic and ethical values, I do admire his presentation #24 at SpiceWorld 2018 = “Why is Automation So Hard?” He charts the progression of automation with automative manufacturing from Ford to Toyota to illustrate DevOps parallels. However, the Toyota Production System is frequently cited by many of my DevOps colleagues, so I would like to encourage him to improve his ethics for the future.