What Is Mistral And Why StackStorm Cares: Workflow Service For Cloud Automation

July 7, 2014
by Dmitri Zimine

At StackStorm, we believe that workflow is a key ingredient for cloud automation. That’s why we became drivers and core contributors to Mistral, a new workflow service for OpenStack.

Why the need for a new workflow service? Haven’t we already experienced Workflow Management? Aren’t a number of established, mature workflow products[1] out there already? Yes, and yes, but…

With a decade of experience building system orchestration and automation products[2] and seeing them used in the field, I realized that using a traditional BPM (business process management) oriented workflow is not a good match with today’s pace of change and scale of operations. The rich variety of workflow patterns that are bragged about by traditional BPM systems are never used in practice. The graphical representation of workflow, so exciting for non-technical BPM users, becomes a handcuff for techy admins. And complex XML-based syntax made working with workflow definition files a nightmare.

My experience tells me that a workflow service for system automation needs to do only three things, but do them well. These things are: 1) string atomic tasks into workflows 2) manage the state 3) carry the data between systems. This is the essence. Plus other goodies: tracking execution details, history and audit trail, at scale, with high availability and fault resiliency. Plus cater to the DevOps approach to operating environments – for example, support infrastructure as code, and be scriptable, extensible and open.

That’s Mistral: a simple yet scalable workflow service for cloud automation. It features:

  • Simple intuitive YAML based workflow definition language
  • REST API to operate the workflows
  • Extensible set of actions, with REST HTTP calls, SSH, email, and OpenStack operations available out of the box

Mistral target users are mainly OpenStack administrators who are automating their operations and maintenance procedures, and integrating private clouds with their broader infrastructure. One use case might be automating a page from the OpenStack troubleshooting guide, while keeping a full track in JIRA and sending updates to PagerDuty.

The other group of users is cloud application developers who use Mistral for Workflow Service, just like AWS Simple Workflow.

Mistral is also a platform component for other OpenStack services that need a concept of a workflow service. Heat, Fuel, Barbican, Murano, Keystone, Trove, and a few more are looking at integrating with Mistral.

To get a taste of Mistral, check out the demo screencast from Mistal PTL, Renat Akhmerov. Or play with it – now that Mistral is a part of DevStack it is easy to get running.

Last week an updated version of Mistral was released with improvements, important bug fixes, and a nice Horizon dashboard. Mistral is still forming and continues to revisit, refine and redesign based on its pilot implementation. With a strong team of contributors from Mirantis, Intel, Rackspace, and StackStorm, Mistral is growing fast and is on track for OpenStack incubation.

One final comment – Mistral will have applicability beyond OpenStack. Please keep that in mind when you are playing with it or learning more.

I’m working on an article about all the ways to automate OpenStack that I’ll link to from here when it is finalized. Our company has also been asked to hold an online meetup called “Automating OpenStack with StackStorm” on Thursday, July 17. Hope you can join us!


Citations and Links:

[1] Established workflow systems:
Drools
jBPM
Activiti
WWF Windows Workflow Foundation

[2] Workflow based system orchestration and automation products:
Microsoft System Center Orchestrator (formely Opalis)
HP Operations Orchestration (formerly iConclude)
VMware vCenter Orchestrator (formerly Dunes)
BMC Atrium Orchestrator (formerly Realops)
CA ITPAM
NetIQ Aegis
Citrix Workflow Studio