Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
49 used & new from $18.69

Have one to sell? Sell yours here
 
   
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

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

by Michael Nygard (Author)
4.5 out of 5 stars See all reviews (23 customer reviews)

List Price: $34.95
Price: $23.07 & eligible for FREE Super Saver Shipping on orders over $25. Details
You Save: $11.88 (34%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

35 new from $18.69 14 used from $18.69

Best Value

Buy The Productive Programmer (Theory in Practice (O'Reilly)) and get Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers) at an additional 5% off Amazon.com's everyday low price.

The Productive Programmer (Theory in Practice (O'Reilly)) + Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
Buy Together Today: $48.31

Show availability and shipping details

  • The Productive Programmer (Theory in Practice (O'Reilly))

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

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

    In Stock.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details


Customers Who Bought This Item Also Bought

Manage It!: Your Guide to Modern, Pragmatic Project Management

Manage It!: Your Guide to Modern, Pragmatic Project Management

by Johanna Rothman
4.5 out of 5 stars (14)  $23.07
Ship it! A Practical Guide to Successful Software Projects

Ship it! A Practical Guide to Successful Software Projects

by Jared Richardson
4.4 out of 5 stars (27)  $19.77
Behind Closed Doors: Secrets of Great Management (Pragmatic Programmers)

Behind Closed Doors: Secrets of Great Management (Pragmatic Programmers)

by Johanna Rothman
4.3 out of 5 stars (32)  $16.47
Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers)

Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers)

by Andy Hunt
4.6 out of 5 stars (38)  $23.07
Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)

by Robert C. Martin
4.4 out of 5 stars (40)  $37.85
Explore similar items

Editorial Reviews

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.



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.

Product Details

  • Paperback: 326 pages
  • Publisher: Pragmatic Bookshelf (March 30, 2007)
  • Language: English
  • ISBN-10: 0978739213
  • ISBN-13: 978-0978739218
  • Product Dimensions: 8.9 x 7.5 x 1 inches
  • Shipping Weight: 1.7 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars See all reviews (23 customer reviews)
  • Amazon.com Sales Rank: #29,761 in Books (See Bestsellers in Books)

    Popular in these categories: (What's this?)

    #12 in  Books > Computers & Internet > Computer Science > Software Engineering > Design Tools & Techniques
    #47 in  Books > Computers & Internet > Networking > Data in the Enterprise > Client-Server Systems

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(1)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

23 Reviews
5 star:
 (13)
4 star:
 (9)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.5 out of 5 stars (23 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
8 of 8 people found the following review helpful:
4.0 out of 5 stars Architecture for the paranoiac (or realist), July 3, 2007
The subtitle of this book might as well be Architecture and Design for the Paranoiac. The book lays out some critical aspects to creating and rolling out stable software systems. It's directed to those working in the enterprise arena and need the utmost from stability, capacity, and overall design. Nygard's definition of "enterprise" is somewhat broad in that he considers "enterprise" to be any system providing mission-critical support to a business. Regardless of how you define your particular software, I'm sure you'll find something useful in this book.

Nygard presents the book from an anti-pattern/pattern approach: he uses case studies to illustrate how critical errors in design or implementation (anti-patterns) have caused disasterous outages. He then moves on to show how application of solid design patterns could have avoided the problems. He also spends some time going in to detail on how some of the outages have happened, including brief discussions on network packet captures and decompiling third party drivers.

There are a lot of solid fundamentals in the book: dealing with exceptions at system integration points, thread synchronization, avoid rolling your own primative feature libraries such as connection pools, and make sure to test third-party libraries which play critical roles. The general approach of discussing anti-patterns followed by patterns is also a nice way of putting forth the material.

There are a lot of more complex bits covered as well, such as thinking ahead on how you'll deal with bots and crawlers, avoiding AJAX overkill, designing ahead for and using session. I also liked that Nygard talks about the importance of involving the customer in decisions on thresholds and other critical boundaries.

Despite the great content, there is a blistering flaw, IMO: A complete lack of solid implementation specifics. Nygard doesn't provide much detail at all on actual implementation of the critical patterns he espouses, nor does he point you in the direction of other sources of information. For example, the Timeout pattern is held up as a vital aspect in many parts of the book; however, there's no practical detail on actual code to implement a Timeout, and there's only one reference to a practical implementation. The Circuit Breaker pattern, central to many of Nygard's architecture assertions, doesn't have any code or a single reference to other material where you can find implementation details.

While I find that a major gap in the book, otherwise I think it's a solid addition to one's bookshelf. The writing style's very nice, his writing voice is light and concise, and the summary bullets in each section ("Remember This") are of great value. Additionally, there are plenty of references to other useful works. (Just not for the patterns I complained about above.)
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
9 of 10 people found the following review helpful:
5.0 out of 5 stars Is your product really ready to ship? Are you ready for it to ship?, April 24, 2007
It is the decisions that you make during development that will affect the quality of your release. Release It!: Design And Deploy Production-Ready Software was written to help you understand what causes good software to go bad, and to show you how to take control of the situation when it happens.

Release It! was written for architects, designers, and developers of enterprise class software systems. This includes applications, websites, web services, and EAI projects. According to the author, "enterprise class" means if the software stops, the company loses money.

All in all I found Release It! a very easy read. While the author comes from a Java and Unix perspective, the book's focus is generally neutral and grounded toward concepts and techniques that are portable across all platforms and technologies. Each of these case studies is based on real events, only the names (of people, companies, methods, and classes) have been change to protect the innocent. The detail of the information is very helpful, giving insight into the problems and their solutions.

My full review can be found over at Blogcritcs, but if you are looking for a better way to deliver your product, a way to avoid the traps and pitfalls, then Release It! is a good place to begin.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
6 of 6 people found the following review helpful:
4.0 out of 5 stars Design patterns of system architecture, May 4, 2007
This book is intended for architects, designers, and developers of software on which a business depends and whose failure costs money. The tone is informal and the style is easily read. Some architects may wish for more rigor and consider it too easily read but they might still benefit because it contains quite a bit of wisdom earned by experience.

The book discusses issues of uptime, failure, and maintainability with examples drawn from the author's experience and from other industries. Making the point from more than one point of view serves to drive it home.

This is not a programming book but the illumination of a problem is often improved by a snippet of code. The code is Java and is easily read by anyone familiar with programming. Having some familiarity with multi-threaded programming in following the explanations and their examples will make them a little easier to read but is not necessary to get the point. (Even if you truly have no knowledge of Java, looking up JDBC, JVM, EJB, JSP, J2EE, log4j, and servelet will not be much effort because not much knowledge of them is required.) The examples emphasize web applications because, I suppose, that's the environment most vulnerable to huge capacity requirements, more complex environments, more numerous causes of failure, and failures that are more visible.

The author's analysis of the problem space has two dimensions --- stability and capacity --- in which a given enterprise system can be located. The analysis also has two categories: general design and operations.

Stability and Capacity
A given coordinate, on the stability axis, for example, implies the presence and absence of features that improve and diminish stability. A feature that contributes to stability is the use of timeouts and one that detracts is the presence of many interfaces to other systems. The author identifies 8 such stability patterns that contribute to stability and 11 antipatterns that detract from it. Capacity has 4 patterns and 10 antipatterns.

General design and Operations
These two categories are less structured than those of stability and capacity.
"General design" contains advice about networking (integration with local and remote servers), security (principle of least privilege and managing passwords), availability (load balancing and clustering), and administration (QA vs production environments, configuration files, anticipating failure in start-up and shut-down, and an administrative interface).
"Operations" contains advice about recovery-oriented computing (surviving failure by restarting components, et al.), transparency (allowing a view of the system's internals), and adaptation (managing change).

The idea of patterns from software development is raised from the level of programming to the level of systems. I might have called them, for example, stability patterns and anti-stability patterns but the author's meaning is clear enough.

At the end of each pattern and antipattern section is a short and effective summary that begins with "Remember this". The design chapter has a summary and the operations chapter has two section summaries. The author clearly has in mind the reader's take-home lesson and the possibility that the book may be skimmed to reread a section. The book is cross-referenced, forward and back -- if an idea of current relevance is explained elsewhere in more detail, the page number is noted. For example, if an antipattern has a countermeasure identified by a pattern, then the relationship is noted with a page number.

Implementing some suggestions may make the QA phase of testing easier by making diagnosis and (white box) testing itself easier. If you want to design your software to be more reliable and easier to maintain after the QA phase of testing, then this book is for you.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
Ad
 
Most Recent Customer Reviews

5.0 out of 5 stars Helped me fix broken software.
As a project manager working on enterprise systems in a Fortune 500 company, I find myself coming back to this resource frequently -- maybe too frequently, as software has an... Read more
Published 9 days ago by Greg & Laura Leib

4.0 out of 5 stars Enjoyed it
I am halfway done through it. I have worked on e-commerce product for about 2 years. Didn't realize before reading this book the horrors a production system goes through... Read more
Published 12 days ago by Anup Mayank

5.0 out of 5 stars Application Architecture and Integration in the Real World
I've recommended this book to many colleagues of mine and haven't heard a disappointing review to date. Read more
Published 20 days ago by Thomas Beck

4.0 out of 5 stars Practical Stuff
This book contains practical knowledge which I had to learn through hard knocks and falls. If I have this book 7 years ago, a lot of bloody-nose and and late nights would have... Read more
Published 1 month ago by Steven Koh

5.0 out of 5 stars Buy it
I found this book highly insightful. I quickly realized several key ideas we should be implementing at work that this book outlined clearly. Read more
Published 8 months ago by smullins

5.0 out of 5 stars Brilliant architecture book that pretends to be yet another programmer guide
As a software Architect I would say this was one of the most enlightening and practical books I read about software architecture. Read more
Published 8 months ago by Lior Bar-On

4.0 out of 5 stars Interesting, but inconsistent
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. Read more
Published 15 months ago by Dmitry Dvoinikov

4.0 out of 5 stars Sound Advice
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers) (Pragmatic Programmers)

This book offers very sound advice, based upon Author's years... Read more
Published 15 months ago by Arif &Ed : Books,Music And Java

4.0 out of 5 stars Must read for any web software engineer
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... Read more
Published 18 months ago by Siva Visveswaran

4.0 out of 5 stars A Book to have on Your Bookshelf
I just completed reading Release It! by Michael T. Nyggard (Pragmatic Bookshelf 2007). It is part of The Pragmatic Programmers series. Read more
Published 19 months ago by John Yeary

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


Active discussions in related forums
   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


Let Toro Clear the Snow

Let Toro Clear the Snow
Rely on Toro for top-quality snow throwers and power shovels to make snow removal a breeze.

Shop all Toro

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Buy Three Books, Get a Fourth Free

4-for-3 Books
Order any four eligible books under $10 and get the lowest-price book free in our 4-for-3 Books Store. See more details.
 

Examine Every Facet of Your Faucet

Shop for Bathroom Faucets
Coordinate your bath décor with sleek bathroom faucets found in the Plumbing Store.

Shop bathroom faucets now

 
Ad

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Free
Free by Chris Anderson
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Glenn Beck's Common Sense

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates