Continuous Delivery with Spinnaker
by Emily Burns, Asher Feldman, Rob Fletcher, Tomas Lin, Justin Reynolds, Chris Sanden, Lars Wander, Rob Zienert
Chapter 7. Making Deployments Safer
So far we have explored moving to the cloud, structuring deployments as pipelines, and the specifics and considerations of deployment for VMs and containers.
The ultimate goal of embracing continuous delivery is to allow users to deploy software quickly and automatically. A big part of making this practice successful is to be able to push new code without fear. Automation is great, but it is better if there are proper safeguards to ensure we never get into a state where systems are down and customers are negatively impacted.
In this chapter, we will catalog some of the techniques, actions, and practices that were added to Spinnaker with the goal of making deployments safer.
Cluster Deployments
The following types of safeguards ensure that new versions of software can be added and removed safely. In Spinnaker’s cloud model, where new server groups in a cluster are mapped to software versions, we can add additional checks to ensure availability.
- Deployment strategies
-
Out of the box, Spinnaker comes with four deployment strategies:
- Red/black
-
Enables next server group, disables last one.
- Rolling red/black
-
Same as above, but in incremental percentages, i.e., 25%, 50%, 100%.
- Highlander
-
Destroys all server groups except current active one; there can be only one.
- Custom
-
User-defined.
You can also choose to not have a deployment strategy, in which case a new server group would just be created alongside the existing one. Deployment strategies ...
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