Spinnaker deployment strategies v. Kubernetes rolling update


#1

One of our customers asks this about deployment strategies:

"Spinnaker supports its own set of Deployment strategies like https://www.spinnaker.io/concepts/#deployment-strategies and kubernetes supports rolling update: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deployment.

Do you have any feedback on the pros and cons of the deployment strategies?"


#2

Couple of things:

  1. Rolling deployments are convenient for keeping your cluster utilization consistent, as well as avoiding excess pressure on downstream dependencies while doing a rollout. If this is a priority, rolling deploying deploys are best.

  2. Red/black has better guarantees for rolling back infrastructure, since it keeps a copy of your old pods around as long as needed. For some stacks, this can be very important and a lifesaver during a rollback.

  3. Rolling red/black sort-of marries the best of 1 & 2, but is generally slower, and more suited for large deployments that require heavy regular validation at intervals during rollout.

  4. You can do a canary with any of the above 3, it just depends on how you set up your baseline & experiment clusters.


#3

That was informative. Thanks.I have a follow up question. The default spinnaker installation doesnt have canary deployment enabled. Atleast I coudnt find any option to enable Canary deployment. Do you know how can I enable it ? I am using Spinnaker 1.5.3


#4

The open-source canary stage hasn’t been released yet - we expect it to be usable later this quarter.