While the DevOps movement began in earnest in 2009, there are still a lot of questions about what DevOps means, how it’s done, and what the purported benefits of DevOps are. Big questions, for sure. And there are no quick answers. In fact, to thoroughly answer each would require numerous books.
Which brings us to the question, what are the best books that define DevOps, describe how to operationalize it in the real world, and show what beneficial outcomes one could expect?
Here are my choices of five great books on DevOps, in no particular order:
Book: The Phoenix Project
Authors: Gene Kim, Kevin Behr, George Spafford
This one is a fictional story, written in engaging novel style, that tells the story of how to apply DevOps to unleash IT’s potential. The story is about Bill, the IT manager at the fictional company Parts Unlimited. Not an exciting business name, but the adventure starts in earnest when on a drive to work, Bill gets the call from the CEO that sets the story in motion.
The book’s cover description tells it best:
The company’s new IT initiative, code named Phoenix Project, is critical to the future of Parts Unlimited, but the project is massively over budget and very late. The CEO wants Bill to report directly to him and fix the mess in ninety days or else Bill’s entire department will be outsourced.
With the help of a prospective board member and his mysterious philosophy of The Three Ways, Bill starts to see that IT work has more in common with manufacturing plant work than he ever imagined. With the clock ticking, Bill must organize work flow streamline interdepartmental communications, and effectively serve the other business functions at Parts Unlimited.
In a fast-paced and entertaining style, three luminaries of the DevOps movement deliver a story that anyone who works in IT will recognize. Readers will not only learn how to improve their own IT organizations, they’ll never view IT the same way again.
As one Amazon reviewer put it: “This “parable” of how applying DevOps to pull out of an IT death spiral of delays and defects is an enjoyable read backed with great references and support materials for understanding the principles underlying DevOps. It’s not enough to get you all the way there, but it will get you inspired to start down the path.”
Authors: Jez Humble and David Farley
This seminal read is all about putting into practice rapidly and consistently delivering new highly-functional software to your users. From the back cover: “Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours—sometimes even minutes-no matter what the size of a project or the complexity of its code base.”
The book covers automated infrastructure management and data migration and the use of virtualization, and automating creating, integrating, testing, and deploying software, as well as improvement collaboration within the teams.
As one Amazon reviewer put it, “This is an absolute must read for anyone in software or application development. It is amazing how well the authors capture the real pain points and provide all the information you need to getting to a more effective IT practice.”
Book: The Visible Ops Handbook
Authors: Kevin Behr, Gene Kim and George Spafford, IT Process Institute
This is the first book I ever read on IT process improvement, and it was an eye-opener for me. This book came out about 4 years before the term DevOps was coined, but it nailed the essence of what high-performance IT is all about. And it’s an essential read today:
Visible Ops codifies how these [High performance enterprise] organizations achieved their transformation from good to great, showing how interested organizations can replicate the key processes of these high-performing organizations in just four steps:
- Stabilize Patient, Modify First Response – Almost 80% of outages are self-inflicted. The first step is to control risky changes and reduce MTTR by addressing how changes are managed and how problems are resolved.
- Catch and Release, Find Fragile Artifacts – Often, infrastructure exists that cannot be repeatedly replicated. In this step, we inventory assets, configurations and services, to identify those with the lowest change success rates, highest MTTR and highest business downtime costs.
- Establish Repeatable Build Library – The highest return on investment is implementing effective release management processes. This step creates repeatable builds for the most critical assets and services, to make it “cheaper to rebuild than to repair.”
- Enable Continuous Improvement – The previous steps have progressively built a closed-loop between the Release, Control and Resolution processes. This step implements metrics to allow continuous improvement of all of these process areas, to best ensure that business objectives are met.
As this Amazon reviewer this had to say, this fall, on the book: “This is the first and foremost required reading on my team! If you are an IT professional, you must read this. It is a concise, powerful expression of how to reinvigorate your operation and become a top performing IT organization.”
Book: DevOps for Developers
Author: Michael Hüttermann
This book is for software developers and engineers that aim to help improve the delivery of software by using lean practices to get apps and software into production.
From its description:
DevOps for Developers is for motivated software engineers, particularly programmers, testers, QA, system admins, database admins, both beginners and experts, who want to improve their software delivery process. It’s the perfect choice for engineers who want to go the next step by integrating their approaches for development and delivery of software. This book is for engineers who want to shape their processes and decide on and integrate open source tools and seek for guidance how to integrate standard tools in advanced real world use cases.
And as an Amazon reviewer put it: “Developers tend to produce updates in short cycles whilst admins prefer a stable system. And if something bad happens, they often start finger-pointing to blame the other side. One solution is to tear down the silos of development and operation. In other words, set up integrated teams.
This is the core message which Michael Hüttermann would like to stress out. Agile methods and tools might be used for development as well as for deployment and operation. In his book, Michael explains how to do and which (free) tools to use.”
To be fair, the book has taken dings about not being a programming book, and repeating some of its concepts. But the value in this book is its real-life examples, and explanations as to how different roles on teams in Dev and Ops can work together more collaboratively. It also dives into common pitfalls organizations hit in their journeys of operationalizing DevOps.
Authors: Eliyahu M. Goldratt, Jeff Cox Author, David Whitford (Other Contributor)
The Goal is the second fictional book in this list. Written more than 30 years ago, it could have been written yesterday. When discussing concepts and systems, many times story is the way to go because the motivations and thought processes of different roles can be discussed in depth and elegantly so. The Goal succeeds in this, and is a must read for anyone who seeks to help be a catalyst of improvement in their organization.
From the book description:
One of Eli Goldratt’s convictions was that the goal of an individual or an organization should not be defined in absolute terms. A good definition of a goal is one that sets us on a path of ongoing improvement.
Pursuing such a goal necessitates more than one breakthrough. In fact it requires many. To be in a position to identify these breakthroughs we should have a deep understanding of the underlying rules of our environment. Twenty-five years after writing The Goal, Dr. Goldratt wrote Standing on the Shoulders of Giants. In this article he provided the underlying rules of operations.
This article appears at the end of this book.
Here’s what an Amazon reviewer had to say: “I have often heard myself complaining that companies over complicate the simplest of activities. Measurements do not truly measure the end result and are often held in a high regard by executives. These measurements cause further loss and mask the true issues. This book was fascinating, very “simple” in a sense which lends to making it even more fascinating. I learned a lot about the production aspect of my “department” which would often not be looked as a production department in the literal sense of the word. Thought provoking and inspirational, every leader can benefit from the story told. A must read.”
I would love to hear from you, what are the most important books on DevOps that you’ve read?