Mistral and StackStorm
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.
Barnaul, Russia
Portland, Apr 2013
Hong Kong, Nov 2013Palo Alto, Jan 2014
StackStorm: Mistral’s before and after
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 3
What’s next task?
Which action?
Data input/output
Before After
AUTOMATION PRODUCT
WORKFLOW
SERVICE
What triggers
workflow?
Input data?
Run action.
Take input.
Return output.
StackStorm contributed from the beginning
4MISTRAL-ALL, ALL TIME (ALL PROJECTS)
Lines of code Reviews
1. Directions
2. 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
StackStorm
6
IT Domains
Config mgmtStorageNetworking ContainersCloud InfraMonitoring
ActionsSensors
WorkflowsRules
Ops Support
MISTRAL
Automation Example
7
Automation
EngineerService
Monitoring Incident
Management
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 code
3. 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
StackStorm & Mistral: overlap
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 14
What’s next task?
Which action?
Data input/output
Before After
AUTOMATION PRODUCT
WORKFLOW
SERVICE
What triggers
workflow?
Input data?
Run action.
Take input.
Return output.
Mistal raw or StackStorm?
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 15
Usage
16
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) ??? installations
Estimated: ~200 users
IRC chatter: ~3,000 msg/month
~2,000 installations/months
Estimated: ~1000 users
Slack chatter: ~5,000 msg/month
Super-users Nokia, Ericson, TripleO, Intel, IBM Fujitsu, Target, Cisco, Verizon,
Pearson, Pulsant, CollabNet,
DimentionData, Symantec, Netflix…
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. 17
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. 18
Actions: Overlap?
19
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 integrations
Over 2,000 actions (github/st2contrib)
StackStorm & Mistral: overlap
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 21
What’s next task?
Which action?
Data input/output
Before After
AUTOMATION PRODUCT
WORKFLOW
SERVICE
What triggers
workflow?
Input data?
Run action.
Take input.
Return output.
StackStorm & Mistral: overlap
• Users confused: when use one, when another
• Contributors confused: offering functionality that breaks architectural
“purity”
© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 22
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
23
DISCUSSION
24

Mistral and StackStorm

  • 1.
    Mistral and StackStorm ©2016 BROCADE COMMUNICATIONS SYSTEMS, INC.
  • 2.
    Barnaul, Russia Portland, Apr2013 Hong Kong, Nov 2013Palo Alto, Jan 2014
  • 3.
    StackStorm: Mistral’s beforeand after © 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 3 What’s next task? Which action? Data input/output Before After AUTOMATION PRODUCT WORKFLOW SERVICE What triggers workflow? Input data? Run action. Take input. Return output.
  • 4.
    StackStorm contributed fromthe beginning 4MISTRAL-ALL, ALL TIME (ALL PROJECTS) Lines of code Reviews 1. Directions 2. Code
  • 5.
    • Event-driven automationproduct • 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 6 IT Domains Config mgmtStorageNetworkingContainersCloud InfraMonitoring ActionsSensors WorkflowsRules Ops Support MISTRAL
  • 7.
    Automation Example 7 Automation EngineerService Monitoring Incident Management 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…
  • 8.
    What is Mistral? 8 Mistralis an OpenStack Service that manages workflows OpenStack summit Austin 2016 Video: https://youtu.be/rVAoc4fNkxI
  • 9.
    Why yet anotherworkflow service? 1. NO Java – Ops friendly language (e.g. Python) 2. NO WYSWYG – Infrastructure as code 3. 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
  • 10.
    No JAVA: opsfriendly stack © 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 10
  • 11.
  • 12.
    No BPEL: needgood 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.”
  • 13.
    NO Legacy architecture: Horizontallyscalable, highly available, micro-services, REST API © 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 13
  • 14.
    StackStorm & Mistral:overlap © 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 14 What’s next task? Which action? Data input/output Before After AUTOMATION PRODUCT WORKFLOW SERVICE What triggers workflow? Input data? Run action. Take input. Return output.
  • 15.
    Mistal raw orStackStorm? © 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 15
  • 16.
    Usage 16 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) ??? installations Estimated: ~200 users IRC chatter: ~3,000 msg/month ~2,000 installations/months Estimated: ~1000 users Slack 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: CiscoIT • 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. 17
  • 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. 18
  • 19.
    Actions: Overlap? 19 Mistral StackStorm Pythonactions ✓ ✓ Extensible ✓ (stevedore) ✓ (dynamic) Dynamic load ✗ ✓ Python lib isolation ✗ ✓ Polygloting ✗ ✓ (runners) Call directly ✗ ✓ (API, CLI, UI) OpenStack actions ✓ (*) ✓ (*) “Pack” model ✗ ✓ Community “hub” ✗ ✓
  • 20.
    Community integrations Over 2,000actions (github/st2contrib)
  • 21.
    StackStorm & Mistral:overlap © 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 21 What’s next task? Which action? Data input/output Before After AUTOMATION PRODUCT WORKFLOW SERVICE 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. 22
  • 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 23
  • 24.

Editor's Notes

  • #6 In conclusion, a shameless plug for StackStorm opensource platform and to it’s commercial twin, Brocade Workflow Composer. To get a taste of event driven automation, Install and use Stackstorm, try out BWC, that comes with that nice graphical workflow designe. Please share your experience with our community (we are on slack), And happy automation!
  • #7 This is a high level overview of the key Workflow Composer components and architecture. Workflow Composer is powered by StackStorm StackStorm is an innovator in event-driven, DevOps-style, cross-domain automation Powered by StackStorm, Workflow Composer provides nearly 2000 points of integration with popular cross-domain platforms and technologies. StackStorm provides 3 key technologies: Sensors, Actions, and Rules.\ These technologies work hand-in-hand with workflows to provide true end-to-end, event-driven, cross-domain automation. Sensors and Actions are points of integration that use APIs to integrate with cross-domain platforms and applications. Sensors listen for specific events while Actions execute commands. Rules use IFTTT logic to determine what actions to perform based on inputs from Sensors. This highly flexible, scalable approach enables BWC to easily integrate within any DC process, tool chain, and existing workflows. This unique, high-scalable, highly flexible approach to enabling cross-domain automation allows organizations of all sizes and maturity to deploy true end-to-end, event-driven automation that meets IT challenges today and into the future.
  • #8 Assume you run an app on a server in your data center. The server is running out of disk space. Shamefully, it’s much more common source of failure that most care to admit. The monitoring tool picks that the server is running low in disk, and raises an event. Automation system catches the event, and fires a “low disk space” trigger The rule is set to run a “remediate out-of-disk” workflow on “low disk space” trigger’; it matches, so it runs the workflow. The workflow runs the process as defined. It may goe and checks what the problem is. And if it’s a known problem with known fix, it fixes it automatically. For instance, if the logs didn’t rotate and filled up the space, it cleans the logs. If something unusual happening, it escalates to human.
  • #13 Source http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#_Toc164738485
  • #17 StackStorm was the first to bring Mistral to the field for trial,
  • #21 OpenStack, AWS, Rackspace, libcloud DevOps tools Monitoring systems (not just sensors! Say, zabbix fires an alert,