SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, gre
Sim Janghoon
 
Hadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox GatewayHadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox Gateway
DataWorks Summit
 

Tendances (20)

Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
 
Deploying IPv6 in OpenStack Environments
Deploying IPv6 in OpenStack EnvironmentsDeploying IPv6 in OpenStack Environments
Deploying IPv6 in OpenStack Environments
 
Introduction to Tokyo Products
Introduction to Tokyo ProductsIntroduction to Tokyo Products
Introduction to Tokyo Products
 
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLTop 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
 
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
 
Openstack live migration
Openstack live migrationOpenstack live migration
Openstack live migration
 
OpenStack networking (Neutron)
OpenStack networking (Neutron) OpenStack networking (Neutron)
OpenStack networking (Neutron)
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
 
CloudStack vs OpenStack
CloudStack vs OpenStackCloudStack vs OpenStack
CloudStack vs OpenStack
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 
Troubleshooting containerized triple o deployment
Troubleshooting containerized triple o deploymentTroubleshooting containerized triple o deployment
Troubleshooting containerized triple o deployment
 
Openstack Summit Vancouver 2018 - Multicloud Networking
Openstack Summit Vancouver 2018 - Multicloud NetworkingOpenstack Summit Vancouver 2018 - Multicloud Networking
Openstack Summit Vancouver 2018 - Multicloud Networking
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, gre
 
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/NeutronOverview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
 
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
 
Hadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox GatewayHadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox Gateway
 
Apache NiFi in the Hadoop Ecosystem
Apache NiFi in the Hadoop Ecosystem Apache NiFi in the Hadoop Ecosystem
Apache NiFi in the Hadoop Ecosystem
 

En vedette

SHERRI GOODWIN Resume 1 (2)
SHERRI GOODWIN Resume 1 (2)SHERRI GOODWIN Resume 1 (2)
SHERRI GOODWIN Resume 1 (2)
Sherri Goodwin
 

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

Similaire à Mistral OpenStack Meetup Feb 5

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

Similaire à 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)
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

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