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 ...

Get Continuous Delivery with Spinnaker now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.