Continuous Delivery with Spinnaker
by Emily Burns, Asher Feldman, Rob Fletcher, Tomas Lin, Justin Reynolds, Chris Sanden, Lars Wander, Rob Zienert
Preface
Many, possibly even most, companies organize software development around “big bang” releases. An application has a suite of new features and improvements developed over weeks, months, or even years, laboriously tested, then released all at once. If bugs are found post-release it may be some time before users receive fixes.
This traditional software release model is rooted in the production of physical products—cars, appliances, even software sold on physical media. But software deployed to servers, or installed by users over the internet with the ability to easily upgrade does not share the constraints of a physical product. There’s no need for a product recall or aftermarket upgrades to enhance performance when a new version can be deployed over the internet as frequently as necessary.
Continuous delivery is a different model for delivering software that aims to reduce the amount of inventory—features and fixes developed but not yet delivered to users—by drastically cutting the time between releases. It can be seen as an outgrowth of agile software development with its aim of developing software iteratively and seeking continual validation and feedback from users in order to avoid the increased risk of redundancy, flawed analysis, or features that are not fit for the purpose associated with large, infrequent software releases.
Teams using continuous delivery push features and fixes live when they are ready without batching them into formal releases. It is not unusual ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access