DevOps Handbook
Author: Gene Kim, Jez Humble, Patrick Debois, John Willis
Review created: 2017-01-09
Sometime in November I was recommended to read a book called The Phoenix Project. In the beginning of that book, the main character Bill gets promoted to VP of operations. We then get to follow Bill through various disasters when he tries to make the best out of his new role. It's a really great book. But why am I telling you this, when this review is supposed to be about DevOps Handbook? That's because the moral of the story in The Phoenix Project is that DevOps is good, we should all do it and also because the authors of that book wrote DevOps Handbook in parallel with writing The Phoenix Project.
As the title might indicate, DevOps Handbook is bout how the authors think DevOps can/should be implemented in companies of various sizes. It presents the theory of the three ways (which also is presented in The Phoenix Project) which is the authors' pet theory of how to produce and deploy software in an industrial manner.
The three ways are these:
- Increase the speed of delivery and the quality of the work delivered to custormers by decreasing the size of the work packages delivered and by finding problems as early as possible in the value chain.
- Implement feedback loops from right to left the production chain (i.e from work stations further down to stations further up in the chain).
- Creating a culture of learning and experimentation in the organization.
It can be argued that the whole book is about how the three ways could/should be implemented in the best way. Each way gets its own section in the book, where each section is divided into several chapters each discussing a particular aspect of the way that is the topic of the section. Each chapter gives sound advice about some best practise on doing DevOps in the best way.
Some of the advice given in the book are:
- Make development and operations cooperate as much as possible. Involve operations in development and vice versa.
- Deploy small changes often. More often the better.
- Test as early as possible.
- Implement as much telemetry as possible. Doing that make it possible to determine when something is about to fail or to determine what went wrong when a failure happens.
In almost all chapters, theory is mixed with case studies. The case studies are either a success story of DevOps done right or a failure stories about the problems companies not doing DevOps have faced. These case studies are really interesting and they also make the book an easier read. Some of the case studies, for example about Netflix being largely non-effected by a large AWS outage, are really inspiring (and make you want to implement your version of the Chaos Monkey right away ;)
In summary I think that DevOps Handbook is a really interesting and important book. Everyone that is implementing DevOps or is thinking about implementing DevOps should read it. Managers should by one copy of the book to each of their employees. It gives really good advice about how to implement DevOps. Also, the advice given is tangible, i.e. they do not contain some broad, fluffy statements but are (often) specific things that could be acted upon. I really recommend this book to anyone interested in DevOps.
Rating: 5 out of 5.