22. Zoom to Workflow, and Get Practical
• From now on I focus on workflow
• Reminder: EDA != Workflow, but Workflow is a
big part of it.
23. Patterns vs Practice
• ~100 patterns
http://www.workflowpatterns.com/
• Practice – IMAO: only few sufficient
• Workflow do two things well:
– Keeps state
– Carry data across systems
36. And More Details…
• Nesting
– Nothing to say except
– Input and output
– Nested workflow is an action, not a task
• Retries, Waits, Pause/Resume
• Default task policies
37. Recap: Workflow Operations
• Sequence
• Data passing
• Conditions (on data)
• Parallel execution
• Joins
• Multiple Data Items
38. What else
• Other than pattern support:
• Reliability
• Manageability – API, CLI, DSL, infra as code…
• Good to have: good GUI
39. Summary
• Event Driven Automation is coming back
– with a new twist
• EDA > Workflow,
but Workflow is a key component
• Shameless plug
StackStorm is covering it all
Why listen to me…
Created one of the legacy RunBook automation products
Currently, I am set to fix my past mistakes core member of Mistral team
All started with Business Process Automation
Applied software to business
BPM come to life
Body of Comp Sci research on Workflow dated late 90s. Petri-net, math, workflow nomenclature, definitions, pattersn – all started there.
Tibco – who was - apply to IT systems? Enterprise message bus… IT automation
Others picked up the idea,
Run Book Automation
Servers took days to deploy (and tickets were the say to go)
Docker deploys at split seconds
Speed is addictive – we now hate JIRA and love Slack and Chatops
Tools – ways more
Tools – ways more
Close the loop:
O.O.D.A
Why workflows are better than scripts –leave the proof to the reader as an exercise, actually Brian covered it
Walk you through these pattersns, show Mistral as Example
Pre-conditions, post conditions
Pre-conditions, post conditions
For simple case both work, for advanced patterns – more/less friendly.
Example: run full deployment and e2e tests on 3 platforms
You can do it sequentually but it takes forever.
How many times t5 is gonna run?
How many times t5 is gonna run?
How many times chatops_say is gonna run?
How many times t5 is gonna run now? Once!
How many times t5 is gonna run now? Once!
Cool: Watch, ma, the multi-data are running in parallel! And the final data
Check concurrency
There are few more nuances within these patternns
Which in the interest of time, I just mention in passing:
This is the minimal set that gives enough power but keeps it simple to create, track, and reason.