Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Google eBook)

Front Cover
Pearson Education, Jul 27, 2010 - Computers - 512 pages
26 Reviews
Winner of the 2011 Jolt Excellence Award!

Getting software released to users is often a painful, risky, and time-consuming process.

This groundbreaking new book sets out the principles and technical practices that enable

rapid, incremental delivery of high quality, valuable new functionality to users. Through

automation of the build, deployment, and testing process, and improved collaboration between

developers, testers, and operations, delivery teams can get changes released in a matter of hours—

sometimes even minutes–no matter what the size of a project or the complexity of its code base.

 

Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk

delivery process. Next, they introduce the “deployment pipeline,” an automated process for

managing all changes, from check-in to release. Finally, they discuss the “ecosystem” needed to

support continuous delivery, from infrastructure, data and configuration management to governance.

 

The authors introduce state-of-the-art techniques, including automated infrastructure management

and data migration, and the use of virtualization. For each, they review key issues, identify best

practices, and demonstrate how to mitigate risks. Coverage includes

 

• Automating all facets of building, integrating, testing, and deploying software

• Implementing deployment pipelines at team and organizational levels

• Improving collaboration between developers, testers, and operations

• Developing features incrementally on large and distributed teams

• Implementing an effective configuration management strategy

• Automating acceptance testing, from analysis to implementation

• Testing capacity and other non-functional requirements

• Implementing continuous deployment and zero-downtime releases

• Managing infrastructure, data, components and dependencies

• Navigating risk management, compliance, and auditing

 

Whether you’re a developer, systems administrator, tester, or manager, this book will help your

organization move from idea to release faster than ever—so you can deliver value to your business

rapidly and reliably.

 

  

What people are saying - Write a review

User ratings

5 stars
14
4 stars
4
3 stars
7
2 stars
1
1 star
0

Review: Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation

User Review  - Graeme Lockley - Goodreads

Finally got through this book - content is awesome - something every serious software craftsman should be aware of and be able to apply. The only negative of this book is the average writing style. Read full review

Review: Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation (Addison-Wesley Signature)

User Review  - Yevgeniy Brikman - Goodreads

I'm a bit torn on this book: on the one hand, it is a very thorough look at a number of important, but often overlooked topics; on the other hand, the book is not a very effective teacher of this ... Read full review

Contents

Foreword by Martin Fowler
Preface
Acknowledgments
About the Authors
Foundations
Chapter 1 The Problem of Delivering Software
Chapter 2 Configuration Management
Chapter 3 Continuous Integration
Chapter 8 Automated Acceptance Testing
Chapter 9 Testing Nonfunctional Requirements
Chapter 10 Deploying and Releasing Applications
The Delivery Ecosystem
Chapter 11 Managing Infrastructure and Environments
Chapter 12 Managing Data
Chapter 13 Managing Components and Dependencies
Chapter 14 Advanced Version Control

Chapter 4 Implementing a Testing Strategy
The Deployment Pipeline
Chapter 5 Anatomy of the Deployment Pipeline
Chapter 6 Build and Deployment Scripting
Chapter 7 The Commit Stage
Chapter 15 Managing Continuous Delivery
Bibliography
Index
Footnotes
Copyright

Common terms and phrases

About the author (2010)

Dave Farley has been having fun with computers for nearly 30 years. Over that period he has worked on most types of software, from firmware, through tinkering with operating systems and device drivers, to writing games, and commercial applications of all shapes and sizes. He started working in large scale distributed systems about 20 years ago, doing research into the development of loose-coupled, message-based systems - a forerunner of SOA. He has a wide range of experience leading the development of complex software in teams, both large and small, in the UK and USA. Dave was an early adopter of agile development techniques, employing iterative development, continuous integration and significant levels of automated testing on commercial projects from the early 1990s. He honed his approach to agile development in his four and a half year stint at ThoughtWorks where he was a technical principal working on some of their biggest and most challenging projects. Dave is currently working for the London Multi-Asset Exchange (LMAX), an organization that is building one of the highest performance financial exchanges in the world, where they rely upon all of the major techniques described in this book.

 

Jez Humble has been fascinated by computers and electronics since getting his first ZX Spectrum aged 11, and spent several years hacking on Acorn machines in 6502 and ARM assembler and BASIC until he was old enough to get a proper job. He got into IT in 2000, just in time for the dot com bust. Since then he has worked as a developer, system administrator, trainer, consultant, manager, and speaker. He has worked with a variety of platforms and technologies, consulting for non-profits, telecoms, financial services and on-line retail companies. Since 2004 he has worked for ThoughtWorks and ThoughtWorks Studios in Beijing, Bangalore, London and San Francisco. He holds a BA in Physics and Philosophy from Oxford University and an MMus in Ethnomusicology from the School of Oriental and African Studies, University of London. He is presently living in San Francisco with his wife and daughter.

Bibliographic information