You are on page 1of 18

Mistral Introduction

Lingxian Kong <anlin.kong@gmail.com>


IRC: xylan_kong

Agenda

What's Mistral

Use Cases

Example

Concepts & Architecture

Key Features

Mistral v.s. Heat/TaskFlow/SWF

Roadmap

What's Workflow?

What's Mistral?
Mistral is an OpenStack Official Project under 'Big Tent'
Provide a mechanism to define and execute workflows without writing
the code

Use Cases

Cloud Cron: a system administrator can schedule cloud tasks for


periodical execution

Cloud Environment Deployment: Specify workflows needed for


deploying environments consisting of multiple VMs and applications.

Live Migration: on CPU close to 100% run specific migration


workflow

Long-Running Business Process

Big Data Analysis & Reporting

......

Cloud Cron

Mistral acts as a mediator between a user, virtual instances and cloud


services in a sense that it brings capabilities over them like task management
(start, stop etc.), task state and execution monitoring (success, failure, in
progress etc.) and task scheduling

Who are Mistral Users?

OpenStack developers: Nova, Heat, Murano, Solum etc.

Administrators: capabilities like Cloud Cron to schedule periodic


helper cloud tasks (statement analysis, backups etc.)

Enterprise application developers: automate business processes


consisting of multiple distributed processing steps

Example

Example

Concepts

Workflow - consists of tasks (at least one)


describing what exact steps should be made
during workflow execution

Task - Task is what a workflow consists of

Action - a particular piece of work associated


with a task

CronTrigger - periodicly executed workflow

Execution - indicates an individual running


procedure of a workflow

workflow

Architecture

Key Features

Restful Web service


Cron trigger
Synchronous/Asynchronous task
Direct/Reverse workflow
Nested workflows
Workflow validation
Built-in actions: core OpenStack service clients integration, HTTP,
Email, SSH
Pluggable actions
Task policies and conditions
Scalability for executions
Ad-hoc actions
Dry-run actions
coming with more...

Mistral & Heat

Heat
application-oriented
application lifecyle management
nested stack
pluggable resources
retry/rollback on failure
...

Mistral
workflow-oriented
nested workflow
pluggable actions
execution monitoring & user-defined transition
...

Mistral & TaskFlow

TaskFlow
Python library that you can use inside your Python app to
manage Python workflows

Mistral
out-of-process service that is language-agnostic
cannot execute some arbitrary Python code directly
as an external service it can have distributed task execution,
scalability and HA

Mistral & Amazon SWF

Simple Workflow Service


task management infrastructure
designed to be language-oriented (Java, Ruby)
only can be used with its SDK

Mistral
a standalone service usable without SDK in any programming
language

Roadmap

Polishing Mistral Dashboard (all needed CRUD operations)

Service managment

Expiration-policies-for-executions

Resource sharing among tenants

Mesos integration(maybe)

......

How to contribute

Launchpad home page


https://launchpad.net/mistral

Code repos
https://github.com/openstack/mistral
https://github.com/openstack/mistral-extra
https://github.com/openstack/python-mistralclient

Description on OpenStack Wiki


wiki.openstack.org/wiki/Mistral

Contributors: Huawei, Mirantis, StackStorm, Alcatel-Lucent...

Thanks for Attending!

Project: launchpad.net/mistral
IRC: #openstack-mistral
Me: Lingxian Kong
Email: anlin.kong@gmail.com

Q&A