What readers are saying about Release It!
Agile development emphasizes delivering production-ready code every
iteration. This book finally lays out exactly what this r eally means for
critical systems today. You have a winner here.
Tom Poppendieck
Poppendieck.LLC
It’s brilliant. Absolutely awesome. This book would’ve saved [Really
Big Company] hundreds of thousands, if not millions, of dollars in a
recent release.
Jared Richardson
Agile Artisans, Inc.
Beware! This excellent package of experience, insights, and pattern s
has the potential to highlight all the mistakes you didn’t know you
have already made. Rejoice! Michael gives you recipes of how you
redeem yourself right now. An invaluable addition to your Pragmatic
bookshelf.
Arun Batchu
Enterprise Architect, netrii LLC
Release It!
Design and Deploy Production-Ready Software
Michael T. Nygard
The Pragmatic Bookshelf
Raleigh, North Carolina Dallas, Texas
Many of the designations used by manufacturers and sellers to distinguish their prod-
ucts are claimed as trademarks. Where those designations appear in this book, and The
Pragmatic Programmers, LLC was aware of a trademark claim, the designations have
been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The
Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g
device are trademarks of The Pragmatic Programmers, LLC.
Every precaution was taken in the preparation of this book. However, the publisher
assumes no responsibility for errors or omissions, or for damages that may result from
the use of information (including program listings) conta i ned herein.
Our Pragmatic courses, workshops, and other products can help you and your team
create better software and have more fun. For more information, as well as the latest
Pragmatic titles, please visit us at
http://www.pragmaticprogrammer.com
Copyright
©
2007 Michael T. Nygard.
All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmit-
ted, in any form, or by any means, electronic, mechanical, photocopying, recording, or
otherwise, without the prior consent of the publisher.
Printed in the United States of America.
ISBN-10: 0-9787392-1-3
ISBN-13: 978-0-9787392-1-8
Printed on acid-free paper with 85% recycled, 30% post-consumer content.
First printing, April 2007
Version: 2007-3-28
Contents
Preface 10
Who Should Read This Book? ................... 11
How the Book Is Organized .................... 12
About the Case Studies ...................... 13
Acknowledgments .......................... 13
Introduction 14
1.1 Aiming for the R ight Target ................ 15
1.2 Use the Force ........................ 15
1.3 Quality of Life ........................ 16
1.4 The Scope of the Challenge ................ 16
1.5 A Million Dollars Here, a Million Dollars There ..... 17
1.6 Pragmatic Architecture ................... 18
Part I—Stability 20
The Exception That Grounded an Airline 21
2.1 The Outage .......................... 22
2.2 Consequences ........................ 25
2.3 Post-mortem ......................... 27
2.4 The Smoking Gun ...................... 31
2.5 An Ounce of Prevention? .................. 34
Introducing Stability 35
3.1 Defining Stability ...................... 36
3.2 Failure Modes ........................ 37
3.3 Cracks Propagate ...................... 39
3.4 Chain of Failure ....................... 41
3.5 Patterns and Antipatterns ................. 42