SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Mistral 

Workflow as a Service

Renat Akhmerov

Senior Software Engineer
© MIRANTIS 2014

!1
Agenda

•
•
•
•
•
•
•
•

Project Mission
Project users
Use Cases
Main Features
DSL, Data Flow concept, Architecture
Current status
Live Demo
Roadmap and Contribution
© MIRANTIS 2014

!2
Workflows all Around
Find a job

Stanford,
Harvard,
etc.

Make
money

© MIRANTIS 2014

!3
Project Mission

Provide a mechanism to define and execute
tasks and workflows without writing the code

© MIRANTIS 2014

!4
Who are Mistral Users?

•

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

•

Administrators: capabilities like Cloud Cron to
schedule periodic helper cloud tasks (local VM
processes, backups etc.)

•

Enterprise application developers: automate business
processes consisting of multiple distributed
processing steps
© MIRANTIS 2014

!5
Use Cases

•

Cloud Cron: a system administrator can schedule cloud
tasks for periodical execution

•

Cloud Environment Deployment: tools like Heat can
represent deployment steps as a workflow and use Mistral
to run it

•

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

•
•

Long-Running Business Process
Big Data Analysis & Reporting
© MIRANTIS 2014

!6
Cloud Cron
•
•

Start a workflow on event (timer)

•

Wide range of tasks: local

Single point of configuration and
control for helper periodic jobs
processes, OpenStack services
(Nova, Cinder, Swift etc.), email,
SMS, custom actions

•
•

Monitoring & Management
HA & Scalability

© MIRANTIS 2014

!7
Main Features
•
•
•

RESTful Web service

•
•
•
•
•

Tasks associated with pluggable actions

Based on Domain Specific Language (DSL)
Runs workflows consisting of synchronous and asynchronous
tasks
Built-in actions: HTTP request, AMQP message
Runs workflows on event (timer, ceilometer alarm)
Provides history and state of currently running workflows
HA and Scalability for workflow executions
© MIRANTIS 2014

!8
Mistral Workflow

•
•
•
•
•
•
•

Graph of tasks

T7

Task Actions (HTTP, AMQP,
SSH, email, etc.)

T9

T6
T8

Transitions

depends

Dependencies

T3

Data Flow

T2

T1

T4

Conditions
start

Events (triggers)
© MIRANTIS 2014

T5

!9
Mistral DSL Capabilities

•
•

Task dependencies (task3 depends on task2 and task1)

•

Conditional expressions in dependencies and direct
transitions (based on Data Flow)

•
•
•

Task action declarations (signals over HTTP, AMQP)

Direct transitions (on task1 success execute task2, on
error task3)

Standard actions (std:repeat, std:email)
Cron events (run workflow hourly)
© MIRANTIS 2014

!10
DSL Snippet
Workflow:
tasks:
runJob:
requires:
createVM: $.vm_ip != null
action: DemoApp:runJob
on-success: deleteVM
on-error: sendJobError

!
!

deleteVM:
action: Nova:deleteVM
on-finish: end
sendJobError:
action: std:email
parameters:
address: admin@mycompany.com
subject: Workflow error
body: Error occurred while running a VM job in execution {$.execution.id}
on-finish: deleteVM

© MIRANTIS 2014

!11
Data Flow (concept)
“image_id”: “123”,
“person”: {
“name”: “John”,
“email”: “me@me.com”
},
“vm_ip”: “10.0.0.3”

IsMale
input:
person.name

RunVM

“image_id”: “123”,
“person”: {
“name”: “John”,
“email”: “me@me.com”
},
“vm_ip”: “10.0.0.3”,
“male”: “true”

GoOn

input:

“image_id”: “123”,
image_id
“person”: {
“name”: “John”,
“email”: “me@me.com”
}

SendMsg

“image_id”: “123”,
“person”: {
“name”: “John”,
“email”: “me@me.com”
},
“vm_ip”: “10.0.0.3”

- task input

input:
person.email

“image_id”: “123”,
“person”: {
“name”: “John”,
“email”: “me@me.com”
},
“vm_ip”: “10.0.0.3”,
“sent_msg”: “true”

“image_id”: “123”,
“person”: {
“name”: “John”,
“email”: “me@me.com”
},
“vm_ip”: “10.0.0.3”,
“male”: “true”,
“sent_msg”: “true”

- task result (added into context)
© MIRANTIS 2014

!12
Architecture
Workflow Queue

Engine

Scheduler

API Server
workflows
executions
tasks
events

Task Queue

Task
Executor

!

...

Task
Executor

© MIRANTIS 2014

!13
Current Status
•
•
•
•

Basic task dependency based model works
Pilot is currently being worked on
Launchpad home page
o

Code in stackforge code repos
o
o

•
•

https://launchpad.net/mistral

o

https://github.com/stackforge/mistral
https://github.com/stackforge/mistral-extra
https://github.com/stackforge/python-mistralclient

Description on OpenStack Wiki
o

wiki.openstack.org/wiki/Mistral

Contributors: Mirantis, StackStorm
© MIRANTIS 2014

!14
Live Demo
Demo
App

1. Upload workbook

4)
sk
(ta

4

Put
Service on
hold

w

REST endpoint

rk
flo

3

Mistral

n
Ru

5

Backup
User Data

Backup
Service
Data

2.

HTTP

wo

4

Execute
Backup

© MIRANTIS 2014

!15
Mistral Icehouse Roadmap
•

•

End of February, 2014. Pilot.
o Basic DSL capabilities (dependencies, direct transitions, conditionals,
cron events)
o Keystone Integration
o REST API
o Python Client
April, 2014. Release 0.1
o Overall stability
o Refined DSL
o Mistral CLI
o Horizon Dashboard (Workbook CRUD operations, workflow execution
state, history)
© MIRANTIS 2014

!16
Contribution Opportunities
•
•
•
•
•
•
•
•
•

Blueprints for additional capabilities
Seed initial dev team
Web UI (history, workflow lifecycle management)
Ceilometer integration
Integration with deployment tools (Puppet, Chef)
Advanced capabilities of Python Client (building workflow
step-by-step locally, callbacks etc.)
Workflow rollback
CLI for Mistral API
CLI for Mistral action handlers
© MIRANTIS 2014

!17
How to Become a Contributor?
Install
Python,
git etc.

Learn
Python

Register at
Launchpad

Make
changes

clone
mistral
repos

Sign
OpenStack
CLA

tor

life

-cy

cle

Buy a
computer

Co

ntr

ibu

no
Send
patches

Have
coffee

Tired?

yes

© MIRANTIS 2014

!18
Thanks for Attending!

Project: launchpad.net/mistral
IRC: #openstack-mistral
Me: Renat Akhmerov
Email: rakhmerov@mirantis.com

© MIRANTIS 2014

Q&A

!19

Weitere ähnliche Inhalte

Was ist angesagt?

Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...Vietnam Open Infrastructure User Group
 
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Vietnam Open Infrastructure User Group
 
Full Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanFull Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanWeston Bassler
 
High Availability With DRBD & Heartbeat
High Availability With DRBD & HeartbeatHigh Availability With DRBD & Heartbeat
High Availability With DRBD & HeartbeatChris Barber
 
Peer to-peer
Peer to-peerPeer to-peer
Peer to-peerMohd Arif
 
Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and modelsMayank Jain
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeSumant Tambe
 
OS scheduling and The anatomy of a context switch
OS scheduling and The anatomy of a context switchOS scheduling and The anatomy of a context switch
OS scheduling and The anatomy of a context switchDaniel Ben-Zvi
 
MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL Bernd Ocklin
 
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)wallyqs
 
Mobile Computing UNIT-I TO III
Mobile Computing UNIT-I TO IIIMobile Computing UNIT-I TO III
Mobile Computing UNIT-I TO IIIRamesh Babu
 

Was ist angesagt? (20)

Free FreeRTOS Course-Task Management
Free FreeRTOS Course-Task ManagementFree FreeRTOS Course-Task Management
Free FreeRTOS Course-Task Management
 
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
 
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
 
Full Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanFull Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The Foreman
 
High Availability With DRBD & Heartbeat
High Availability With DRBD & HeartbeatHigh Availability With DRBD & Heartbeat
High Availability With DRBD & Heartbeat
 
L4 Microkernel :: Design Overview
L4 Microkernel :: Design OverviewL4 Microkernel :: Design Overview
L4 Microkernel :: Design Overview
 
Manet ppt
Manet pptManet ppt
Manet ppt
 
Peer to-peer
Peer to-peerPeer to-peer
Peer to-peer
 
Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and models
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
message passing
 message passing message passing
message passing
 
OS scheduling and The anatomy of a context switch
OS scheduling and The anatomy of a context switchOS scheduling and The anatomy of a context switch
OS scheduling and The anatomy of a context switch
 
MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL
 
Apache Oozie
Apache OozieApache Oozie
Apache Oozie
 
TinyOS
TinyOSTinyOS
TinyOS
 
Today Is Song
Today Is SongToday Is Song
Today Is Song
 
Linux boot process
Linux boot processLinux boot process
Linux boot process
 
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
 
Mobile IP
Mobile IPMobile IP
Mobile IP
 
Mobile Computing UNIT-I TO III
Mobile Computing UNIT-I TO IIIMobile Computing UNIT-I TO III
Mobile Computing UNIT-I TO III
 

Andere mochten auch

Mistral Hong Kong Unconference track
Mistral Hong Kong Unconference trackMistral Hong Kong Unconference track
Mistral Hong Kong Unconference trackRenat Akhmerov
 
Mistral Atlanta design session
Mistral Atlanta design sessionMistral Atlanta design session
Mistral Atlanta design sessionRenat Akhmerov
 
Mistral and StackStorm
Mistral and StackStormMistral and StackStorm
Mistral and StackStormDmitri Zimine
 
OpenStack Automation Overview
OpenStack Automation OverviewOpenStack Automation Overview
OpenStack Automation OverviewDmitri Zimine
 
Event driven-automation and workflows
Event driven-automation and workflowsEvent driven-automation and workflows
Event driven-automation and workflowsDmitri Zimine
 
Murano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStackMurano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStackOpenStackRussia
 
Облачные тестовые среды Перфоманс лаб
Облачные тестовые среды Перфоманс лабОблачные тестовые среды Перфоманс лаб
Облачные тестовые среды Перфоманс лабГлобал Позитив
 
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...Mirantis IT Russia
 
The Cloud Convergence: OpenStack and Kubernetes.
The Cloud Convergence: OpenStack and Kubernetes.The Cloud Convergence: OpenStack and Kubernetes.
The Cloud Convergence: OpenStack and Kubernetes.Ihor Dvoretskyi
 
Тестовая инфраструктура в облаке
Тестовая инфраструктура в облакеТестовая инфраструктура в облаке
Тестовая инфраструктура в облакеSQALab
 
Deploying and managing container-based applications with OpenStack and Kubern...
Deploying and managing container-based applications with OpenStack and Kubern...Deploying and managing container-based applications with OpenStack and Kubern...
Deploying and managing container-based applications with OpenStack and Kubern...Ihor Dvoretskyi
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesMichael Klishin
 
Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015Dmitri Zimine
 
Is brief illustrated guide الدليل المصور الموجز لفهم الإسلام آيسلندي
Is brief illustrated guide   الدليل المصور الموجز لفهم الإسلام   آيسلنديIs brief illustrated guide   الدليل المصور الموجز لفهم الإسلام   آيسلندي
Is brief illustrated guide الدليل المصور الموجز لفهم الإسلام آيسلنديLoveofpeople
 
Ascent of pikes peak
Ascent of pikes peakAscent of pikes peak
Ascent of pikes peaktomousman
 
SHERRI GOODWIN Resume 1 (2)
SHERRI GOODWIN Resume 1 (2)SHERRI GOODWIN Resume 1 (2)
SHERRI GOODWIN Resume 1 (2)Sherri Goodwin
 

Andere mochten auch (20)

Mistral Hong Kong Unconference track
Mistral Hong Kong Unconference trackMistral Hong Kong Unconference track
Mistral Hong Kong Unconference track
 
Mistral Atlanta design session
Mistral Atlanta design sessionMistral Atlanta design session
Mistral Atlanta design session
 
Mistral and StackStorm
Mistral and StackStormMistral and StackStorm
Mistral and StackStorm
 
Task flow
Task flowTask flow
Task flow
 
OpenStack Automation Overview
OpenStack Automation OverviewOpenStack Automation Overview
OpenStack Automation Overview
 
Event driven-automation and workflows
Event driven-automation and workflowsEvent driven-automation and workflows
Event driven-automation and workflows
 
Murano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStackMurano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStack
 
Облачные тестовые среды Перфоманс лаб
Облачные тестовые среды Перфоманс лабОблачные тестовые среды Перфоманс лаб
Облачные тестовые среды Перфоманс лаб
 
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
OpenStack Murano: управления приложениями в облаке на платформах Linux, Solar...
 
The Cloud Convergence: OpenStack and Kubernetes.
The Cloud Convergence: OpenStack and Kubernetes.The Cloud Convergence: OpenStack and Kubernetes.
The Cloud Convergence: OpenStack and Kubernetes.
 
Тестовая инфраструктура в облаке
Тестовая инфраструктура в облакеТестовая инфраструктура в облаке
Тестовая инфраструктура в облаке
 
Deploying and managing container-based applications with OpenStack and Kubern...
Deploying and managing container-based applications with OpenStack and Kubern...Deploying and managing container-based applications with OpenStack and Kubern...
Deploying and managing container-based applications with OpenStack and Kubern...
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issues
 
Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015Event Driven Automation Meetup May 14/2015
Event Driven Automation Meetup May 14/2015
 
Lucy redes sociales myspace
Lucy redes sociales myspaceLucy redes sociales myspace
Lucy redes sociales myspace
 
Is brief illustrated guide الدليل المصور الموجز لفهم الإسلام آيسلندي
Is brief illustrated guide   الدليل المصور الموجز لفهم الإسلام   آيسلنديIs brief illustrated guide   الدليل المصور الموجز لفهم الإسلام   آيسلندي
Is brief illustrated guide الدليل المصور الموجز لفهم الإسلام آيسلندي
 
Ascent of pikes peak
Ascent of pikes peakAscent of pikes peak
Ascent of pikes peak
 
Shepherd Elementary School Community Meeting Flyer
Shepherd Elementary School Community Meeting FlyerShepherd Elementary School Community Meeting Flyer
Shepherd Elementary School Community Meeting Flyer
 
SHERRI GOODWIN Resume 1 (2)
SHERRI GOODWIN Resume 1 (2)SHERRI GOODWIN Resume 1 (2)
SHERRI GOODWIN Resume 1 (2)
 
تقرير حول انتهاكات السجون في مصر
تقرير حول انتهاكات السجون في مصر تقرير حول انتهاكات السجون في مصر
تقرير حول انتهاكات السجون في مصر
 

Ähnlich wie Mistral OpenStack Meetup Feb 5

Give your little scripts big wings: Using cron in the cloud with Amazon Simp...
Give your little scripts big wings:  Using cron in the cloud with Amazon Simp...Give your little scripts big wings:  Using cron in the cloud with Amazon Simp...
Give your little scripts big wings: Using cron in the cloud with Amazon Simp...Amazon Web Services
 
Memonic Architecture
Memonic ArchitectureMemonic Architecture
Memonic ArchitecturePatrice Neff
 
Disrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applicationsDisrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applicationsChris Love
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessLalit Kale
 
Evolution of a cloud start up: From C# to Node.js
Evolution of a cloud start up: From C# to Node.jsEvolution of a cloud start up: From C# to Node.js
Evolution of a cloud start up: From C# to Node.jsSteve Jamieson
 
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsUsing Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsNicholas Jansma
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOSfpatton
 
Migrate in One Step (05.15.2013)
Migrate in One Step (05.15.2013)Migrate in One Step (05.15.2013)
Migrate in One Step (05.15.2013)AppZero Inc
 
OpenNTF Webinar - October 2021: Return of the DOTS
OpenNTF Webinar - October 2021: Return of the DOTSOpenNTF Webinar - October 2021: Return of the DOTS
OpenNTF Webinar - October 2021: Return of the DOTSSerdar Basegmez
 
Building a system for machine and event-oriented data with Rocana
Building a system for machine and event-oriented data with RocanaBuilding a system for machine and event-oriented data with Rocana
Building a system for machine and event-oriented data with RocanaTreasure Data, Inc.
 
Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer confluent
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudMongoDB
 
Cloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcoreCloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcoreDavid Saitta
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1Mohammad Qureshi
 
Managing Thousands of Spark Workers in Cloud Environment with Yuhao Zheng and...
Managing Thousands of Spark Workers in Cloud Environment with Yuhao Zheng and...Managing Thousands of Spark Workers in Cloud Environment with Yuhao Zheng and...
Managing Thousands of Spark Workers in Cloud Environment with Yuhao Zheng and...Databricks
 
Chef Actions: Delightful near real-time activity tracking!
Chef Actions: Delightful near real-time activity tracking!Chef Actions: Delightful near real-time activity tracking!
Chef Actions: Delightful near real-time activity tracking!James Casey
 
Modern Scheduling for Modern Applications with Nomad
Modern Scheduling for Modern Applications with NomadModern Scheduling for Modern Applications with Nomad
Modern Scheduling for Modern Applications with NomadMitchell Pronschinske
 
Move Enterprise Applications WS2003 to WS2008 (6.19.2012)
Move Enterprise Applications WS2003 to WS2008 (6.19.2012)Move Enterprise Applications WS2003 to WS2008 (6.19.2012)
Move Enterprise Applications WS2003 to WS2008 (6.19.2012)AppZero Inc
 

Ähnlich wie Mistral OpenStack Meetup Feb 5 (20)

Give your little scripts big wings: Using cron in the cloud with Amazon Simp...
Give your little scripts big wings:  Using cron in the cloud with Amazon Simp...Give your little scripts big wings:  Using cron in the cloud with Amazon Simp...
Give your little scripts big wings: Using cron in the cloud with Amazon Simp...
 
Memonic Architecture
Memonic ArchitectureMemonic Architecture
Memonic Architecture
 
Disrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applicationsDisrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applications
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
 
Evolution of a cloud start up: From C# to Node.js
Evolution of a cloud start up: From C# to Node.jsEvolution of a cloud start up: From C# to Node.js
Evolution of a cloud start up: From C# to Node.js
 
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsUsing Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web Applications
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS
 
Migrate in One Step (05.15.2013)
Migrate in One Step (05.15.2013)Migrate in One Step (05.15.2013)
Migrate in One Step (05.15.2013)
 
OpenNTF Webinar - October 2021: Return of the DOTS
OpenNTF Webinar - October 2021: Return of the DOTSOpenNTF Webinar - October 2021: Return of the DOTS
OpenNTF Webinar - October 2021: Return of the DOTS
 
Building a system for machine and event-oriented data with Rocana
Building a system for machine and event-oriented data with RocanaBuilding a system for machine and event-oriented data with Rocana
Building a system for machine and event-oriented data with Rocana
 
Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the Cloud
 
Cloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcoreCloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcore
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1
 
Gorillas in the mist
Gorillas in the mistGorillas in the mist
Gorillas in the mist
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Managing Thousands of Spark Workers in Cloud Environment with Yuhao Zheng and...
Managing Thousands of Spark Workers in Cloud Environment with Yuhao Zheng and...Managing Thousands of Spark Workers in Cloud Environment with Yuhao Zheng and...
Managing Thousands of Spark Workers in Cloud Environment with Yuhao Zheng and...
 
Chef Actions: Delightful near real-time activity tracking!
Chef Actions: Delightful near real-time activity tracking!Chef Actions: Delightful near real-time activity tracking!
Chef Actions: Delightful near real-time activity tracking!
 
Modern Scheduling for Modern Applications with Nomad
Modern Scheduling for Modern Applications with NomadModern Scheduling for Modern Applications with Nomad
Modern Scheduling for Modern Applications with Nomad
 
Move Enterprise Applications WS2003 to WS2008 (6.19.2012)
Move Enterprise Applications WS2003 to WS2008 (6.19.2012)Move Enterprise Applications WS2003 to WS2008 (6.19.2012)
Move Enterprise Applications WS2003 to WS2008 (6.19.2012)
 

Kürzlich hochgeladen

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 

Kürzlich hochgeladen (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 

Mistral OpenStack Meetup Feb 5

  • 1. Mistral 
 Workflow as a Service Renat Akhmerov
 Senior Software Engineer © MIRANTIS 2014 !1
  • 2. Agenda • • • • • • • • Project Mission Project users Use Cases Main Features DSL, Data Flow concept, Architecture Current status Live Demo Roadmap and Contribution © MIRANTIS 2014 !2
  • 3. Workflows all Around Find a job Stanford, Harvard, etc. Make money © MIRANTIS 2014 !3
  • 4. Project Mission Provide a mechanism to define and execute tasks and workflows without writing the code © MIRANTIS 2014 !4
  • 5. Who are Mistral Users? • OpenStack developers: Nova, Heat, Murano, Solum etc. • Administrators: capabilities like Cloud Cron to schedule periodic helper cloud tasks (local VM processes, backups etc.) • Enterprise application developers: automate business processes consisting of multiple distributed processing steps © MIRANTIS 2014 !5
  • 6. Use Cases • Cloud Cron: a system administrator can schedule cloud tasks for periodical execution • Cloud Environment Deployment: tools like Heat can represent deployment steps as a workflow and use Mistral to run it • Live Migration: on CPU close to 100% run specific migration workflow • • Long-Running Business Process Big Data Analysis & Reporting © MIRANTIS 2014 !6
  • 7. Cloud Cron • • Start a workflow on event (timer) • Wide range of tasks: local Single point of configuration and control for helper periodic jobs processes, OpenStack services (Nova, Cinder, Swift etc.), email, SMS, custom actions • • Monitoring & Management HA & Scalability © MIRANTIS 2014 !7
  • 8. Main Features • • • RESTful Web service • • • • • Tasks associated with pluggable actions Based on Domain Specific Language (DSL) Runs workflows consisting of synchronous and asynchronous tasks Built-in actions: HTTP request, AMQP message Runs workflows on event (timer, ceilometer alarm) Provides history and state of currently running workflows HA and Scalability for workflow executions © MIRANTIS 2014 !8
  • 9. Mistral Workflow • • • • • • • Graph of tasks T7 Task Actions (HTTP, AMQP, SSH, email, etc.) T9 T6 T8 Transitions depends Dependencies T3 Data Flow T2 T1 T4 Conditions start Events (triggers) © MIRANTIS 2014 T5 !9
  • 10. Mistral DSL Capabilities • • Task dependencies (task3 depends on task2 and task1) • Conditional expressions in dependencies and direct transitions (based on Data Flow) • • • Task action declarations (signals over HTTP, AMQP) Direct transitions (on task1 success execute task2, on error task3) Standard actions (std:repeat, std:email) Cron events (run workflow hourly) © MIRANTIS 2014 !10
  • 11. DSL Snippet Workflow: tasks: runJob: requires: createVM: $.vm_ip != null action: DemoApp:runJob on-success: deleteVM on-error: sendJobError ! ! deleteVM: action: Nova:deleteVM on-finish: end sendJobError: action: std:email parameters: address: admin@mycompany.com subject: Workflow error body: Error occurred while running a VM job in execution {$.execution.id} on-finish: deleteVM © MIRANTIS 2014 !11
  • 12. Data Flow (concept) “image_id”: “123”, “person”: { “name”: “John”, “email”: “me@me.com” }, “vm_ip”: “10.0.0.3” IsMale input: person.name RunVM “image_id”: “123”, “person”: { “name”: “John”, “email”: “me@me.com” }, “vm_ip”: “10.0.0.3”, “male”: “true” GoOn input: “image_id”: “123”, image_id “person”: { “name”: “John”, “email”: “me@me.com” } SendMsg “image_id”: “123”, “person”: { “name”: “John”, “email”: “me@me.com” }, “vm_ip”: “10.0.0.3” - task input input: person.email “image_id”: “123”, “person”: { “name”: “John”, “email”: “me@me.com” }, “vm_ip”: “10.0.0.3”, “sent_msg”: “true” “image_id”: “123”, “person”: { “name”: “John”, “email”: “me@me.com” }, “vm_ip”: “10.0.0.3”, “male”: “true”, “sent_msg”: “true” - task result (added into context) © MIRANTIS 2014 !12
  • 13. Architecture Workflow Queue Engine Scheduler API Server workflows executions tasks events Task Queue Task Executor ! ... Task Executor © MIRANTIS 2014 !13
  • 14. Current Status • • • • Basic task dependency based model works Pilot is currently being worked on Launchpad home page o Code in stackforge code repos o o • • https://launchpad.net/mistral o https://github.com/stackforge/mistral https://github.com/stackforge/mistral-extra https://github.com/stackforge/python-mistralclient Description on OpenStack Wiki o wiki.openstack.org/wiki/Mistral Contributors: Mirantis, StackStorm © MIRANTIS 2014 !14
  • 15. Live Demo Demo App 1. Upload workbook 4) sk (ta 4 Put Service on hold w REST endpoint rk flo 3 Mistral n Ru 5 Backup User Data Backup Service Data 2. HTTP wo 4 Execute Backup © MIRANTIS 2014 !15
  • 16. Mistral Icehouse Roadmap • • End of February, 2014. Pilot. o Basic DSL capabilities (dependencies, direct transitions, conditionals, cron events) o Keystone Integration o REST API o Python Client April, 2014. Release 0.1 o Overall stability o Refined DSL o Mistral CLI o Horizon Dashboard (Workbook CRUD operations, workflow execution state, history) © MIRANTIS 2014 !16
  • 17. Contribution Opportunities • • • • • • • • • Blueprints for additional capabilities Seed initial dev team Web UI (history, workflow lifecycle management) Ceilometer integration Integration with deployment tools (Puppet, Chef) Advanced capabilities of Python Client (building workflow step-by-step locally, callbacks etc.) Workflow rollback CLI for Mistral API CLI for Mistral action handlers © MIRANTIS 2014 !17
  • 18. How to Become a Contributor? Install Python, git etc. Learn Python Register at Launchpad Make changes clone mistral repos Sign OpenStack CLA tor life -cy cle Buy a computer Co ntr ibu no Send patches Have coffee Tired? yes © MIRANTIS 2014 !18
  • 19. Thanks for Attending! Project: launchpad.net/mistral IRC: #openstack-mistral Me: Renat Akhmerov Email: rakhmerov@mirantis.com © MIRANTIS 2014 Q&A !19