DevOps and Agile Operations books

I thought a little google about would bring up a definitive list of books that folk consider to be good reading to get oneself (or most importantly, collegues) into a DevOps / Agile Operations mindset. Nothing came back, so here goes my personal list:

Release It!: Design and Deploy Production-Ready Software, Michael T. Nygard

I have just completed reading this, and to be honest it’s the reason I wrote this post. A thoroughly excellent book, detailing various patterns, anti-patterns, and case studies surrounding the process of writing, deploying, and monitoring applications that are production ready.

I’ll try to write up a full summary of the book shortly, as the information in it is utter devops gold. Many thanks to Sam from ThoughtWorks for suggesting I read this at ScaleCamp UK. One of the best books I have ever read.

The Practice of Network and System Administration, Thomas A. Limoncelli & Christina Hogan

It’s been a while since I read this, but kudos has to go to Tom and Christine for being two of the first people to start to write down a best-practice for Operations – a core goal of the devops movement in my mind.

I still refer to it every so often when I’m approaching a new facet of my job – setting up a new datacentre, entering management, and so on. Generally there’s some good advice in there for whatever I am about to tackle.

Building Scalable Web Sites, Cal Henderson

If you’re not already aware, Cal Henderson was (is?) the chief software architect for Flickr. He knows a bit about scaling, and like so many of the massive web sites of the world, a large part of this ability to scale comes from a good relationship between development and operations.

The book talks primarily about the various techniques available to you when rapidly scaling your application, but this touches on both sides of the fence – some changes are down to good development and application design, others focus on system architecture and monitoring. All require the co-operation of both sides. Definitely a book that bridges the gaps between Dev and Ops.

What else?

There is absolutely no way that this is a complete list. I have not read enough Agile Manifesto / XP books to recommend one over another (specifically, with respect to Agile Operations, not just Agile Development), and I am sure there are many other books that you have read that give a similar level of ‘wow, good point’ revelations as the books listed above.

So, what are your recommendations? Let us know in the comments.

  • Trackback are closed
  • Comments (9)
  1. Hi Mike, nice list

    I would also recommend the following books:
    * Visible Ops: http://www.itpi.org/home/visibleops.php
    * Art Capacity Planning and Scaling Resources – http://www.amazon.com/dp/0596518579
    * Pulling Strings with Puppet – http://www.amazon.com/dp/1590599780

  2. I’ve found “Practices of an Agile Developer” (PragProg) to be a great reference. Nothing amazingly DevOps-ish about it, but it lays out a lot of agile principles really clearly.

  3. Thanks Patrick!

    I’d considered putting Pulling Strings up on my list, but left it off as I didn’t want to get too tool-specific. It’s still one of the only books [I know of] that brings up the concept of configuration management in any significant detail though – albeit obviously focussing on the Puppet way of doing this – and based on that alone deserves a place on the list.

    I haven’t come across the other two books you mention, but will be ordering Visible Ops asap – looks like a great (and more importantly practical) boiling down of ITIL into something more generally usable. Is this a fair statement?

  4. I’ll add:
    Time Management for System Administrators, also from Tom Limoncelli.

    Very good way of organizing your work day.

  5. @Lindsay Holmwood

    Will take a look Lindsay – after reading Release It! I’m quite keen to get a few more of the PragProj process/story type books under my belt. Thanks for pointing it out.

  6. Mike, I’ve hesitated too on the Puppet book, and has the same sentiment as you. And yes the Visible Ops is a great *pratical* book on introducing good changement and other ITIL practices.

    * ITSkeptic books – http://www.itskeptic.org/books
    Tongue in cheek ITIL, love it.

    * Head First Design Patterns – http://oreilly.com/catalog/9780596007126
    Clear simple description on design patterns, something a lot of sysadmins don’t know from scripting only

    * Kanban book coming up by David Anderson – http://www.agilemanagement.net/
    Not yet published but read a preview. Great explanation why flow is important and how to work with specialists

    * Ruby for System Administration – http://www.apress.com/book/view/1590598210
    Somewhat dated, but has a nice chapter on creating DSL’s

    * Practical TDD and Acceptance TDD for Java Developers – http://www.manning.com/koskela/
    While in Java, it’s a great resource on things you can do with TDD and how to tackle problems.

    Aaaah, too many great books ;-)

  7. Hi Mike,

    Good books. I’d add the following:

    * High Performance MySQL (2nd edition), Zaitsev et al.
    * Pro MySQL, Kruckenberg & Pipes

    Both excellent, up-to-date, detailed books – on my desk at all times.

    * Extreme Programming Explained (both editions – the first is more polemical), Kent Beck
    * Agile Estimating and Planning, Mike Cohn
    * Agile Software Development with Scrum, Schwaber & Beedle

    This trio represents an excellent introduction to building software in an Agile manner.

    * The Ruby Way (2nd edition), Hal Fulton
    * The Ruby Programming Language, Flanagan & Matsumoto

    The two best Ruby books – the Ruby Way is hands-on, cookbook style, the second is now my standard reference, although I do keep the Pickaxe book to hand too.

    * Dive into Python, Mark Pilgrim

    One of the best ever ‘learn to program’ books – assumes the reader knows how to program already.

    * Classic Shell Scripting, Robbins & Beebe

    The best shell scripting book I’ve come across. Use alongside the online Advanced Bash Scripting guide, and the O’Reilly Sed and Awk book.

    * Mastering Regular Expressions (3rd Edition)

    Both an excellent introduction and a useful reference work.

    * The Little Schemer (4th edition)

    Perfect introduction to thinking functionally

    * DNS & Bind (5th edition), Liu & Albitz

    Essential reading – DNS underpins pretty much everything we do.

    * Sendmail (2nd & 3rd edition), Bryan Costales

    The second edition has a comprehensive introduction to SMTP – worth having even if you don’t use sendmail. If you do use sendmail, the 3rd edition and also the cookbook are required reading. Otherwise I recommend;

    * The Exim SMTP Mail Server, Philip Hazel

    * Backup & Recovery, W.Curtis Preston

    Super treatment of the hugely important task of backup and recovery – will aid understanding as well as provide technical guidance.

    * Scalable Internet Architectures, Theo Schlossnagle

    A must read for anyone involved it trying to scale any project.

    * Optimizing Linux, Phillip Ezolt

    Good overview of Linux performance tuning.

    * RHEL 5 Unleased, Tammy Fox

    The best one-volume RHEL/CentOS book on the market.

  8. Oh and further, on the ’soft skills’ side:

    * Getting Things Done, David Allen,
    * Getting Real, Fried et al.
    * Crucial Conversations, Patterson et al.
    * Crucial Confrontations, Patterson et al.
    * Getting to Yes, Fisher et al.

  9. I really profit a lot from the Lean Software Development books by Mary and Tom Poppendieck. Their latest book is really excellent, too:

    Leading Lean Software Development: Results Are not the Point

    For me, especially the Lean practices are a very good fit for operations and sysadmin work.