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