Word Notes 5.3.22
Ep 98 | 5.3.22

DevOps (noun)


Rick Howard: The word is: DevOps.  

Rick Howard: Spelled: dev as in development or programming, and ops as in IT operations.  

Rick Howard: Definition: The set of people, process, technology and cultural norms that integrate software development and IT operations into a system-of-systems. 

Rick Howard: Example sentence: We refer to DevOps as the outcome of applying lean principles to the IT value stream.  

Rick Howard: Origin and context: According to Gene Kim, Kevin Behr, and George Spafford in their book, "The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win," Patrick Debois and Andrew Shafer coined the phrase DevOps in 2008. The next year, it entered into common usage when John Allspaw and Paul Hammond gave a presentation at the 2009 Velocity Conference called “10+ D 

Rick Howard: But according to John Willis at IT Revolution Press, DevOps was the result of a convergence of three big ideas. The Agile software development method that started in 2001, the 2009 Allspaw and Hammond presentation, and the 2011 Eric Ries book, "The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses."  

Rick Howard: But really it got to start back in 1994, when Amazon began work on an e-commerce service called merchant.com to help third-party retailers build online shopping sites on top of Amazon e-commerce engine. By 2003, Amazon had installed a set of internal common infrastructure services that all of their developers could access without reinventing the wheel every time. Amazon business leaders soon realized that they were sitting on a goldmine; that they could become the "operating system or the internet" from the services. This eventually led to AWS in 2006.  

Rick Howard: In 2004, when Google was nothing more than a search engine, the Google leadership team gave the responsibility of network management not to the traditional IT team, but to the development team. That decision began the site reliability engineering movement, or SRE, where the main point was to reduce the amount of toil done by administrators. Google defines toil as mundane, repetitive operational work, providing no enduring value. This parallel work to Amazon with some of the first efforts toward infrastructure-as-code.  

Rick Howard: Put into practice, DevOps is the philosophy that once the developers, the quality assurance teams, and the security analysts pass any new code or maintenance updates to IT ops for deployment, their jobs aren't done. Instead of creating artificial black boxes within each team where updates come in, get work done, and then are passed to the next black box, DevOps is the recognition that update creation, deployment, and maintenance is one big system-of-systems and needs to be managed that way. In other words, DevOps uses the Agile software development philosophy across the entire lifecycle of deployed systems from design, to development, to testing, to deployment, to maintenance, and finally, to end of life.  

Rick Howard: Nerd reference: This is Allspaw and Hammond presenting at that 2009 Velocity Conference. 

Allspaw and Hammond: This is the build and stage button, the button at the very bottom of the screen, the one that says perform staging. You click that button, it performs an SVN checkout. It does all of the translations that compiles all the templates. Anywhere where we have compilation that we do for optimization, it does all of that. And then, it copies that code onto a staging service that we can test it. Automatically. Automatically, which means that you don't have people running this command and then you run this command. As it turns out, computers are really good at running commands the same time, the same order, over and over again.  

Allspaw and Hammond: Once you've got that one step build. The next thing you need is a one-step deploy. And at the bottom, we have a button that says I'm feeling lucky and you push that and it pushes the code out to the site.  

Allspaw and Hammond: And the same principles apply here. By making it one button, it means that there's very, very little room for error. It means that you're doing your builds and you're doing your deploys in a consistent environment. It means that there's no manual steps that might go wrong.  

Allspaw and Hammond: You see this as a trend, continuous deployment and continuous integration is starting to show up in a lot of operational tools and even vendors selling things, and and open source projects as well. So it's just a good idea.  

Rick Howard: Word Notes is written by Tim Nodar, executive produced by Peter Kilpe, and edited by John Petrik and me, Rick Howard. The mix, sound design, and original music have all been crafted by the ridiculously talented Elliott Peltzman. Thanks for listening.