on 7 March 2009
If you are in the business of making software systems, odds are that you might have heard about Nygard's book. People have raved about it since it was published in 2007.
That being the case, it had been on my to-read list for a while, but without any urgency. Then I went a conference where I heard two sessions with Michael Nygard presenting his ideas. After that, I knew I had to get hold of the book straight away.
Release It! is something as rare as a book which is groundbreaking while stating the obvious.
First of all, Nygard makes the simple point that we (meaning the people in the business) are all too focused on making our systems ready to pass QA's tests and not on making ready to go into production. This is hardly news, but it's the dirty little secret of the business. It's not something you're supposed to say out loud. Yet Nygard does that. And not only that, he dares to demand that we do better.
Having committed this heresy, he goes on to explain how we can go around doing that.
He does that in two ways. First he present us for the anti-patterns which will stop us from having a running system in production, and then he present us for the patterns which will make it possible to avoid them. Or, if it's not possible to avoid them, to minimize the damage caused by them.
That's another theme of Nygard's book. The insistence that the system will break, and the focus on implementing ways to do damage control and recovery.
The book is not only aimed at programmers, though they should certainly read it, it's also aimed at anyone else involved in the development, testing, configuration and deployment of the system at a technical level, including people involved in the planning of those tasks.
As people might have figured by now, I think the hype around the book has been highly warranted, and I think that any person involved in the field would do well to read the book.
on 30 June 2010
If you're a developer, architect or ops engineer, this book is vital reading. As I read it, many of the anti-patterns listed rang home and it was nice to be able to put names to strategies and patterns to solve these "real" issues which never manifest during QA.
If like me, you provide 4th line prod support for apps you've developed, reading this book and practicing it will hopefully give you a good night sleep after your latest release goes live.
on 17 January 2013
This is the best software development text I have ever read. In fact it's one of the best books I've read; better than '1984', better than 'The Grapes of Wrath', better than 'Slaughterhouse 5'... hell it's probably even better than 'Fifty Shades of Grey'. As a handbook on avoiding sadomasochism, it is definitely better than the aforementioned classic of modern literature.
If you are a software development professional in (or aspiring to be in) any sort of leadership role - architect, dev manager, senior developer - you should read and absorb this book. It is particularly relevant if you work on big, public-facing systems, but most of the principles embodied within it are equally valid for builders of systems of all shapes and sizes.
This, for me, is the current best all-round handbook on 'DevOps' - the principle that software engineering departments should be set up to build software for operation, not to pass QA. It covers the high level organisational and operational issues, and zooms right down to design patterns and programming techniques. It's written in an accessible and witty style, and there are some detailed case studies that genuinely add something to the content.
Do yourself a favour and buy this book. You will become a better IT professional for it, by at least fifty shades.
on 25 June 2014
This is a fantastic book that gives solid and practical advice on the pitfalls of certain architectural decisions and how to avoid them!
The book is very well written, and gives solid examples of catastrophic failures that read like a story then goes in to these examples and explains patterns for avoiding them.
I'd recommend this book to anyone in the field of software development, architecture, release management and operational support who wants to learn how to avoid system failures and understand the techniques that can be used to achieve this.
on 1 July 2008
The author's wealth of experience is evident as soon as you start reading. He passes on that experience in a very enjoyable and readable way, with lots of real world tips and anecdotes.
I get the impression that no matter what design or deployment problems you face, he's already been there and dealt with them, and has lots of practical advice that can really make a difference.