SlideShare a Scribd company logo
property of smashware
DO NOT COPY
Copyright © 2018 smashware, All rights reserved
Spinnaker Workshop
1
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Introduction
● Lee Xie
● Senior Education Engineer at Smashware
● Built OpenStack and Kubernetes Training @ Mirantis
● http://smashware.io/labform
● lxie@smashware.io
● @Lee Xie on slack
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Chapter Objectives
● What is Spinnaker
● Spinnaker Architecture
● Supported Cloud Providers
● Cluster Management
● Deployment Management
● Reliable Deployments
property of smashware
DO NOT COPYWhat is Spinnaker?
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
History
● Created at Netflix 2014
● Open Sourced in Nov, 2015
● Cross-Organization Initiative
● Netflix, Google, Microsoft, Cisco
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Current Delivery Process
● Most companies are using Jenkins plus custom scripts
● Jenkins is a very powerful build server, but not a complete deployment tool
● Jenkins is centered around scripts, ad-hoc executions and passing
parameters between them
● Jenkins has zero knowledge of what the infrastructure is doing
● Spinnaker has first class support for cloud resources. Servers and
deployments are built-in and no custom scripting is needed.
● Debugging Jenkins plus the glue code is a big challenge
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
What is Spinnaker?
“Spinnaker is an open source, multi-cloud continuous delivery platform for
releasing software changes with high velocity and confidence.”
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
What is Spinnaker
● Immutable Infrastructure
● Safe, repeatable Deployments
● Multi-cloud support
● Zero Downtime
● Canary Analysis and Chaos Engineering
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
What Spinnaker is NOT
● Spinnaker is NOT PLATFORM-AS-A-Service
● Spinnaker is NOT an Abstraction Layer for Multiple Clouds
● Spinnaker is NOT a replacement for IAAS
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Why Spinnaker
● Integrates with existing CI tools
● Clear picture of what is happening
● Easy Scaling and Rollbacks
● Multiple Deployment Strategies OOB
● Consolidated Best Practices
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Stats
● Netflix runs 100,000 AWS Instances
● Deploy 95% of them
● Runs OSS Spinnaker with Additional Features Layered
● 150K pipeline executions(8Mil tasks) / Month
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Spinnaker Trends
● Companies that need high scalability are looking at Spinnaker
● Companies want to run Spinnaker on their premises
● Teams are formed around Spinnaker management and installation
● Spinnaker installation and usage is becoming easier over time
● Customers are running hundreds of VMs with Spinnaker
property of smashware
DO NOT COPYSpinnaker Architecture
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Spinnaker Architecture
● Spinnaker is composed of 10 independent microservices
● Minimum of 5 + redis or S3 to be viable
● Optional components can be included as required
● Components can be upgraded, scaled, and configured independently
● Written in Java/Groovy/Kotlin
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Spinnaker Central Components
● Gate - the API gateway. The Spinnaker UI and all api callers communicate
with Spinnaker via Gate
● Deck - the browser-based UI
● CloudDriver - responsible for all mutating calls to the cloud providers and
for indexing/caching all deployed resources
● Orca - the orchestration engine. It handles all ad-hoc operations and
pipelines.
● Front50 - used to persist the metadata of applications, pipelines, projects
and notifications
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Spinnaker Optional Components
● Echo - Spinnaker’s eventing bus. It supports sending notifications and act
on incoming webhooks from services like Github.
● Igor - used to trigger pipelines via continuous integration jobs in systems
like Jenkins and Travis, and to allow for Jenkins/Travis stages to be used
in pipelines.
● Rosco - the bakery. It is used to produce machine images (e.g. GCE
images, AWS AMIs, Azure VM images). It presently wraps packer
● Fiat - Spinnaker’s authorization service, access controls
● Halyard - Spinnaker’s configuration service. Halyard manages the lifecycle
of each of the above services.
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Spinnaker Architecture
Rosco
Gate
Deck
OrcaCloudDriver
HalyardIgor Echo
Front50
Fiat
S3/
Minio/
Redis
Script / Api Call
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Port Mappings
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Troubleshooting Components
● Spinnaker component logs
○ Find pod
■ Kubectl get pods -n spinnaker
○ View logs
■ Kubectl logs -n spinnaker <name of pod>
■ Kubectl describe -n spinnaker <name of pod>
property of smashware
DO NOT COPYSpinnaker Cloud Providers
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Spinnaker Cloud Providers
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Core Feature Sets
● Cluster Management
○ Spinnaker’s cluster management features are used to view and manage your resources in
the cloud.
● Deployment Management
○ Spinnaker’s deployment management features are used to construct and manage
continuous delivery workflows.
property of smashware
DO NOT COPYCluster Management
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Cluster Management
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Spinnaker Cloud Data Model
● Account - A credentialed Target for Deployment, a logical grouping of
Clusters
● Cluster - A group of versioned Server Groups
● Server Group - A group of versioned instances
● Instance - Single Instance of a versioned application
● Load Balancer - Runtime resource for balancing traffic between instances
● Security Group - Defines traffic Access to resources
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Spinnaker UI - Clusters
property of smashware
DO NOT COPYDeployment Management
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Deployment Strategies
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Custom Deployment Strategy
● Provide a re-usable opinionated path for the the best strategy to roll out a
new application version
● One example can be adding scripts to create change control
● A mechanism to provide something better than out of the box options
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Pipelines
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Stages
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Basic Delivery Pipeline
● Build - Jenkins to build and package the app, Publish deb to repo
● Bake - After Jenkins build finishes, the Bakery stage take the new code and
build a new image
● Deploy - Once new image is available, deploy it as a new Server Group
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Spinnaker UI - Pipeline
property of smashware
DO NOT COPYReliable Deployments
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Move Fast and Break Things
● Spinnaker enables us to move fast without breaking things
● These built in safeguards enables speed without sacrificing safety
○ Easy Roll-backs
○ Execution Windows
○ ACA Automated Canary Analysis
○ ChAP
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Easy Roll Back
● Requires Red/Black or Rolling
Red/Black
● When code is breaks something,
switch traffic back to last good
version
○ Manually via UI
○ Automatically via pipeline
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Execution Window
● Spinnaker features ability to restrict the
execution time of a stage
○ Ensure risky stages are only run when
manual intervention is available in case
something goes wrong
○ Deploy during times when servers are not
at peak traffic
● SPS metrics can be used to visually
compare execution windows to the traffic
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Automated Canary Analysis
● ACA compares metrics from live
traffic on a canary with baseline
to determine if the level of
deviation is acceptable
○ Simple stage that can be added to
any Pipeline
■ Define your own scores
■ Define Baseline and New code
cluster(Canary)
■ Spinnaker will spin up one new
instance of each baseline and
canary cluster and will generate a
Canary score every x minutes
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Chaos Automation
● Randomly kills instances on
purpose to keep dev’s honest
● Ensure code is resilient to
instance failover
● Deeply integrated with Spinnaker
○ Zones
○ Regions
property of smashware
DO NOT COPYSpinnaker Drawbacks
property of smashware
DO NOT COPY
property of smashware
DO NOT COPY
Drawbacks
● Documentation and Error Messages
● No ECS support
● No Docker Swarm support
● Limited provider extensibility

More Related Content

What's hot

Spinnaker - Bay Area AWS Meetup - 20160726
Spinnaker - Bay Area AWS Meetup - 20160726Spinnaker - Bay Area AWS Meetup - 20160726
Spinnaker - Bay Area AWS Meetup - 20160726Adam Jordens
 
Orchestrating VM & Container Deployments
Orchestrating VM & Container DeploymentsOrchestrating VM & Container Deployments
Orchestrating VM & Container DeploymentsLars Wander
 
Spinnaker for Azure
Spinnaker for AzureSpinnaker for Azure
Spinnaker for AzureLarry Guger
 
Deploying OpenStack Services with Linux Containers - Brisbane OpenStack Meetu...
Deploying OpenStack Services with Linux Containers - Brisbane OpenStack Meetu...Deploying OpenStack Services with Linux Containers - Brisbane OpenStack Meetu...
Deploying OpenStack Services with Linux Containers - Brisbane OpenStack Meetu...Ken Thompson
 
Build a Basic Cloud Using RDO-manager
Build a Basic Cloud Using RDO-managerBuild a Basic Cloud Using RDO-manager
Build a Basic Cloud Using RDO-managerK Rain Leander
 
Ansible @ Red Hat | December 2015 Ansible Meetup in Melbourne
Ansible @ Red Hat | December 2015 Ansible Meetup in MelbourneAnsible @ Red Hat | December 2015 Ansible Meetup in Melbourne
Ansible @ Red Hat | December 2015 Ansible Meetup in MelbourneKen Thompson
 
Transforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOpsTransforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOpsNicolas (Nick) Barcet
 
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitOpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitLew Tucker
 
DevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarDevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarCodefresh
 
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next LevelKubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next LevelTim Pouyer
 
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh Codefresh
 
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...DynamicInfraDays
 
Okteto For Kubernetes Developer :- Container Camp 2020
Okteto For Kubernetes Developer :- Container Camp 2020 Okteto For Kubernetes Developer :- Container Camp 2020
Okteto For Kubernetes Developer :- Container Camp 2020 sangam biradar
 
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a ProSkip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a ProCodefresh
 
Monitoring and alerting as code with Terraform and New Relic
Monitoring and alerting as code with Terraform and New RelicMonitoring and alerting as code with Terraform and New Relic
Monitoring and alerting as code with Terraform and New RelicRichard Bullington-McGuire
 
(Open)Stacking Containers
(Open)Stacking Containers(Open)Stacking Containers
(Open)Stacking ContainersKen Thompson
 
OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryMirantis
 
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimSelenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimCodefresh
 

What's hot (20)

Spinnaker - Bay Area AWS Meetup - 20160726
Spinnaker - Bay Area AWS Meetup - 20160726Spinnaker - Bay Area AWS Meetup - 20160726
Spinnaker - Bay Area AWS Meetup - 20160726
 
Orchestrating VM & Container Deployments
Orchestrating VM & Container DeploymentsOrchestrating VM & Container Deployments
Orchestrating VM & Container Deployments
 
Spinnaker for Azure
Spinnaker for AzureSpinnaker for Azure
Spinnaker for Azure
 
Deploying OpenStack Services with Linux Containers - Brisbane OpenStack Meetu...
Deploying OpenStack Services with Linux Containers - Brisbane OpenStack Meetu...Deploying OpenStack Services with Linux Containers - Brisbane OpenStack Meetu...
Deploying OpenStack Services with Linux Containers - Brisbane OpenStack Meetu...
 
Build a Basic Cloud Using RDO-manager
Build a Basic Cloud Using RDO-managerBuild a Basic Cloud Using RDO-manager
Build a Basic Cloud Using RDO-manager
 
Ansible @ Red Hat | December 2015 Ansible Meetup in Melbourne
Ansible @ Red Hat | December 2015 Ansible Meetup in MelbourneAnsible @ Red Hat | December 2015 Ansible Meetup in Melbourne
Ansible @ Red Hat | December 2015 Ansible Meetup in Melbourne
 
Transforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOpsTransforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOps
 
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitOpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
 
DevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarDevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm Webinar
 
kolla
kollakolla
kolla
 
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next LevelKubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
Kubecon 2019 - Promoting Kubernetes CI/CD to the Next Level
 
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
 
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...
ContainerDays NYC 2015: "Container Orchestration Compared: Kubernetes and Doc...
 
Okteto For Kubernetes Developer :- Container Camp 2020
Okteto For Kubernetes Developer :- Container Camp 2020 Okteto For Kubernetes Developer :- Container Camp 2020
Okteto For Kubernetes Developer :- Container Camp 2020
 
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a ProSkip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
 
Monitoring and alerting as code with Terraform and New Relic
Monitoring and alerting as code with Terraform and New RelicMonitoring and alerting as code with Terraform and New Relic
Monitoring and alerting as code with Terraform and New Relic
 
(Open)Stacking Containers
(Open)Stacking Containers(Open)Stacking Containers
(Open)Stacking Containers
 
VOID19 The Power Of Community
VOID19 The Power Of CommunityVOID19 The Power Of Community
VOID19 The Power Of Community
 
OpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service DeliveryOpenStack: Changing the Face of Service Delivery
OpenStack: Changing the Face of Service Delivery
 
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimSelenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
 

Similar to Spinnaker workshop

Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open SourceAll Things Open
 
What is Spinnaker? Spinnaker tutorial
What is Spinnaker? Spinnaker tutorialWhat is Spinnaker? Spinnaker tutorial
What is Spinnaker? Spinnaker tutorialjeetendra mandal
 
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Martin Spier
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITOpenStack
 
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...Arthur Berezin
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...Srijan Technologies
 
Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015aspyker
 
Cloud native continuous delivery
Cloud native continuous deliveryCloud native continuous delivery
Cloud native continuous deliverySami Alajrami
 
Manila project update openstack-berlin-summit-2018
Manila project update openstack-berlin-summit-2018Manila project update openstack-berlin-summit-2018
Manila project update openstack-berlin-summit-2018TomBarron
 
Harvard it summit 2016 - opencast in the cloud at harvard dce- live and on-d...
Harvard it summit 2016  - opencast in the cloud at harvard dce- live and on-d...Harvard it summit 2016  - opencast in the cloud at harvard dce- live and on-d...
Harvard it summit 2016 - opencast in the cloud at harvard dce- live and on-d...kevin_donovan
 
Scalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERScalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERShuyi Chen
 
The architecture of SkySQL
The architecture of SkySQLThe architecture of SkySQL
The architecture of SkySQLMariaDB plc
 
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)Spark Summit
 
Developer Experience at the Guardian, Equal Experts Sept 2021
Developer Experience at the Guardian, Equal Experts Sept 2021Developer Experience at the Guardian, Equal Experts Sept 2021
Developer Experience at the Guardian, Equal Experts Sept 2021Akash Askoolum
 
Netflix Cloud Platform and Open Source
Netflix Cloud Platform and Open SourceNetflix Cloud Platform and Open Source
Netflix Cloud Platform and Open Sourceaspyker
 
Win Spinnaker with Winnaker - Open Source North Conf 2017
Win Spinnaker with Winnaker - Open Source North Conf 2017Win Spinnaker with Winnaker - Open Source North Conf 2017
Win Spinnaker with Winnaker - Open Source North Conf 2017Medya Ghazizadeh
 
OpsStack--Integrated Operation Platform
OpsStack--Integrated Operation PlatformOpsStack--Integrated Operation Platform
OpsStack--Integrated Operation PlatformChinaNetCloud
 
Stackuptalks renttherunway-may62014-140514094321-phpapp02
Stackuptalks renttherunway-may62014-140514094321-phpapp02Stackuptalks renttherunway-may62014-140514094321-phpapp02
Stackuptalks renttherunway-may62014-140514094321-phpapp02Elana Jacobs
 

Similar to Spinnaker workshop (20)

Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open Source
 
What is Spinnaker? Spinnaker tutorial
What is Spinnaker? Spinnaker tutorialWhat is Spinnaker? Spinnaker tutorial
What is Spinnaker? Spinnaker tutorial
 
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
 
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
 
Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015
 
Cloud native continuous delivery
Cloud native continuous deliveryCloud native continuous delivery
Cloud native continuous delivery
 
Manila project update openstack-berlin-summit-2018
Manila project update openstack-berlin-summit-2018Manila project update openstack-berlin-summit-2018
Manila project update openstack-berlin-summit-2018
 
Harvard it summit 2016 - opencast in the cloud at harvard dce- live and on-d...
Harvard it summit 2016  - opencast in the cloud at harvard dce- live and on-d...Harvard it summit 2016  - opencast in the cloud at harvard dce- live and on-d...
Harvard it summit 2016 - opencast in the cloud at harvard dce- live and on-d...
 
OpenStack Murano
OpenStack MuranoOpenStack Murano
OpenStack Murano
 
Scalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERScalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBER
 
The architecture of SkySQL
The architecture of SkySQLThe architecture of SkySQL
The architecture of SkySQL
 
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
 
Developer Experience at the Guardian, Equal Experts Sept 2021
Developer Experience at the Guardian, Equal Experts Sept 2021Developer Experience at the Guardian, Equal Experts Sept 2021
Developer Experience at the Guardian, Equal Experts Sept 2021
 
Un-clouding the cloud
Un-clouding the cloudUn-clouding the cloud
Un-clouding the cloud
 
Netflix Cloud Platform and Open Source
Netflix Cloud Platform and Open SourceNetflix Cloud Platform and Open Source
Netflix Cloud Platform and Open Source
 
Win Spinnaker with Winnaker - Open Source North Conf 2017
Win Spinnaker with Winnaker - Open Source North Conf 2017Win Spinnaker with Winnaker - Open Source North Conf 2017
Win Spinnaker with Winnaker - Open Source North Conf 2017
 
OpsStack--Integrated Operation Platform
OpsStack--Integrated Operation PlatformOpsStack--Integrated Operation Platform
OpsStack--Integrated Operation Platform
 
Stackuptalks renttherunway-may62014-140514094321-phpapp02
Stackuptalks renttherunway-may62014-140514094321-phpapp02Stackuptalks renttherunway-may62014-140514094321-phpapp02
Stackuptalks renttherunway-may62014-140514094321-phpapp02
 

Recently uploaded

Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 

Recently uploaded (20)

Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 

Spinnaker workshop

  • 1. property of smashware DO NOT COPY Copyright © 2018 smashware, All rights reserved Spinnaker Workshop 1
  • 2. property of smashware DO NOT COPY property of smashware DO NOT COPY Introduction ● Lee Xie ● Senior Education Engineer at Smashware ● Built OpenStack and Kubernetes Training @ Mirantis ● http://smashware.io/labform ● lxie@smashware.io ● @Lee Xie on slack
  • 3. property of smashware DO NOT COPY property of smashware DO NOT COPY Chapter Objectives ● What is Spinnaker ● Spinnaker Architecture ● Supported Cloud Providers ● Cluster Management ● Deployment Management ● Reliable Deployments
  • 4. property of smashware DO NOT COPYWhat is Spinnaker?
  • 5. property of smashware DO NOT COPY property of smashware DO NOT COPY History ● Created at Netflix 2014 ● Open Sourced in Nov, 2015 ● Cross-Organization Initiative ● Netflix, Google, Microsoft, Cisco
  • 6. property of smashware DO NOT COPY property of smashware DO NOT COPY Current Delivery Process ● Most companies are using Jenkins plus custom scripts ● Jenkins is a very powerful build server, but not a complete deployment tool ● Jenkins is centered around scripts, ad-hoc executions and passing parameters between them ● Jenkins has zero knowledge of what the infrastructure is doing ● Spinnaker has first class support for cloud resources. Servers and deployments are built-in and no custom scripting is needed. ● Debugging Jenkins plus the glue code is a big challenge
  • 7. property of smashware DO NOT COPY property of smashware DO NOT COPY What is Spinnaker? “Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.”
  • 8. property of smashware DO NOT COPY property of smashware DO NOT COPY What is Spinnaker ● Immutable Infrastructure ● Safe, repeatable Deployments ● Multi-cloud support ● Zero Downtime ● Canary Analysis and Chaos Engineering
  • 9. property of smashware DO NOT COPY property of smashware DO NOT COPY What Spinnaker is NOT ● Spinnaker is NOT PLATFORM-AS-A-Service ● Spinnaker is NOT an Abstraction Layer for Multiple Clouds ● Spinnaker is NOT a replacement for IAAS
  • 10. property of smashware DO NOT COPY property of smashware DO NOT COPY Why Spinnaker ● Integrates with existing CI tools ● Clear picture of what is happening ● Easy Scaling and Rollbacks ● Multiple Deployment Strategies OOB ● Consolidated Best Practices
  • 11. property of smashware DO NOT COPY property of smashware DO NOT COPY Stats ● Netflix runs 100,000 AWS Instances ● Deploy 95% of them ● Runs OSS Spinnaker with Additional Features Layered ● 150K pipeline executions(8Mil tasks) / Month
  • 12. property of smashware DO NOT COPY property of smashware DO NOT COPY Spinnaker Trends ● Companies that need high scalability are looking at Spinnaker ● Companies want to run Spinnaker on their premises ● Teams are formed around Spinnaker management and installation ● Spinnaker installation and usage is becoming easier over time ● Customers are running hundreds of VMs with Spinnaker
  • 13. property of smashware DO NOT COPYSpinnaker Architecture
  • 14. property of smashware DO NOT COPY property of smashware DO NOT COPY Spinnaker Architecture ● Spinnaker is composed of 10 independent microservices ● Minimum of 5 + redis or S3 to be viable ● Optional components can be included as required ● Components can be upgraded, scaled, and configured independently ● Written in Java/Groovy/Kotlin
  • 15. property of smashware DO NOT COPY property of smashware DO NOT COPY Spinnaker Central Components ● Gate - the API gateway. The Spinnaker UI and all api callers communicate with Spinnaker via Gate ● Deck - the browser-based UI ● CloudDriver - responsible for all mutating calls to the cloud providers and for indexing/caching all deployed resources ● Orca - the orchestration engine. It handles all ad-hoc operations and pipelines. ● Front50 - used to persist the metadata of applications, pipelines, projects and notifications
  • 16. property of smashware DO NOT COPY property of smashware DO NOT COPY Spinnaker Optional Components ● Echo - Spinnaker’s eventing bus. It supports sending notifications and act on incoming webhooks from services like Github. ● Igor - used to trigger pipelines via continuous integration jobs in systems like Jenkins and Travis, and to allow for Jenkins/Travis stages to be used in pipelines. ● Rosco - the bakery. It is used to produce machine images (e.g. GCE images, AWS AMIs, Azure VM images). It presently wraps packer ● Fiat - Spinnaker’s authorization service, access controls ● Halyard - Spinnaker’s configuration service. Halyard manages the lifecycle of each of the above services.
  • 17. property of smashware DO NOT COPY property of smashware DO NOT COPY Spinnaker Architecture Rosco Gate Deck OrcaCloudDriver HalyardIgor Echo Front50 Fiat S3/ Minio/ Redis Script / Api Call
  • 18. property of smashware DO NOT COPY property of smashware DO NOT COPY Port Mappings
  • 19. property of smashware DO NOT COPY property of smashware DO NOT COPY Troubleshooting Components ● Spinnaker component logs ○ Find pod ■ Kubectl get pods -n spinnaker ○ View logs ■ Kubectl logs -n spinnaker <name of pod> ■ Kubectl describe -n spinnaker <name of pod>
  • 20. property of smashware DO NOT COPYSpinnaker Cloud Providers
  • 21. property of smashware DO NOT COPY property of smashware DO NOT COPY Spinnaker Cloud Providers
  • 22. property of smashware DO NOT COPY property of smashware DO NOT COPY Core Feature Sets ● Cluster Management ○ Spinnaker’s cluster management features are used to view and manage your resources in the cloud. ● Deployment Management ○ Spinnaker’s deployment management features are used to construct and manage continuous delivery workflows.
  • 23. property of smashware DO NOT COPYCluster Management
  • 24. property of smashware DO NOT COPY property of smashware DO NOT COPY Cluster Management
  • 25. property of smashware DO NOT COPY property of smashware DO NOT COPY Spinnaker Cloud Data Model ● Account - A credentialed Target for Deployment, a logical grouping of Clusters ● Cluster - A group of versioned Server Groups ● Server Group - A group of versioned instances ● Instance - Single Instance of a versioned application ● Load Balancer - Runtime resource for balancing traffic between instances ● Security Group - Defines traffic Access to resources
  • 26. property of smashware DO NOT COPY property of smashware DO NOT COPY Spinnaker UI - Clusters
  • 27. property of smashware DO NOT COPYDeployment Management
  • 28. property of smashware DO NOT COPY property of smashware DO NOT COPY Deployment Strategies
  • 29. property of smashware DO NOT COPY property of smashware DO NOT COPY Custom Deployment Strategy ● Provide a re-usable opinionated path for the the best strategy to roll out a new application version ● One example can be adding scripts to create change control ● A mechanism to provide something better than out of the box options
  • 30. property of smashware DO NOT COPY property of smashware DO NOT COPY Pipelines
  • 31. property of smashware DO NOT COPY property of smashware DO NOT COPY Stages
  • 32. property of smashware DO NOT COPY property of smashware DO NOT COPY Basic Delivery Pipeline ● Build - Jenkins to build and package the app, Publish deb to repo ● Bake - After Jenkins build finishes, the Bakery stage take the new code and build a new image ● Deploy - Once new image is available, deploy it as a new Server Group
  • 33. property of smashware DO NOT COPY property of smashware DO NOT COPY Spinnaker UI - Pipeline
  • 34. property of smashware DO NOT COPYReliable Deployments
  • 35. property of smashware DO NOT COPY property of smashware DO NOT COPY Move Fast and Break Things ● Spinnaker enables us to move fast without breaking things ● These built in safeguards enables speed without sacrificing safety ○ Easy Roll-backs ○ Execution Windows ○ ACA Automated Canary Analysis ○ ChAP
  • 36. property of smashware DO NOT COPY property of smashware DO NOT COPY Easy Roll Back ● Requires Red/Black or Rolling Red/Black ● When code is breaks something, switch traffic back to last good version ○ Manually via UI ○ Automatically via pipeline
  • 37. property of smashware DO NOT COPY property of smashware DO NOT COPY Execution Window ● Spinnaker features ability to restrict the execution time of a stage ○ Ensure risky stages are only run when manual intervention is available in case something goes wrong ○ Deploy during times when servers are not at peak traffic ● SPS metrics can be used to visually compare execution windows to the traffic
  • 38. property of smashware DO NOT COPY property of smashware DO NOT COPY Automated Canary Analysis ● ACA compares metrics from live traffic on a canary with baseline to determine if the level of deviation is acceptable ○ Simple stage that can be added to any Pipeline ■ Define your own scores ■ Define Baseline and New code cluster(Canary) ■ Spinnaker will spin up one new instance of each baseline and canary cluster and will generate a Canary score every x minutes
  • 39. property of smashware DO NOT COPY property of smashware DO NOT COPY Chaos Automation ● Randomly kills instances on purpose to keep dev’s honest ● Ensure code is resilient to instance failover ● Deeply integrated with Spinnaker ○ Zones ○ Regions
  • 40. property of smashware DO NOT COPYSpinnaker Drawbacks
  • 41. property of smashware DO NOT COPY property of smashware DO NOT COPY Drawbacks ● Documentation and Error Messages ● No ECS support ● No Docker Swarm support ● Limited provider extensibility