Pages

Monday, October 13, 2008

Release It!

Product Description

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 survive 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 developer and don't want to be on call at 3AM for the
rest of your life, this book will help.


In Release It!, Michael T. Nygard shows you how to design and
architect your application for the harsh realities it will face.
You'll learn how to design your application for maximum uptime,
performance, and return on investment.


Mike explains that many problems with systems today start with the
design:


"It's disconnected from the real world. It's the same as cars
designed solely in the cool comfort of the lab-they look great in
models and CAD systems, but don't work well in the real world. You
want a car designed by somebody who knows that oil changes are always
3,000 miles late; that the tires must work just as well on the last
sixteenth of an inch of tread as on the first; and that you will
certainly, at some point, stomp on the brakes while you're holding an
Egg McMuffin in one hand and a cell phone in the other."


With a combination of case studies and practical advice, Patterns to
follow and Anti-Patterns to avoid, Release It! will help you manage
the pitfalls that cost companies huge amounts of time and money each
year.

Product Details

* Amazon Sales Rank: #51104 in Books
* Published on: 2007-03-30
* Format: Illustrated
* Original language: English
* Number of items: 1
* Binding: Paperback
* 326 pages

Editorial Reviews

About the Author
Michael Nygard has been a professional programmer and architect for over 15 years. He has delivered systems to the U. S. Government, the military, banking, finance, agriculture, and retail industries. Michael has written numerous articles and editorials, spoken at Comdex, and coauthored one of the earliest Java books. Michael has designed, built, and engineered systems for B2B exchanges, retail commerce sites, travel and leisure sites, an information brokerage, and web applications for the intelligence community. Among other exciting projects in his position as Director of Engineering for Totality Corporation, Michael led the operations team through the launch of a tier 1 retail site. His experience with the birth and infancy of this retail platform gives him a unique perspective on building software for high performance and high reliability in the face of an actively hostile environment.
Customer Reviews

Interesting, but inconsistent4
This is a book of advices on how to make the system running. Not just to write and release it (no pun intended), but to keep it running after the release.

The book is about prior planning for capacity and stability, designing systems capable of handling the load while being resilient and fault-tolerant, build it in a maintainable and adaptable way, so that it lives through the years. A great deal of information in it too.

Overall, it was a pleasant reading, because in most parts it matches precisely what I'm doing on my job and what I've learned to be the right way of doing through hard experience. As always, such practical convergence with published material is very comforting.

Why did I give it 4 stars then ?

Because the book itself needs more work.

It is poorly structured and is stylistically informal. It doesn't have a plot, but it is also not a collection of independent essays or articles. Near the end it feels like the author just gave up the structure and stuffed the book with random thoughts.

Despite the author's promise for each part of the book to have a case study, only 3 out of the 4 unconnected book parts are opened with one, and the studies are of anecdotal nature. A few pages of horror in everybody's eyes to find out that a janitor had accidentally pulled the plug, something like that.

As the few architectural patterns suggested by the author reside near the middle of the book, the first half is full of forward references, like "but wait till you see the MagicPattern !". The patterns when you encounter them are useful but are explained shortly and in informal manner again.

A lot of assorted hints, ranging from TCP handshaking to stripping whitespace off web pages and wrapping a web service around a database. Interesting, but inconsistent.

It is difficult for me to be unbiased about a book like that, because, like I said, it correctly describes many of the practical considerations that I already knew in the first place.

I'd say it is the kind of book for the architects with development past. It will be useless for you unless you have a lot of practical experience as a developer. On the other hand, if you are a beginning developer, it won't help much either because it doesn't offer any analysis or any kind of formal textbook kind of information.

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

This book offers very sound advice, based upon Author's years of experience. Every serious developer/architect should own it. The only reason why I gave it 4 stars is that the book is devoid of code; it would have been % star plus, book had Author put some code samples there (even pseudo code or more diagrams).

Must read for any web software engineer4
Unlike many books (such as those with animal kingdom on their cover or photos of several programmers) this book is by/for a real software engineer with real life production ailments and antidotes for them. Even if all the use cases discussed here may not be applicable, if people follow at least 50% of those that apply I think there will less business outages, better user experience and a happier IT department.

On top of all the good technical stuff, this book also happens to be well written - enough to be just enjoyed for the anecdotes and such.

A must read for any software engineer of web applications!