Continuous Delivery shows how tocreate fully automated, repeatable, and reliable processes for rapidly moving changes through build, deploy, test, and release. Using these techniques, software organizations are getting critical fixes and other new releases into production in hours - sometimes evenminutes - evenin large projects with complex code bases.
Jez Humble and David Farley begin by presenting the high-level principles and practices required to succeed with regular, repeatable, low-risk releases. 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 deployment pipelines, from infrastructure to data management and governance.
The authors introduce many state-of-the-art techniques, including in-production monitoring and tracing, dependency management, and the use of virtualization. For each, they review key issues, demonstrate how to mitigate risks, and identify best practices. Coverage includes
· Overcoming "anti-patterns" that slow down releases and reduce quality
· Automating all facets of configuration management and testing
· Implementing deployment pipelines at team and organizational levels
· Scripting highly-effective automated build and deployment processes
· Triggering automated processes whenever a change is made
· Automating acceptance testing, from analysis to implementation
· Testing capacity and other non-functional requirements
· Utilizing continuous deployment, rollbacks, and zero-downtime releases
· Managing infrastructure, data, components, dependencies, and versions
· Navigating risk management, compliance, and other obstacles
Whether you're a developer, architect, tester, or manager, this book will help you move from idea to release faster than ever - so you can deliver far more value, far more rapidly.
Product Description
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.
Backcover
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.
Foreword by Martin Fowler
Preface
Acknowledgements
About the Authors
Part I Foundations
1 The Problem of Delivering Software
2 Configuration Management
3 Continuous Integration
4 Implementing a Testing Strategy
Part II The Deployment Pipeline
5 Anatomy of the Deployment Pipeline
6 Build and deployment scripting
7 Commit Testing Stage
8 Automated Acceptance Testing
9 Testing Non-Functional Requirements
10 Deploying and Releasing Applications
Part III The Delivery Ecosystem
11 Managing infrastructure and environments
12 Managing Data
13 Managing components and dependencies
14 Advanced version control
15 Managing Continuous Delivery
Bibliography
Index
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.
Jez Humble and David Farley begin by presenting the high-level principles and practices required to succeed with regular, repeatable, low-risk releases. 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 deployment pipelines, from infrastructure to data management and governance.
The authors introduce many state-of-the-art techniques, including in-production monitoring and tracing, dependency management, and the use of virtualization. For each, they review key issues, demonstrate how to mitigate risks, and identify best practices. Coverage includes
· Overcoming "anti-patterns" that slow down releases and reduce quality
· Automating all facets of configuration management and testing
· Implementing deployment pipelines at team and organizational levels
· Scripting highly-effective automated build and deployment processes
· Triggering automated processes whenever a change is made
· Automating acceptance testing, from analysis to implementation
· Testing capacity and other non-functional requirements
· Utilizing continuous deployment, rollbacks, and zero-downtime releases
· Managing infrastructure, data, components, dependencies, and versions
· Navigating risk management, compliance, and other obstacles
Whether you're a developer, architect, tester, or manager, this book will help you move from idea to release faster than ever - so you can deliver far more value, far more rapidly.
Product Description
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.
Backcover
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.
Foreword by Martin Fowler
Preface
Acknowledgements
About the Authors
Part I Foundations
1 The Problem of Delivering Software
2 Configuration Management
3 Continuous Integration
4 Implementing a Testing Strategy
Part II The Deployment Pipeline
5 Anatomy of the Deployment Pipeline
6 Build and deployment scripting
7 Commit Testing Stage
8 Automated Acceptance Testing
9 Testing Non-Functional Requirements
10 Deploying and Releasing Applications
Part III The Delivery Ecosystem
11 Managing infrastructure and environments
12 Managing Data
13 Managing components and dependencies
14 Advanced version control
15 Managing Continuous Delivery
Bibliography
Index
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.