Slide 1

Slide 1 text

Cutting-edge Continuous Delivery: Automated Canary Analysis through Spinnaker October 7–10, 2019 Austin Convention Center

Slide 2

Slide 2 text

Cover w/ Image Who’s this guy? ■ Andreas Evers - Senior Solutions Architect at Pivotal ■ Part of Application Transformation (AppTx) EMEA ■ Active in Pivotal’s Spinnaker team (collaboration between Spring & Cloud Foundry R&D) ■ @andreasevers on Twitter

Slide 3

Slide 3 text

The ultimate goal of continuous delivery is to deploy software quickly & automatically. This can only be achieved if we’re able to push new code without fear.

Slide 4

Slide 4 text

Speed Confidence

Slide 5

Slide 5 text

App Engine Compute Engine

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Orca Front50 Spring Boot at the core Gate Clouddriver Rosco Fiat Deck Echo Igor Halyard Kayenta

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Spinnaker Ecosystem Cloud Providers App Engine Amazon Web Services Azure Cloud Foundry DC/OS Google Compute Engine Kubernetes Openstack Oracle CI Systems Jenkins Travis CI Wercker Concourse Artifact Support Docker GitHub HTTP S3 Artifactory Google Cloud Storage Nexus (coming soon) Monitoring Datadog Prometheus Stackdriver Atlas SignalFx (10+ more on roadmap) Notifications Email HipChat Slack SMS via Twilio

Slide 11

Slide 11 text

Cloud Pipelines Manual Deployments? Different live versions across regions & clouds? Rollbacks? Spring Cloud Pipelines

Slide 12

Slide 12 text

= Application Centric Control Plane

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

Change Change Change Change SVC 1 SVC 2 SVC 3 Cloud Deployments are Complex

Slide 15

Slide 15 text

Multi Cloud / Foundation / Account / Region View

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Easy Rollbacks are Important

Slide 18

Slide 18 text

Rollbacks

Slide 19

Slide 19 text

Deploy during the Right Timeframes

Slide 20

Slide 20 text

Deployment Windows

Slide 21

Slide 21 text

Deployment Windows

Slide 22

Slide 22 text

Deployment Strategies

Slide 23

Slide 23 text

Automation

Slide 24

Slide 24 text

Canary Birds

Slide 25

Slide 25 text

Canary Birds

Slide 26

Slide 26 text

Canary Analysis

Slide 27

Slide 27 text

Canary Analysis

Slide 28

Slide 28 text

Chaos Monkeys

Slide 29

Slide 29 text

Go Fast - With Safety ■ Automated rollbacks ■ Deployment windows ■ Chaos monkeys ■ Deployment strategies ■ Automated canary analysis ■ Cluster locking ■ Traffic guards ■ Manual judgements ■ Conditional pipeline & stage execution ■ Notifications

Slide 30

Slide 30 text

Halyard ■ Configuration & deployment lifecycle management tool ■ Install, upgrade, configure, validate your Spinnaker installation ■ Works with Bill of Materials (BOM)

Slide 31

Slide 31 text

Demo

Slide 32

Slide 32 text

Rick And Morty

Slide 33

Slide 33 text

Rick And Morty ■ Green protagonist ■ Rick turns himself into a pickle to avoid family therapy ■ Rolls into the sewer and has to fight rats and cockroaches ■ Comes out victorious ■ Very strong, predictable and stable green version

Slide 34

Slide 34 text

Rick And Morty ■ Blue antagonist ■ Genie in a box who exists only to solve the task at hand ■ Will go to great lengths to solve that task ■ Gets aggressive if the task can’t be solved ■ Dangerous, chaotic and unstable blue version

Slide 35

Slide 35 text

Rick And Morty

Slide 36

Slide 36 text

Rick And Morty

Slide 37

Slide 37 text

Rick And Morty

Slide 38

Slide 38 text

Rick And Morty

Slide 39

Slide 39 text

Rick And Morty

Slide 40

Slide 40 text

Rick And Morty

Slide 41

Slide 41 text

Demo bit.do/springone

Slide 42

Slide 42 text

Demo bit.do/ spring one bit.do/ spring one

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

Canary best practices ■ Apply fine-grained traffic splits & content-based routing with Istio or other sophisticated load-balancing technologies ■ Fine-tune the metrics you choose to reflect key service health indicators ■ Include business metrics such as pirate metrics

Slide 47

Slide 47 text

Canary best practices ■ Run canaries long enough to gather enough data points ■ Use the metrics store explorer to figure out what metric expressions to use ■ Align the data points from both canary and baseline deployments using time series aggregators / reducers carefully ■ Take advantage of SpEL templating to avoid manifest hell

Slide 48

Slide 48 text

Speed Confidence

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

© Copyright 2019 Pivotal Software, Inc. All rights Reserved. Slides: https://speakerdeck.com/andreasevers Twitter: twitter.com/andreasevers spinnakerteam.slack.com SO tag:spinnaker spinnaker.io Cutting-edge Continuous Delivery: Automated Canary Analysis through Spinnaker Attributions: Doug Thompson (share.america.gov/english-idiom-canary-coal-mine) U.S. Navy photo by Mass Communication Specialist 1st Class Eric Brown [Public domain] Rick and Morty by Adult Swim