Continuous Delivery for DC/OS with Spinnaker
Will Gorman @willgorman
Continuous Delivery for DC/OS with Spinnaker Will Gorman - - PowerPoint PPT Presentation
Continuous Delivery for DC/OS with Spinnaker Will Gorman @willgorman Deploying software is challenging Why continuous delivery? Decrease risks of deployment Decrease cost of deployment Decrease delay between feature development
Continuous Delivery for DC/OS with Spinnaker
Will Gorman @willgorman
Why continuous delivery?
development and availability
Deployments should be:
Safety features
Automation
that aren’t often performed
Deployment Strategies
Flexible
variation
Introducing Spinnaker
The open-source, multi-cloud, continuous delivery tool
Continuous Delivery Features
Multi-cloud
Multi-cloud
abstraction
Spinnaker Concepts
Applications, Clusters, Server Groups, and Instances
Applications and Clusters
Application ClustersServer Groups and Instances
Marathon applications and tasks
Create New Server Group
Create New Server Group
Multi-Region Deployments
Pipelines
Triggers
Docker Registry Trigger
DC/OS Stages Supported
Deploy
Destroy Server Group
Run Job
Execute a Metronome job as a step in a pipeline. Write JSON or property file output to the Mesos sandbox to create context for later stepsPipeline Expressions
pipelines at run-time
branching conditions
Pipeline Expressions
Deployment Safeguards
Execution Windows
Execution Windows
Traffic Guards
Chaos Monkey
Spinnaker Patterns for DC/OS
Deployment timeouts
Incremental Automation
completely automated yet
Manual Judgment to Rollback
Configuration Change Triggers
Problem: Spinnaker pipeline configuration isn’t the primary source for our application configuration Prefer configuration to be stored in version control or generated to reduce duplication across applications
Configuration Change Triggers
Load Balancer
support Spinnaker load balancer
X
marathon-lb HAPROXY_0_VHOST: foo.example.com /demo/foo-v000 HAPROXY_0_VHOST: foo.example.com /demo/foo-v002Load Balancer
marathon-lb HAPROXY_0_VHOST: foo.example.com /demo/foo-v000 HAPROXY_0_VHOST: foo.example.com /demo/foo-v002Traefik
Source: https://traefik.io/Traefik
Traefik HAPROXY_0_VHOST: foo.example.com traefik.backend: foo /demo/foo-v000 HAPROXY_0_VHOST: foo.example.com traefik.backend: foo /demo/foo-v001Load Balancer
through labels, which can’t change after an instance is started
package (beta)
Enterprise and Open Source DC/OS
methods currently
disabled
Thanks!