Spinnaker is a continuous delivery platform by Netflix and open sourced in late 2015. Fast-forward 3 years, Spinnaker can deploy to 9 (!) cloud providers and platforms; with many project contributions coming from the cloud providers themselves (Google, Amazon, Microsoft, etc.). This DevOps Toronto talk will feature a quick overview of what Spinnaker can do.
http://decks.pierre-nick.com/201904_Spinnaker_DevOpsTO/
https://github.com/pndurette/spinnaker-playground
https://github.com/pndurette/decks
4. Spinnaker is an open source, multi-cloud continuous
delivery platform for releasing software changes with high
velocity and con dence. – spinnaker.io
5. TIMELINETIMELINE
2010: Net ix creates Asgard
2012: Net ix open-sources Asgard
2014: Net ix creates Spinnaker
2015: Net ix open-sources Spinnaker (AWS & GCP)
6. 2019: SUPPORTED PLATFORMS2019: SUPPORTED PLATFORMS
Amazon Web Services (EC2, ECS, Lambda), Azure
(VM), Cloud Foundry (e.g. IBM Cloud), DC/OS, Google
Cloud Platform (Compute, AppEngine), Kubernetes
(any), OpenStack, Oracle Cloud
8. 1. INFRASTRUCTURE1. INFRASTRUCTURE
(APPLICATION MANAGEMENT)(APPLICATION MANAGEMENT)
View all clouds, accounts & regions
for an application, at a glance
Contextual management replaces consoles
of each individual cloud
Infrastructure state is not stored,
it is read from each cloud
10. 2. PIPELINES2. PIPELINES
(APPLICATION DEPLOYMENT)(APPLICATION DEPLOYMENT)
Create and manage delivery work ow pipelines
Provides CD, not CI; integrates with CI systems
Pipeline-as-code
Pipeline templates
14. MULTI-CLOUD ABSTRACTIONSMULTI-CLOUD ABSTRACTIONS
nnaker AWS GCP Azure Kubernetes
ver
oup
Auto
Scaling
Group
Managed
Instance
Group
Virtual
Machine
Scale
Set
'Workload'
(Deployment,
StatefulSet,
DaemonSet,
etc.)
tance Instance VM VM Pod
15. MULTI-CLOUD ABSTRACTIONS (CONT.)MULTI-CLOUD ABSTRACTIONS (CONT.)
nnaker AWS GCP Azure Kubernetes
ad
ancer
Load
Balancer
Load
Balancer
Application
Gateway
Service
ewall Security
Group
Firewall Network
Security
Group
NetworkPol
gion Region Region Region Namespace
16. OPERATIONSOPERATIONS
Deploy • Destroy • Resize • Rollback • Terminate •
Terminate Instance and Shrink Server Group • Enable
& Disable Server Group • Create Load Balancer • Edit
Inbound Rules ..
(Not all cloud providers implement all operations)
18. CLUSTERSCLUSTERS
An application in a speci c cloud account & region
naming: application[-stack-detail]
application — Application name
stack — User de ned logical group (e.g. prod, dev)
detail — An extra user de ned group
Examples:
"myapp-stg-spot in AWS/us-east-1"
"myapp-prod in Azure/US West"
22. TRIGGERS (EXAMPLES)TRIGGERS (EXAMPLES)
Jenkins, Travis, Wercker, GCP Cloud Build
Passes data/metadata that can be used
Docker Registry Change
Can also do regex match on tag
GCP Pub/Sub
Webhook
Another pipeline
GitHub, GitLab, BitBucket
CRON
23. STEPS (EXAMPLES)STEPS (EXAMPLES)
Jenkins
Can trigger jobs as a step and wait (or not) for
completion
Bakery
'Bake' machine images (using HashiCorp Packer)
'Render' Helm charts (for Kubernetes)
Deploy
Strategies e.g. Blue/Green, Rolling, Canary..
Any cloud operation (contextual to provider)
Disable cluster, Shrink cluster..
Manual Judgement
28. EVERYTHING IS 'AS-CODE'EVERYTHING IS 'AS-CODE'
Pipelines can be designed in the UI
and saved as JSON.
The spin CLI tool provides pipeline
CRUD + Run operations
29. PIPELINE TEMPLATESPIPELINE TEMPLATES
Pipeline Template v2 schema:
1. Create a template in the UI
2. Download it with spin pipelines get
3. Replace the desired parts with variables using the
same Pipeline Expression Language
4. Submit with spin pipeline-templates save
Still a WIP (but very promising):
Spinnaker is gearing towards the data
templating language. See .
Very new (2019)
jsonnet
examples
38. MORE TOPICS TO EXPLORE:MORE TOPICS TO EXPLORE:
Image Bakery
Canary support
Chaos Engineering
Authentication & Authorization
Kubernetes Custom Resource De nitions (CRDs)
Custom Webhook Pipeline Stages
Jenkins integration w/ artifact support
Monitoring: Datadog, Prometheus, Stackdriver
Noti cations
User Data