Cutting-edge Continuous Delivery: Automated Canary Analysis through Spinnaker - Spring One Platform 2019

Cutting-edge Continuous Delivery: Automated Canary Analysis through Spinnaker - Spring One Platform 2019

The Spring team has been working on continuous delivery for a couple of years now. Spring Cloud Pipelines used to be Spring’s approach to deploy your applications into production, using tools like Jenkins or Concourse. However, those platforms’ key strength lies in continuous integration, and lack internal state representing the deployed landscape across clouds and regions.

That state is required to effectively perform deployment strategies, like cutting-edge automated canary analysis. Spinnaker’s autonomous judge, which analyzes metrics of both baseline and canary deployments, drives deployment strategies based on automated data-driven decisions.

Spinnaker is a stateful, open-source, multi-region, multi-cloud continuous delivery platform, fully written in Spring. It started at Netflix but now involves a wider community of contributors from Google, Microsoft, Amazon, Pivotal, and many others.

Fbcb461e8c19ccc6727f13dbfcd58362?s=128

Andreas Evers

October 08, 2019
Tweet

Transcript

  1. 2.

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

    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.
  3. 6.
  4. 7.
  5. 8.
  6. 9.
  7. 10.

    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
  8. 13.
  9. 14.

    Change Change Change Change SVC 1 SVC 2 SVC 3

    Cloud Deployments are Complex
  10. 16.
  11. 18.
  12. 29.

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

    Halyard ▪ Configuration & deployment lifecycle management tool ▪ Install,

    upgrade, configure, validate your Spinnaker installation ▪ Works with Bill of Materials (BOM)
  14. 31.
  15. 33.

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

    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
  17. 43.
  18. 44.
  19. 45.
  20. 46.

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

    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
  22. 49.
  23. 50.
  24. 51.
  25. 52.

    © 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