SlideShare a Scribd company logo
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

More Related Content

What's hot

Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Sean Cohen
 
Apache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOXApache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOX
Abhishek Mallick
 
Introduction to rook
Introduction to rookIntroduction to rook
Introduction to rook
Rohan Gupta
 
VM Job Queues in CloudStack
VM Job Queues in CloudStackVM Job Queues in CloudStack
VM Job Queues in CloudStack
ShapeBlue
 
KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...
KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...
KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...
ShapeBlue
 
NJ Hadoop Meetup - Apache NiFi Deep Dive
NJ Hadoop Meetup - Apache NiFi Deep DiveNJ Hadoop Meetup - Apache NiFi Deep Dive
NJ Hadoop Meetup - Apache NiFi Deep Dive
Bryan Bende
 
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
confluent
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and Tuning
NGINX, Inc.
 
How to Avoid Common Mistakes When Using Reactor Netty
How to Avoid Common Mistakes When Using Reactor NettyHow to Avoid Common Mistakes When Using Reactor Netty
How to Avoid Common Mistakes When Using Reactor Netty
VMware Tanzu
 
Nick Fisk - low latency Ceph
Nick Fisk - low latency CephNick Fisk - low latency Ceph
Nick Fisk - low latency Ceph
ShapeBlue
 
Multi Stage Docker Build
Multi Stage Docker Build Multi Stage Docker Build
Multi Stage Docker Build
Prasenjit Sarkar
 
Introduction to OpenFaas
Introduction to OpenFaasIntroduction to OpenFaas
Introduction to OpenFaas
GDG Cloud Bengaluru
 
Automated CloudStack Deployment
Automated CloudStack DeploymentAutomated CloudStack Deployment
Automated CloudStack Deployment
ShapeBlue
 
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
Cloud-Native CI/CD on Kubernetes with Tekton PipelinesCloud-Native CI/CD on Kubernetes with Tekton Pipelines
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
Nikhil Thomas
 
Introduction to SLURM
Introduction to SLURMIntroduction to SLURM
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Vietnam Open Infrastructure User Group
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and Keepalived
Ganapathi Kandaswamy
 
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layerC. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
Uni Systems S.M.S.A.
 
Docker Swarm Introduction
Docker Swarm IntroductionDocker Swarm Introduction
Docker Swarm Introduction
rajdeep
 
Integrating Apache Spark and NiFi for Data Lakes
Integrating Apache Spark and NiFi for Data LakesIntegrating Apache Spark and NiFi for Data Lakes
Integrating Apache Spark and NiFi for Data Lakes
DataWorks Summit/Hadoop Summit
 

What's hot (20)

Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
 
Apache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOXApache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOX
 
Introduction to rook
Introduction to rookIntroduction to rook
Introduction to rook
 
VM Job Queues in CloudStack
VM Job Queues in CloudStackVM Job Queues in CloudStack
VM Job Queues in CloudStack
 
KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...
KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...
KVM High Availability Regardless of Storage - Gabriel Brascher, VP of Apache ...
 
NJ Hadoop Meetup - Apache NiFi Deep Dive
NJ Hadoop Meetup - Apache NiFi Deep DiveNJ Hadoop Meetup - Apache NiFi Deep Dive
NJ Hadoop Meetup - Apache NiFi Deep Dive
 
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and Tuning
 
How to Avoid Common Mistakes When Using Reactor Netty
How to Avoid Common Mistakes When Using Reactor NettyHow to Avoid Common Mistakes When Using Reactor Netty
How to Avoid Common Mistakes When Using Reactor Netty
 
Nick Fisk - low latency Ceph
Nick Fisk - low latency CephNick Fisk - low latency Ceph
Nick Fisk - low latency Ceph
 
Multi Stage Docker Build
Multi Stage Docker Build Multi Stage Docker Build
Multi Stage Docker Build
 
Introduction to OpenFaas
Introduction to OpenFaasIntroduction to OpenFaas
Introduction to OpenFaas
 
Automated CloudStack Deployment
Automated CloudStack DeploymentAutomated CloudStack Deployment
Automated CloudStack Deployment
 
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
Cloud-Native CI/CD on Kubernetes with Tekton PipelinesCloud-Native CI/CD on Kubernetes with Tekton Pipelines
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
 
Introduction to SLURM
Introduction to SLURMIntroduction to SLURM
Introduction to SLURM
 
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and Keepalived
 
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layerC. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
 
Docker Swarm Introduction
Docker Swarm IntroductionDocker Swarm Introduction
Docker Swarm Introduction
 
Integrating Apache Spark and NiFi for Data Lakes
Integrating Apache Spark and NiFi for Data LakesIntegrating Apache Spark and NiFi for Data Lakes
Integrating Apache Spark and NiFi for Data Lakes
 

Viewers also liked

Mistral Hong Kong Unconference track
Mistral Hong Kong Unconference trackMistral Hong Kong Unconference track
Mistral Hong Kong Unconference track
Renat Akhmerov
 
Mistral Atlanta design session
Mistral Atlanta design sessionMistral Atlanta design session
Mistral Atlanta design session
Renat Akhmerov
 
Mistral and StackStorm
Mistral and StackStormMistral and StackStorm
Mistral and StackStorm
Dmitri Zimine
 
Task flow
Task flowTask flow
Task flow
Vishal Yadav
 
OpenStack Automation Overview
OpenStack Automation OverviewOpenStack Automation Overview
OpenStack Automation Overview
Dmitri Zimine
 
Event driven-automation and workflows
Event driven-automation and workflowsEvent driven-automation and workflows
Event driven-automation and workflows
Dmitri Zimine
 
Murano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStackMurano: каталог приложений для OpenStack
Murano: каталог приложений для OpenStack
OpenStackRussia
 
Облачные тестовые среды Перфоманс лаб
Облачные тестовые среды Перфоманс лабОблачные тестовые среды Перфоманс лаб
Облачные тестовые среды Перфоманс лаб
Глобал Позитив
 
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 issues
Michael 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/2015
Dmitri Zimine
 
Lucy redes sociales myspace
Lucy redes sociales myspaceLucy redes sociales myspace
Lucy redes sociales myspace
Lucy Stella Gacha Baquero
 
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 peak
tomousman
 
Shepherd Elementary School Community Meeting Flyer
Shepherd Elementary School Community Meeting FlyerShepherd Elementary School Community Meeting Flyer
Shepherd Elementary School Community Meeting Flyer
DC Department of General Services
 
SHERRI GOODWIN Resume 1 (2)
SHERRI GOODWIN Resume 1 (2)SHERRI GOODWIN Resume 1 (2)
SHERRI GOODWIN Resume 1 (2)
Sherri Goodwin
 
تقرير حول انتهاكات السجون في مصر
تقرير حول انتهاكات السجون في مصر تقرير حول انتهاكات السجون في مصر
تقرير حول انتهاكات السجون في مصر
التنسيقية المصرية للحقوق والحريات
 

Viewers also liked (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)
 
تقرير حول انتهاكات السجون في مصر
تقرير حول انتهاكات السجون في مصر تقرير حول انتهاكات السجون في مصر
تقرير حول انتهاكات السجون في مصر
 

Similar to 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 Architecture
Patrice 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 applications
Chris 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 serverless
Lalit 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.js
Steve 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 Applications
Nicholas Jansma
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS
fpatton
 
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 DOTS
Serdar 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 Rocana
Treasure 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 Cloud
MongoDB
 
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
David Saitta
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1
Mohammad Qureshi
 
Gorillas in the mist
Gorillas in the mistGorillas in the mist
Gorillas in the mist
Sriram Subramanian
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
Aaron Rosenberg
 
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 Nomad
Mitchell 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
 

Similar to 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)
 

Recently uploaded

Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 

Recently uploaded (20)

Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 

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