Goodreads helps you keep track of books you want to read.
Start by marking “Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)” as Want to Read:
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
Enlarge cover
Rate this book
Clear rating
Open Preview

Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)

4.21  ·  Rating details ·  2,062 ratings  ·  160 reviews
Whether it's in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?

If you're a deve
Paperback, 326 pages
Published April 6th 2007 by Pragmatic Bookshelf (first published March 30th 2007)
More Details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Release It!, please sign up.

Be the first to ask a question about Release It!

Community Reviews

Showing 1-30
4.21  · 
Rating details
 ·  2,062 ratings  ·  160 reviews

Sort order
Tom Purl
Apr 09, 2010 rated it it was amazing
I need to start by saying that this is one of the best technical books I have ever read. To me, it's easily as enjoyable and useful as Code Complete, The Pragmatic Programmer, or The Mythical Man Month. If you're a sysadmin, an architect, or a developer that works with medium-to-large-sized systems, then do the following:

1. Stop reading this post
2. Order this book from your library or buy it from The Pragmatic Programmer's web site
3. Owe me a pint :D

What The Book Is Really About

Actually, there i
Rod Hilton
Sep 26, 2008 rated it it was amazing
You're wasting time reading this review, you could be reading this book instead.

Release It! is one of the most important books I think programmers can read, easily as important as the oft-cited classics like The Pragmatic Programmer or the GoF book. Release It! isn't about writing super-spiffy code, or object-oriented design, but it should drastically affect how professional programmers write their code. It focuses on what engineers need to do to get their software into a state where it can actu
Rod Hilton
Sep 26, 2017 rated it it was amazing  ·  review of another edition
This remains one of the most important books software engineers can read. The second edition is even better than the first, updated to fix a lot of the "outdated" criticisms the first book gets, incorporating the modern DevOps movement, microservices, and modern technologies used in software engineering.

I really just can't say enough about this book. It's required reading. If you're responsible for code that runs on networked production systems, failing to read this book should be a fireable off
Michael Koltsov
May 14, 2017 rated it it was amazing
There's a relatively short list of books I would like to keep on my desk. Most often those books are references and a composition of famous quotes. After I've read this chap I'd like to have it on my work desk at any moment.

This book is a perfect mix of lots of useful technical insights, practices and recommendations got from the author's hard-earned experience combined with some of the soft-skills you need to make your software and its maintenance (which as the author states costs more than the
Alexander Yakushev
Sep 14, 2017 rated it it was amazing
A must-read for every software engineer who builds complex systems.
Mar 01, 2017 rated it liked it
It's on overview of how systems break in production and how to avoid it. The author manages to take a pretty dry subject and produce a book that is very easy to read.

Now, it's pretty dated in a few places. It's from 2007, when the term DevOps wasn't even widely used yet. At the same time it's interesting to see how a lot of it still holds.

There are too many references to JVM-speficic issues. I don't think this ruins the experience for readers working outside the JVM, but it's strange seeing cas
Sergey Shishkin
Sep 30, 2011 rated it it was amazing
This book is a battle proven must read for any software engineer. Even after 7 years since the book has been published, pretty much every advice in it remains valid and relevant. The idea of the operations database has found market confirmation in products like Splunk. The Curcuit Breaker pattern has ever since been implemented numerous times in various OSS libraries.

A seasoned developer would have probably been learned some of the advice the hard way. Nonetheless I've picked up a lot of wisdom
Zbyszek Sokolowski
Great book showing different aspects and clues of delivering software to production. Many software architects are "short sighted" and thinks about make a software which passes unit/integration tests and are failing shortly after release books describes such cases shows good approaches and different ways to deal with the problem and testing like chaos monkey.


Armed with a thread dump, the application is an open book, if you know how to read it. You can deduce a great deal about applications
Apr 03, 2014 rated it it was amazing  ·  review of another edition
The original edition of this book introduced me to stability patterns and their evil twins, stability antipatterns. I've referenced its terminology countless times since reading it, especially Steady State, Circuit Breaker, and Fail Fast. I always include this on my list when newer developers ask what they should read. It's chock full of wisdom about distributed systems that no one bothers to teach you in school. The techniques here make the difference between code that will topple over at the s ...more
James Healy
Nov 03, 2015 rated it it was amazing  ·  review of another edition
This book radically influenced the way I build and deploy software.

It's a whirlwind tour through designing code that behaves well in production, the many ways interaction between multiple systems can fail, deployment styles that avoid scheduled downtime, and case studies to demonstrate the surprises that happen in the real world.

For those new developing and deploying production software the pace might be hard to follow, but those with a bit of experience under their belt will find this triggers
Sergey Teplyakov
Nov 07, 2016 rated it really liked it
I've been working on project that heavily used clouds and high availability for relatively short period of time but even that experience helped me to appreciate this book.

The book predates all the dev-ops hype, but still gives you tons of suggestions how to build a robust, scalable and easy-to-understand-when-something-goes-wrong application: think about failure, every possible component WILL fail in production. Every possible 'joint' like external system interaction will be broken. Every possib
Roman Pichlík
Aug 24, 2013 rated it really liked it
Even almost seven years after publishing the book is a source of inspiration in designing production friendly software. I wish i could read the book three years ago. It would safe few sleepless nights to me and my colleagues. The book would deserve to being extend about e.g. Cloud, Software As A Service and even DevOps since they are key change drivers in release/deployment process nowadays. Anyway worth reading and thumbs up.
Andreea Lucau
Sep 02, 2014 rated it really liked it
You can tell from the first use case the writer worked with big websites and using Java. Still, the book is full of useful advice on how to design software projects in terms in scalability, transparency, adaptability and ease of troubleshoot. I enjoyed the style - the examples are well chosen and the level of details is not to deep, just enough to explain why some decisions are better than the others and how to apply good judgement when needed.
Aug 15, 2015 rated it it was amazing
Shelves: it, worth-re-read
This book is a rare gem. It is full of valuable insights and is written in a very good language. Which makes this book not only valuable source of information but also a pleasure to read.
I would set 10 starts rating out of 5 possible if I could.

Definetely recommend it to any software developer or system engineer.
Simon Eskildsen
Jan 01, 2015 rated it it was amazing
This book is an incredible introduction to creating and maintaining resilient web applications in realistic, chaotic environments. This book has changed how I approach development more than any other. Every developer with something in production should read it.
This was a discussion book at my current company. As a starting point for conversation, it worked well enough. It definitely had some challenges. Writing a software related book almost implies specific technologies. But specifying these technologies almost immediately makes the book out of date, as in this one. But only dealing in concepts makes the book impenetrable. But just rambling your way through chapters just makes it annoying. This book was uneven, but it championed better logging and me ...more
Jelena K
Oct 02, 2017 rated it it was amazing
Shelves: safaribooks
Perfect reading! Can't wait for the updated version of this book.
Kristjan Wager
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
Nov 30, 2012 rated it it was amazing
This book is fantastic.

Let's be frank: I'm biased, because the author is a friend and colleague, and I know some of the stories he tells from personal experience (I'm even in one of them, anonymously).

Nygard writes very well, taking complex concepts and breaking them down into their components, and leaving the reader with essential takeaways of the patterns that create problems and the patterns that can prevent them. The term is never used in this book, but the concept of DevOps underlies the
May 13, 2008 rated it really liked it
Shelves: programming
I was pretty sure I'd like it when, early on, I came across the following quote:

"...sites are now expected to be available 24 by 7 by 365." Footnote: "That phrase has always bothered me. As an engineer, I expect it to either be '24 by 365' or '24 by 7 by 52.'"

This book has a lot of good information on building web applications that can withstand very high load. It is well-written, and he does a very good job of explaining the reasons why different approaches are particularly good or bad.

I have n
Feb 11, 2012 rated it it was amazing
Awesome! Must read for anyone who is(or wants to be) exposed to designing and running largely distributed(enterprisey) systems. In fact I'd recommend it to any engineer.

The book has plenty of real life stories, as well as good suggestions on how problems could have been mitigated beforehand.

Some of my takeaways:
- Resource pools as a way contain failures within broken integration points
(properly cooked: low contention, configurable, with timeouts and handling 'no free resource found' case 'schedu
Sebastian Gebski
May 16, 2014 rated it really liked it
To be honest, I've got something different than expected. What I was looking for was another 'Continuous Delivery' - a book about modern practices of shortening the delivery cycle, filled with examples / cases / ideas.

What this book is actually about is the overall quality of software products (looked at from very various perspectives) and how do different types of flaws impact the product / service in the end. As you can see, this is a far wider (& more generic) topic - if this is what you'
Michael Korbakov
Jul 27, 2013 rated it it was amazing
One of the most interesting books I read recently. Usually this kind of material is pretty boring to read, but Michael Nygard presented it in a smooth and sometimes even funny way. Content-wise, even a seasoned person with experience of running software systems in production will find something interesting. I believe that after reading this book plus "Continuous delivery" by Humble and Farley developer can feel really prepared for terrors of a live production environment.
I really want to see a s
May 26, 2015 rated it it was amazing
Very cool book! Totally. Awesome use cases (I wish there were more). This book will introduce you to another world where systems break, code goes awry, users are frustrated, SLAs violated : to the real world in short :)

I think developers would benefit most from this book, because from my experience, we're often too focused on getting code deployed and deal with problems that arise later, well, later. I think product managers and architects are more experienced in this area (I hope so!) and there
Jun 19, 2014 rated it it was amazing
Excellent overview of important concepts, if you're planning on writing software that gets used by lots of people.

Lots of Java examples, but they illustrate patterns and antipatterns that any programmer should be thinking about, regardless of the specific technology being used.

I'm probably going to make a habit of skimming this book regularly throughout my software career.
Jens Rantil
Mar 11, 2016 rated it it was amazing
Required reading for every developer and ops person. Occasionally somewhat JVM-centric but for the most part generic enough to apply to most computer systems. I love that many chapters are split into patterns and anti-patterns. After 9 years of experience in the field of IT I recognized most patterns and anti-patterns and it made me happy to see someone had written them down!
May 01, 2015 rated it really liked it
Shelves: devops
I thought I'd go for 5 stars while reading most of it. I ended up with four because I found last chapters to be a bit confusing. Anyway the book is full of wisdom and I would argue for calling it a must.
Marcelo Boeira
Dec 05, 2016 rated it it was ok
It is not a bad book, however, it is quite outdated. The author focuses too much on java bytecode stories instead of the expected content. There are several good definitions, but they are hidden in between long and, most of the times, unnecessary stories.
Axel Velazquez
Feb 09, 2016 rated it really liked it
It was ok. Basically it is one of those books where you are learning as you read funny catastrophes. It is just like reading post mortems of events that happened in the tech industry , which is totally valuable.
Aug 01, 2011 rated it it was amazing
Shelves: read_2011
I couldn't stop reading.
« previous 1 3 4 5 6 7 8 9 next »
There are no discussion topics on this book yet. Be the first to start one »
  • Ship It!
  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
  • Refactoring to Patterns
  • 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts
  • The Productive Programmer
  • Lean Software Development: An Agile Toolkit
  • Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation
  • Growing Object-Oriented Software, Guided by Tests
  • Practices of an Agile Developer: Working in the Real World
  • Programming Clojure
  • xUnit Test Patterns: Refactoring Test Code
  • Web Operations: Keeping the Data on Time
  • The Joy of Clojure
  • REST in Practice: Hypermedia and Systems Architecture
  • Domain-Specific Languages
  • Manage Your Project Portfolio
  • Working Effectively with Legacy Code
  • Domain-Driven Design: Tackling Complexity in the Heart of Software

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
“Software design as taught today is terribly incomplete. It talks only about what systems should do. It doesn’t address the converse—things systems should not do. They should not crash, hang, lose data, violate privacy, lose money, destroy your company, or kill your customers.” 3 likes
“Keep reports out of production Reports can, and should, be served elsewhere. Don’t jeopardize” 1 likes
More quotes…