DevOps is a relatively new Software Development Lifecycle (SDLC) methodology that has encouraged organizations, IT shops and executives to rethink their approach toward software development, organizational culture and IT investments. There’s no single, definitive path to embrace DevOps, and there may be as many variations of the SDLC methodology as the organizations implementing them. There are however a number of resources that can help your organization follow a systematic and effective route toward DevOps adoption. Here’s a list of top 6 DevOps books (in no specific order of importance!) that describe the SDLC methodology, implementation best practices, key considerations, use cases and examples:
1. The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win by Gene Kim, Kevin Behr and George Spafford (2013).
While literature in the domain of enterprise IT is not always an interesting read, The Phoenix Project takes a different approach and presents the DevOps concept through a fiction story on a DevOps implementation. The book is particularly useful for IT professionals and executives looking for an inspiring explanation on the DevOps processes and practices. The book explores three different ways to connect Dev and Ops segments and emphasizes on the principle of continuous improvement toward optimizing SDLC processes. The book is not entirely technical in nature and highlights the key principles around organizational culture, risk taking approach and collaboration between disparate teams – key concepts that are often overlooked in technical documents despite the inherent importance toward DevOps success.
2. 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 (2016).
As one of the most popular books on this subject, The DevOps Handbook describes exactly how organizations are realizing DevOps principles in their regular SDLC routines. The book contains 40 case studies from a variety of complex enterprises, including Target, Google, Facebook and Etsy, among others. The book provides actionable guidance by exploring a variety of How-To’s associated the application of DevOps principles. The books is based on over 25,000 data points collected over a 5+ year period before it was published in 2016. This book is a follow up to The Phoenix Project and provides an exhaustive analysis on when and why to start DevOps, all the way to accelerating DevOps flows and learning from the implementation practices. This book is ideal for a variety of technical and non-technical audience pursuing DevOps adoption.
3. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble and David Farley (2010).
Jez Humble is one of the most well acknowledged influencers in the DevOps segment and has made significant literary contributions toward software delivery practices and DevOps transformation. In the book Continuous Delivery, Humble and Farley provide a step-by-step narration of the challenges associated with a continuous delivery and release process and guide readers on how to overcome those challenges. This book is ideal for IT professionals and executives willing to understand how the concept of Continuous Delivery in DevOps can transform ideas into usable software products at a short or minimal duration of the cycle. The book introduces automated processes and techniques to help manage changes within the development pipeline as part of a rapid release strategy. These guidelines are useful for a variety of audience, including developers, testers, operations, sysadmins, managers and executives.
4. The DevOps Adoption Playbook: A Guide to Adopting DevOps in a Multi-Speed IT Enterprise by Sanjeev Sharma, IBM (2017).
While most books offer general advice on adopting the DevOps methodology, The DevOps Adoption Playbook offers insights on identifying DevOps challenges unique to your specific organization and aligning them with your business goals. The IBM Distinguished Engineer Sanjeev Sharma who has also contributed to the book DevOps for Dummies, takes a different approach for the DevOps Adoption Playbook and outlines actionable guidance for organizations to execute DevOps principles based on their own unique circumstances. As a result, the book helps organizations use various elements of DevOps to address challenges in large-scale and multi-speed IT infrastructure environments. The guidelines are based on proven case studies and data points, and are connected with the world of sports to enable an interesting, thought provoking and highly informative read for DevOps organizations. The book is also comprehensive, elaborating on a range of aspects associated with DevOps, especially in complex real-world SDLC projects. Even though the book is presented as a playbook, the author connects logical arguments to easily consumable analogies, while also injecting slight humor to maintain reader interest.
5. Building Microservices: Designing Fine-Grained Systems by Sam Newman (2015).
Microservices architecture allows DevOps teams to deploy individual app functionality as modular and decentralized components communicating with each other over the network. As a result, each service function can be isolated, tested, updated and deployed independently from the wider complex application. This gives DevOps teams the agility to adopt continuous delivery and deployment practices. In the book Building Microservices, Sam Newman discusses the concept from a technology perspective as well as an overview of operations and culture of software development. This book is useful for IT shops, system architects and admins looking to transition from traditional architecture design practice to a microservices based architect. The book ranks among the top book publications in the computer hardware, enterprise applications and software design categories on Amazon.
6. Infrastructure as Code: Managing Servers in the Cloud by Kief Morris (2016).
Automation is a key element of an effective DevOps strategy. To enable automation, organizations need to simplify IT Ops tasks such as infrastructure configurations, updates, provisions and maintenance. The growing server sprawl can add unnecessary bottlenecks to the DevOps performance of an organization, which is why progressive IT shops are encouraged to manage their server resources as a code. In this book, Kief Morris identifies the challenges associated with this transition and elaborates on the tools and services to manage the infrastructure as a code. This book is useful for IT professionals looking for specific design patterns and best practices to deliver effective DevOps transformation in a dynamic infrastructure environment.
This list is by no means exhaustive, and leaves room for literature that dives deeper into both the technical and cultural aspects of DevOps. For those interested in more content, follow the leading DevOps influencers in the industry as listed in our recent blog, DevOps Influencers: 8 DevOps Experts to Follow on Twitter.