Upload
dmitri-zimine
View
114
Download
0
Embed Size (px)
Citation preview
Dmitri Zimine,
Mistral and StackStorm
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.
2
Barnaul, RussiaPortland, Apr 2013
Hong Kong, Nov 2013Palo Alto, Jan 2014
3
StackStorm: Mistral’s before and after
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.
What’s next task?
Which action?Data
input/output
Before After
AUTOMATION PRODUCT
WORKFLOWSERVICE
What triggers workflow?
Input data?
Run action.Take input.
Return output.
4
StackStorm contributed from the beginning
MISTRAL-ALL, ALL TIME (ALL PROJECTS)
Lines of code Reviews
1. Directions2. Code
• Event-driven automation product• License: Apache 2.0• Python, 80% OpenStack “stack”• Controlled by: Brocade• Dev workflow: Github flow
5
StackStorm Mistral
• Workflow Service• License: Apache 2.0• Python, 100% OpenStack
“stack”• Controlled by: OpenStack
foundation• Dev workflow: OpenStack Gerrit
6
StackStorm
IT DomainsConfig mgmtStorageNetworking ContainersCloud InfraMonitoring
ActionsSensors
WorkflowsRules
Ops Support
MISTRAL
7
Automation ExampleAutomation
EngineerService
Monitoring IncidentManagement
Event: “low disk on
web301”
Web301 is “low disk”
Resolve known cases, fast. Is it
/var/log? Clean up!
Unknown problem, need a human
Wake up, buddy. Something real
is going on…
What is Mistral?
8
Mistral is an OpenStack Service that manages workflows
OpenStack summit Austin 2016 Video: https://youtu.be/rVAoc4fNkxI
Why yet another workflow service?1. NO Java
– Ops friendly language (e.g. Python)2. NO WYSWYG
– Infrastructure as code3. NO BPEL
– Need a good workflow definition language!• TOSCA: “Instead of providing another language for defining process models,
the specification relies on existing languages like BPMN or BPEL.”
4. NO Legacy architecture– Horizontally scalable, highly available, micro-services, REST
API© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 9
No JAVA: ops friendly stack
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 10
No WYCWYG
11
No BPEL: need good workflow language
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 12
TOSCA: “Instead of providing another language for defining process models, the specification relies on existing languages like BPMN or BPEL.”
NO Legacy architecture:Horizontally scalable, highly available, micro-services, REST API
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 13
14
StackStorm & Mistral: overlap
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.
What’s next task?
Which action?Data
input/output
Before After
AUTOMATION PRODUCT
WORKFLOWSERVICE
What triggers workflow?
Input data?
Run action.Take input.
Return output.
15
Mistal raw or StackStorm?
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.
16
Usage
Mistral (deep) StackStorm (broad)
Users OpenStack community, TELCO
DevOps, Security, Networking
Use Cases NVF, OpenStack automation, use by OpenStack projects
CI/CD, operation automation, security, networking, ChatOps,
Usage (estimated)
??? installationsEstimated: ~200 usersIRC chatter: ~3,000 msg/month
~2,000 installations/monthsEstimated: ~1000 usersSlack chatter: ~5,000 msg/month
Super-users Nokia, Ericson, TripleO, Intel, IBM
Fujitsu, Target, Cisco, Verizon, Pearson, Pulsant, CollabNet, DimentionData, Symantec, Netflix…
17
Case study: Cisco IT
• Use case: – automate self-service provisioning– Transformation: – traditional IT -> DevOps– Legacy Runbook automation -> DevOps-friendly workflow
product• Wanted Mistral (watched for 1 year!)• Using StackStorm
– Was Mistral not enough? Why?
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.
18
Case study: Nokia
• Use case: – NFV– Complex application provisioning workflows on OpenStack
• Using Mistral “raw”– Happy with OpenStack + custom static Python actions (less dynamic
env)
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.
19
Actions: Overlap?Mistral StackStorm
Python actions ✓ ✓Extensible ✓ (stevedore) ✓ (dynamic)Dynamic load ✗ ✓Python lib isolation ✗ ✓Polygloting ✗ ✓ (runners)Call directly ✗ ✓ (API, CLI, UI)OpenStack actions ✓ (*) ✓ (*)“Pack” model ✗ ✓Community “hub” ✗ ✓
Community integrationsOver 2,000 actions (github/st2contrib)
21
StackStorm & Mistral: overlap
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.
What’s next task?
Which action?Data
input/output
Before After
AUTOMATION PRODUCT
WORKFLOWSERVICE
What triggers workflow?
Input data?
Run action.Take input.
Return output.
22
StackStorm & Mistral: overlap
• Users confused: when use one, when another• Contributors confused: offering functionality that breaks
architectural “purity”
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.
23
Mistral & StackStorm: path forward (draft)• Keep Mistral workflow service “clean”• Separate “action” framework and • Make Python actions compatible• Recommend StackStorm for event-driven, and advanced
actions
Details – Mistral contributor’s session tomorrow, Fri Oct 27
24
DISCUSSION