One of my pet peeves in large organizations is that DevOps is sometimes dismissed as ‘people who deploy things to production’ or ‘people who run our Jenkins servers.’ Sometimes teams of traditional systems administrators are just renamed to be “The DevOps Team” without any change in tools, responsibilities or ways of working. As a result, I’ve been on something of a personal mission to help educate folks on the true scope of the DevOps movement. This list is part of that continuing effort.
Continuous learning is key to the success of any technology professional. When I began researching the (then) fairly new topic of DevOps back around 2011, I started collecting a list of books and other reading material related to DevOps. I’ve expanded this list over the years, and want to share it more broadly. The aim is to help kick-start anyone looking to dive deep into DevOps as a topic or expand your knowledge.
I’ve divided the list into 3 sections:
Foundational “classics” that anyone interested in DevOps should read
Books more technical in nature
Books more cultural in nature
I have provided Amazon links for convenience where I could.
With each book, I’ve included a brief summary of why I included it and what you can hope to get out of the book. While I’ve presented the books in what I think is a logical order to read them, feel free to pick in a random pattern from ones that catch your interest.
Foundational DevOps Classics
These books provide a primer on DevOps for those just starting out with the topic. Many of them are already considered classics in the DevOps community.
The Goal: A Process of Ongoing Improvement by Eliyahu M. Goldratt and Jeff Cox
I consider this book to be a fast-track to understanding the essence of Lean theory—particularly the theory of constraints. While not a DevOps book per se, the foundations built in this book are referenced again and again by later works, such as the Phoenix project.
The Phoenix Project by Gene Kim, Kevin Behr, and George Spafford
If you only read one DevOps book, it should be this one. Written in the style of a funny, informal novel, it distills what is wrong with many enterprise technology situations today, and proposes some unique approaches to solve them. The metaphorical nature of this book heavily echos the style of “The Goal” which is why I suggest reading the Goldratt book first.
Leading the Transformation: Applying Agile and DevOps Principles at Scale by Gary Gruver, Tommy Mouser, et al.
Author Gary Gruver brings a real-world example to this book, specifically his experience at HP leading the firmware team, and transforming it from a bottleneck team that often made other teams wait, to an enabler that allowed the business to move faster. If you’re looking for real solutions to hard problems in a large enterprise, Gruver offers numerous options in this excellent book.
The DevOps Handbook:: How to Create World-Class Agility, Reliability, and Security in Technology Organizations by Gene Kim, Jez Humble, Patrick Debois, and John Willis
Once you’ve read the Phoenix Project and want to dive a level or two deeper, this book gets into practical approaches about how to implement a DevOps mentality and approach in your organization.
Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations by Nicole Forsgren PhD, Jez Humble, and Gene Kim
This is probably the most important technology book I’ve read since The Phoenix Project. While at Standard Chartered Bank, I felt strongly enough about the ideas in this book that I presented a copy signed by our entire team as well as the author to Bill Winters, the group CEO. The result of several years of research in large enterprises, this book lays out clear data that supports adopting DevOps practices like CI/CD, cloud-native architecture, and test-driven development as a way to become a higher performing business.
John WIllis is considered one of the godfathers of DevOps. If you have a chance to see him speak live at a conference, don’t miss it. His clear and detailed description of ‘The Three Ways of DevOps’ should be required reading for anyone looking to educate themselves further.
Technical Practices of DevOps
This section is more about specific technology and architecture subjects. They are useful resources if you’re looking to find out more of the nuts and bolts of some of the practices associated with the DevOps movement,
Building Microservices: Designing Fine-Grained Systems by Sam Newman
Practical advice on how to approach the task of breaking a traditional monolith application down into individual microservices. For extra credit, lookup Adrian Cockcroft on YouTube and augment this book with his views on this subject.
Cloud Native: Designing Change Tolerant Software by Cornelia Davis.
Cornelia Davis is an influential, world-leading deep-thinker on cloud architecture topics. She’s also part of the Pivotal family, and her book can be downloaded for free from Pivotal’s site (along with a number of other great titles). The main insight I’ve gained from Cornelia is that cloud is “more about how you design your applications than where you deploy them”. This book will guide you in detail on the journey of building cloud-native applications that will run well on any cloud platform.
Site Reliability Engineering: How Google Runs Production Systems by Niall Richard Murphy, Betsy Beyer, Chris Jones, and Jennifer Petoff
If you’re from an infrastructure/operations background (like me), you’ll find this book a good example of how very different modern organizations are when it comes to how they run applications in production compared to traditional ITIL-centric tech teams. While SRE as a concept actually predates DevOps as a term/movement, many (including me) now consider SRE to be a specific implementation of DevOps philosophy.
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble and David Farley
A great read if you’d like to learn more about why continuous integration and continuous delivery (CI/CD) are important foundational building blocks in any software organization.
Refactoring Databases: Evolutionary Database Design by Scott J Ambler and Pramod J. Sadalage
Databases, particularly traditional relational databases, often are the ‘long pole in the tent’ when it comes to fully implementing fast agile CI/CD pipelines in a tech organization. This book suggests practical ways in which databases schema and data changes can be handled in order to allow them to move through the dev-to-production pipeline in a similar manner and speed to application code changes.
The following books relate to the cultural aspect of DevOps, from motivation to management, and beyond. Remember that every DevOps journey requires buy-in from people to succeed.
Drive: The Surprising Truth About What Motivates Us by Daniel H. Pink
Modern team environments, specifically for knowledge work, are different than traditional workplaces. This book is one of the most meaningful books I’ve read as it’s helped me improve my own approach to leadership by laying out the keys to motivation in the modern workplace: autonomy, mastery and purpose. A must-read.
Many of the techniques and concepts in the DevOps philosophy can be traced back to the Toyota Production System (TPS). Mike Rother explores this management philosophy in detail within this book.
Making Work Visible: Exposing Time Theft to Optimize Work & Flow by Dominica Degrandis and Tonianne DeMaria
One of the hallmarks of a modern agile workspace/team will be walls covered with sticky notes. Dominica Degrandis explores why making work visible is so important to improve flow and productivity.
Crucial Conversations Tools for Talking When Stakes Are High by Kerry Patterson , Joseph Grenny , et al.
A key part of healthy, productive modern teams is being able to share feedback in a meaningful way with each other. If you’re a new (or an experienced) manager who struggles with having difficult conversations with your teammates, you will find this book to be valuable.
DevOps Culture (Part 1) by John Willis
Another blog post by John Willis makes the list as it is a great summary of what DevOps cultures are all about. This post explores topics like Kaizen and how they relate to DevOps.
Project to Product by Mik Kersten
Many traditional organizations still have a project-centric view of technology. Project managers, teams, budgets, cost centers, approval documents, etc. Yet from my time at Amazon, the emphasis was on products and services and the whole organization at AWS was/is organized by product rather than projects. Mik Kersten’s book is an excellent description of this situation, and how reorganizing around products can speed up and enable real transformation.
In the history of humanity, knowledge has never been more accessible. In the mid-’90s when I decided I wanted to become a Novell administrator, I ended up borrowing $1000s from family to buy books/manuals, attend courses which led to my first real job in technology. There was no other way to access this knowledge. Today, someone who wanted to learn, for example, Linux fundamentals, could do so from YouTube, Wikipedia, downloading source code, etc.
However, despite this great improvement in accessibility of knowledge, it seems like the thirst for knowledge is perhaps less than it ever has been. I constantly meet people who are comfortable in a technology career, working in a role that very likely will be replaced by automation in the next few years. Yet, they are waiting for their manager, HR, or their organization to send them to training. My advice: Don’t wait! Go out and find the knowledge you’re after—most of it is easily findable.
While many of the books on the list are not free, the list is and I’ve made it open source. You’re welcome to contribute on my Github repo where I maintain this list or send me some feedback on twitter @shaunnorris.
About the AuthorFollow on Twitter