24
Dmitri Zimine, Mistral and StackStorm © 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.

Mistral and StackStorm

Embed Size (px)

Citation preview

Page 1: Mistral and StackStorm

Dmitri Zimine,

Mistral and StackStorm

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.

Page 2: Mistral and StackStorm

2

Barnaul, RussiaPortland, Apr 2013

Hong Kong, Nov 2013Palo Alto, Jan 2014

Page 3: Mistral and StackStorm

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.

Page 4: Mistral and StackStorm

4

StackStorm contributed from the beginning

MISTRAL-ALL, ALL TIME (ALL PROJECTS)

Lines of code Reviews

1. Directions2. Code

Page 5: Mistral and StackStorm

• 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

Page 6: Mistral and StackStorm

6

StackStorm

IT DomainsConfig mgmtStorageNetworking ContainersCloud InfraMonitoring

ActionsSensors

WorkflowsRules

Ops Support

MISTRAL

Page 7: Mistral and StackStorm

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…

Page 8: Mistral and StackStorm

What is Mistral?

8

Mistral is an OpenStack Service that manages workflows

OpenStack summit Austin 2016 Video: https://youtu.be/rVAoc4fNkxI

Page 9: Mistral and StackStorm

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

Page 10: Mistral and StackStorm

No JAVA: ops friendly stack

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 10

Page 11: Mistral and StackStorm

No WYCWYG

11

Page 12: Mistral and StackStorm

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.”

Page 13: Mistral and StackStorm

NO Legacy architecture:Horizontally scalable, highly available, micro-services, REST API

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 13

Page 14: Mistral and StackStorm

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.

Page 15: Mistral and StackStorm

15

Mistal raw or StackStorm?

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.

Page 16: Mistral and StackStorm

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…

Page 17: Mistral and StackStorm

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.

Page 18: Mistral and StackStorm

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.

Page 19: Mistral and StackStorm

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” ✗ ✓

Page 20: Mistral and StackStorm

Community integrationsOver 2,000 actions (github/st2contrib)

Page 21: Mistral and StackStorm

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.

Page 22: Mistral and StackStorm

22

StackStorm & Mistral: overlap

• Users confused: when use one, when another• Contributors confused: offering functionality that breaks

architectural “purity”

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC.

Page 23: Mistral and StackStorm

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

Page 24: Mistral and StackStorm

24

DISCUSSION