Intro to Automation Using StackStorm and Python
By Nick Maludy

StackStorm is an event-driven automation platform written in Python with a mission to help solve modern development, operations and system integration challenges (think IFTTT for DevOps). This talk will provide an introduction to StackStorm, discussing its extremely powerful event-driven architecture. We will demonstrate taking an existing Python script and inserting it into StackStorm.

Sunday 3 p.m.–5 p.m. in Suzanne Scharer

Python is an amazing language that allows developers to accomplish tasks quickly. StackStorm is an even-driven automation platform that enables developers and operations to take their Python scripts to the next level.

First we will learn about the StackStorm platform and its building blocks: actions, workflows, sensors, triggers and rules.

Second we will discuss how these building blocks are tied together using StackStorms event bus.

Finally we will demonstrate some of the amazing capabilities we're able to realize once a Python script is brought into the StackStorm ecosystem such as: automatically invoking the script when an event occurs in an external system, invoking the script via the API, or invoking the script via Slack.

Outline

  • About myself
  • StackStorm intro
  • automation platform
  • event driven
  • everything is code
  • everything available via the API
  • everything available via the CLI
  • StackStorm Actions
  • what is an action
  • create a metadata file
  • convert our python script
  • run it via the CLI
    • show how st2 CLI writes curl commands for the API in debug mode
  • StackStorm ChatOps
  • what is ChatOps
  • create a alias for our action
  • demo execution of the alias in Slack
  • Questions

  • If there's time

  • Packs
    • collection of artifacts (actions, aliases, workflows, rules, etc)
    • github repo
    • requirements.txt for python dependencies
  • Webhooks
    • create a webhook rule
    • invoke the webhook via curl
  • Workflows
    • mistral
    • composable actions
    • passing data between actions
    • handling errors
  • Datastore
    • read/write data
    • secret keys
    • reading in data in an action
    • reading in data in a workflow

Setup Instructions

https://gist.github.com/nmaludy/21c403d98eaf13f2accfd85e68dadb9c

Nick Maludy

Graduate of Computer Science and Engineering from the University of Toledo. Immediately out of college Nick worked on a realtime data processing system in C/C++ and assembly. He has experience programming across the stack, from low-level GPU algorithms, to networking, databases, and even high-performance 3D rendering. Nick now works as the DevOps Manager at Encore Technologies, leading the team down the DevOps journey with his experience in Software Engineering and building robust systems.

Twitter
Sponsors