Release It! (By Michael T. Nygard)

Featured image

Release it! (book review)

Long story short: I recommend reading this book to every software engineer.

Content

The book consists of 4 parts, each of them starts with interesting case studies: real-life example about sleepless nights, systems crashes, and millions of dollars losses. These stories help you take advice, patterns, and practices more seriously.

The first part is about improving system stability: how to ensure external integration does not break your system, how to ensure that failure of one component does not cause cascade failure of the whole system, how to survive peaks of load etc.

The second part is designing a system for production on all levels: starting from hardware and code and finishing with operating the whole system.

The third part is dedicated to deployment processes and versioning.

And the last one provides general advice and best practices for making your system reliable and maintainable.

My take

I enjoyed reading this book. It provides a nice overview of designing and operating reliable and maintainable systems.

Few quotes from the book:

  • “Every single time a human touches a server is an opportunity for unforced errors.”

  • “Design and architecture decisions are also financial decisions. These choices must be made with an eye toward their implementation cost as well as their downstream costs”

  • “The first step of any project is to grossly underestimate its complexity and difficulty.”