The world of DevOps is a mix between IT/sysadmin work along with software engineering. It encompasses both worlds and brings them together into one discipline.
As you can imagine this is a huge topic with a lot to learn. But with these books you can pick up the foundational ideas of DevOps and apply them to any project.
Check out this list and see if any books stand out. Regardless of your experience there’s bound to be something here that can help.
The best introductory book to start learning is The DevOps 2.0 Toolkit. It’s very detailed and fairly broad so it covers all project types and all team sizes. You’ll learn the fundamentals of DevOps work and how you can learn with real projects whether working it’s by yourself or in a team.
Tons of people recommend The DevOps Handbook for good reason. It’s an affordable guide into DevOps written by technologists who know what they’re talking about.
The goal of this 400+ page guide is to explain DevOps as an industry and how it can help major tech companies improve output. When you build a DevOps wing you create a lot of new problems, but you also strive to solve problems and simplify the workflow.
It’s full of case studies and ideas for sysadmins/programmers who want to understand why DevOps is such a huge buzzword.
I can’t guarantee this book will help you design your own teams or create usable workflows from scratch. But if you’re open minded enough to read through these case studies you’ll glean some insights from professionals and learn how you can apply those into your product design work.
This is the real deal for anyone who wants to do serious DevOps work. In The DevOps 2.0 Toolkit you’ll learn some of the top techniques for architecting and structuring quality software.
You can use these ideas to design a workflow for webapps, desktop software, SaaS products, or mobile applications. This book focuses on containerized platforms like Docker and managing code security with backup/migration protocols.
Topics range from scaling projects over to multiple servers and building a continuous deployment schedule. Each chapter has its own series of examples that you can follow along and learn as you go.
It helps if you already know your way around Linux but you certainly don’t need to be an expert to understand how this all works.
I’d recommend this for anyone serious about learning DevOps and using it in a production setup.
Sanjeev Sharma is the head of DevOps at IBM and he drops a crate of knowledge in The DevOps Adoption Playbook. It’s a unique guide because it goes beyond typical startup companies to look more at enterprise-level DevOps.
You’ll learn how to design high-velocity systems and how to transmit ideas quickly over a large team. When you’re always iterating it feels like there’s always more to do. But you can cut down on this by automating your workflow and designing better practices right from the start.
Higher-level enterprise projects always require more security and more maintenance. But this doesn’t mean a DevOps environment can’t flourish with enterprise projects.
Sanjeev’s book is proof that you can get this working if you follow the right directions. And this guide offers a magnificent look at how higher-level IT systems function and how DevOps teams operate within big tech companies.
If you’re looking for a book to guide you through a common workflow then this is the best place to start. You’ll learn the server side of app development along with the best services to run and how to scale any codebase.
Practical DevOps assumes you’re just trying to learn the entire system with little-to-no experience. It covers continuous delivery and coding strategies for beginners. You’ll learn by creating a sample Java application from scratch so it is good to have some experience with the language.
But the real magic comes with learning to deploy, backup, and run tests successfully on your own. This includes writing your own unit tests along with designing applications from scratch.
You’ll learn all the basics to create your own CRUD application from the infrastructure to the codebase. You’ll also learn some basic tools like Chef, Vagrant, and Ansible.
Whether you’re learning this for a job or just trying to improve your IT skills I highly recommend this book for anyone just breaking into DevOps.
A huge part of development operations is about studying patterns and recreating them from scratch. In the book Effective DevOps you can study how teams operate and what makes a successful devops team.
You’ll explore the core foundations of a DevOps workflow including what you should learn vs. what you can skip. Other chapters get into team management and how to split up tasks so that the most important things are getting done first.
Troubleshooting can be a real pain but with the right workflow it can be a lot easier in a DevOps environment. Especially if you work as an agile developer with TDD/BDD.
Anyone who works in a larger corporate climate can benefit from this book. It’s best served for smaller IT teams but it really does apply to any company looking into DevOps as a solution.
If you do work with an agile development process then you’ve likely heard of Test-Driven Development(TDD).
This is a process of very short development cycles where you’ll quickly run through tests, find features that work, scale them and try again. Test Driven Development By Example offers a humorous yet detailed look into the TDD workflow for agile development.
It is very short so don’t expect this to make you a master of the craft. But it’s perfect for anyone in DevOps because it covers TDD from the beginning, so even if you’ve never worked in this type of environment you can get started fast.
The author Kent Beck explains his ideas thoroughly with a lighthearted tone to his writing. This makes the book fun to work through and a pleasure for programmers and IT lovers alike.
Over the years software development has changed rapidly. And it’s the responsibility of everyone in the field(or those attempting to enter) to keep up with these changes.
The Principles of Product Development Flow looks into the technical side of lean product development. You’ll get to see how teams worked in the past and why things have changed so much recently.
It all relates closely to DevOps because now software teams are working closely with IT teams to create a seamless environment for less screw-ups and less testing.
In this book you’ll find a solid outline of 175 principles for making better decisions, reducing batch sizes, increasing feedback, and ultimately managing the control over a DevOps team.
This may not be practical for a smaller company but this book is worth consuming if you ever plan to work in the tech industry.
One interesting point of this book is how it’s organized like a series of essays or tips from professional engineers. Site Reliability Engineering takes a bunch of advice from Google’s Site Reliability Team expanding over the entire lifecycle of an application.
These lessons talk about building deploying, maintaining, monitoring and scaling Google’s largest programs that reach millions of people worldwide.
While Google’s processes may not directly work for your own company, they are still worth considering as it relates to development operations. Best practices, engineering patterns, team behaviors, and ultimately the goals of the product are all considered.
If you read through this book you may not immediately come away with actionable advice. But learning from people who have worked closely within Google is one of the best ways to expand your knowledgebase.
The ideas behind continuous delivery have been around for a long time. And with this massive 500+ page book you can finally get down & dirty with the subject to learn how it all works.
Continuous Delivery presents this methodology in plain English. You’ll learn why rapid development is so important and how to do it right.
Releasing new updates constantly doesn’t leave room for testing, but waiting too long for tests can slow down the workflow. Continuous delivery is about understanding the pipeline and sticking to a schedule.
This book can help you plan the overarching workflow for any product from integration, testing, and ultimately deploying changes live. This also includes data migration and virtualization along with acceptance testing plus many other detailed topics for sysadmins/software engineers.
Once you know that continuous delivery is for you this book with be the only resource you need.
For a thorough look into how agile works in an IT setting grab a copy of Agile IT Organization Design by Sriram Narayan.
This book is surprisingly accurate even being published a few years back.
It talks about designing product management teams that actually communicate and work closely with an IT schedule. This all centers around agile design workflows, all of which are covered in the early chapters of the book.
You can pick this up without any IT experience and still get through the material just fine. But you may not find it very applicable unless you work in a larger team setting.
It does go deep into certain topics so this is meant to be an actionable read. But it’s best if you already have a project you’re working on that you want to apply these ideas onto.
Here’s more of a beginner’s guide to organizing your own agile team from scratch. The Agile Enterprise is a mid-sized book with 280 pages of guides and tips from professionals in the field.
You’ll learn about customer-driven enterprise design and how to work towards goals that ultimately help the customer. There’s a fine line working in agile environments where you can get caught up in the technology and lose sight of the larger goals.
With the tips in this book you’ll learn how to visualize a larger pipeline and keep everyone on board along the way. This includes prioritizing feedback and working out ideas through user testing. It’s really the ultimate guide to turn your entire business agile and get everyone operating on the same page.
As you might assume, this doesn’t directly relate to DevOps work. But these lessons can apply to newer startups and young tech companies so I absolutely recommend reading through this if you’re a corporate leader pushing for agile workflows.
Everyone wants to build the next Facebook and watch it blow up into stardom. But you don’t need to hit Facebook-level traffic before you start thinking about how to scale.
The beauty of Architecting for Scale is how it approaches the subject to go beyond just users. It also shares tips on how to manage risk, keep backups secure, and how to migrate your data with the lowest chance of error.
Ultimately your goal should be to create a system where the technology can be scaled without ever affecting the user experience. Learning how to test and deploy is certainly part of this, but so is IT/sysadmin management and organizing a structure(either locally or in the cloud).
I recommend this to anyone looking to launch a startup or someone working in smaller a DevOps team. There are many ways to scale and you’re guaranteed to screw up something at least once.
But this book can save you on the most common blunders and point you in the right direction when crafting your next project.
It’s a bit easier to talk about DevOps when you’re working with a 15 person company. When you get into the realm of Amazon and Pinterest you’re talking about much larger teams where DevOps work can be far more chaotic.
Leading the Transformation is a shorter book on how you can scale projects that are already massive. These tips come straight from engineers at major Silicon Valley companies and they offer both philosophies and practical knowledge mixed together.
Moving from a legacy system can be a real pain in the ass. But so can scaling a simple MEAN stack that you’ve never needed to scale before.
Using an agile workflow alongside DevOps creates an environment where everyone’s working together on the same pipeline and goals become much clearer.
This book teaches you how to think like this and how to plan in advance for large-scale applications. A very short read but also very insightful.
Once you go past the basics and work in a DevOps environment you’ll realize how much you still need to learn. That’s when I’d recommend grabbing a copy of this book to learn from some of the brightest minds in the industry.
DevOps: A Software Architect’s Perspective addresses major pain points in the DevOps ecosystem. Three skilled architects share organizational and technical tips for every stage in development.
You’ll learn about virtualization and how cloud computing like AWS is radically transforming the IT side of DevOps. And you’ll learn about architecting applications that can scale on secure software stacks.
Some of the most important topics are how to maintain reliability, compliance, and security across your platform. There is no foolproof way to manage everything but this book forces you to think about some major problems in DevOps and what you can do to solve them before they occur.
In my opinion this is a must-read for anyone looking at DevOps as a serious career.
Last but certainly not least is DevOps on the Microsoft Stack, this short yet specific book covering the Microsoft Server stack following an agile/DevOps workflow.
Author Wouter de Kort works as a Microsoft expert at an IT firm and performs a lot of technical client work around the country. In this book he shares advice for anyone willing to dive into the MS workflow using Visual Studio, Azure, and of course Windows Server.
Various topics range from continuous integration to setting up an agile workflow, automatic monitoring, test-driven development, and how to manage technical debt for larger projects.
You can pick up this book even if you’ve never used any MS tools in your entire life. It’s very thorough and many of these ideas can be Googled if you have questions along the way.
This certainly isn’t mandatory reading by any means. But if you want to see how DevOps works running Windows Server and virtualization then you’ll learn a lot with this title.
DevOps covers so much ground that it’s impossible to ever master anything. These books offer a strong place to start with many titles that go deep into individual topics.
If you’re brand new to DevOps I recommend a copy of The DevOps 2.0 Toolkit. This is by far a newbie’s best friend and it’ll get you up to speed with how DevOps teams operate.
From there you can dive into agile development, continuous delivery, practical software engineering, scalability, team management, or pretty much anything else that grabs your attention!