November 3, 2014
by Evan Powell
Today we are excited to announce the open-source availability of StackStorm, our operations automation software.
StackStorm ties together your existing infrastructure and application environment so you can more easily automate that environment — with a particular focus on taking actions in response to events.
With StackStorm you define, and share – as code – your operational patterns from events and triggers through to actions taken in response.
Whether it is wiring together your continuous integration (CI) and continuous deployment (CD) environments in a transparent way, or automating your troubleshooting and even remediation (including responses to security events, or any of the other common patterns you perform each day manually or with the help of siloed automation), StackStorm helps.
Much automation has grown organically to fit one particular pain point, whether it’s build integration or trouble alerting, or provisioning Docker images or infrastructure components or something else. System A is tied to System B with package C and – Voila! – I have an automation silo.
Those automation silos over time can be hard to manage. Before you know it, you have a large number of systems tied to countless other systems in many different ways. And the logic that ties these systems together itself is distributed as checks, or scripts, or settings across many systems. Therefore, you hire more automation engineers and you start writing your own wiring – which embeds and, too often, cements your particular operational patterns.
While hyperscale operators can and do pull off writing their own operations automation management software — and have learned over time what traps to avoid — for the rest of us who want to automate without being overrun by the automation, wouldn’t it be better to share a common platform, with common integrations?
As one of our beta users put it: “Why should I be the eleventh guy to tie Nagios with a little logic to JIRA events in order to trigger deployment to AWS and OpenStack environments. This operational pattern is common. Let’s share it!”
We agree. Let’s share common operational patterns – whether CI/CD or troubleshooting or even remediation – as a starting point without having to code those integrations and that automation ourselves.
That’s StackStorm. Operations automation for everyone.
How StackStorm Works
The StackStorm platform works with two main classes of content: integrations (both inbound and outbound) and automations (decisions you want made and workflows). The platform executes and manages that content, enabling you to tie events whether generated by people or systems to actions, which again can be responses from a system or a person.
StackStorm is easy to extend to work with just about anything. While our roots are in OpenStack (a great home for much of our workflow code, for example), StackStorm absorbs events and takes actions on almost everything that makes up today’s operational environments such as AWS, OpenStack, Docker, Jenkins, Bamboo, PagerDuty, HipChat or Slack, your ELK stack, your monitoring pipeline, your security event manager, and more.
Integrations, via pluggable sensors, are open and you can contribute to them. Grab a Nagios pack (one ships with the default download), tweak as needed, and now you are ingesting Nagios events. Or grab another like the Puppet integration so you can leverage Puppet for provisioning and perhaps as a system of record. Integrations are just files — share them via our community, via GitHub, however you’d like.
Once it has a couple of integrations or triggers, StackStorm can start to automate. These automations tie your triggers to some “if / then” logic via rules and are also open, so you can contribute them, pull them and so forth. Most of the OpenStack troubleshooting guide, for example, comes as automations with the default StackStorm download. Again, automation are just files — share them via our community, via GitHub, however you’d like.
With StackStorm you can make your actions Unix-like, so that they do one thing well. In certain cases workflows, which tie actions and events together so that results of one action or event can lead to other behaviors, are the right tool for the job and StackStorm helps you author and execute workflows as well. A couple of types of workflow are supported, all defined via YAML, and easy to share and review.
StackStorm can also ingest your actions — your scripts. Just add meta data or use one of our automations to add the meta data. And if you are a Python scripter, you can import the StackStorm client and have the power of StackStorm at your fingertips.
Once you have wired together your environment with some automations, StackStorm helps you both use and manage those automations. Complete audit, with simple integration into your existing logging infrastructure. Role-based access control is on the way, too. Transparency leads to learning and to trust.
StackStorm is built to be run as a service – so called Automation as a Service – with comprehensive APIs, a highly scalable architecture, powerful CLI and convenient Python bindings.
Our Web UI will add convenience and ease of use for managing actions, authoring rules and auditing execution history. It is just seeing the light of day — it does not automatically download with the rest of the open source, it is too fresh. You can see Web UI screen shots here. Please request access to the Web UI here. The Web UI will be open source too as it progresses.
Users often interact with StackStorm via ChatOps. We support bi-directional integration into most chat environments through a fork of the heavily used Hubot project. While ChatOps is not yet for everyone, we are big fans and supporters.
I encourage you to download our software, try it out, and contribute an integration, a bug report, or a feature request. I also welcome comments on this blog post, or via Twitter at @Stack_Storm. We look forward to hearing your feedback!
Learn More
Start Now: Our goal is to get you running your first safe, understandable, automations in 15 minutes. Try StackStorm now.
Product: Here you will see more about common use cases and benefits.
Comparison: Take a look to see how StackStorm compares to configuration management, Docker based software, in-house built software and other approaches.
Community: Our stackstorm.com/community hub pulls together information about community contributions including interesting looking integrations and actions. You can always go straight to our GitHub as well.