StackStorm: DevOps to ChatOps

Slides:



Advertisements
Similar presentations
Dan Stolts Chief Technology Strategist Microsoft Corporation Blog: Managing and Monitoring Critical Infrastructure.
Advertisements

INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Application Packaging Standard Fundamentals
Deploying Ruby on Rails How to make your application actually serve Dan Buettner 18 Oct 2007.
Module 10 Configuring and Managing Storage Technologies.
CIS 451: Web Services Dr. Ralph D. Westfall March, 2009.
Module 8: Managing Client Configuration and Connectivity.
Microsoft Application Virtualization 5.0: Introduction Mohnish Chaturvedi & Ian Bartlett Premier Field Engineer WCL312.
Welcome to Azure App Services! Amie Seisay
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Welcome to Azure App Services! Amie Seisay
#watitis2015 CHAT-OPS WITH SLACK Kevin Paxman.
Extending the Discovery Environment: Tool Integration and Customization.
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
Galaxy in Production Nate Coraor Galaxy Team Penn State University.
Introduction to Node.js® Jitendra Kumar Patel Saturday, January 31, 2015.
Jaime Pérez Virginia Martín-Rubio TERENA Networking Conference Prague, May 2011.
 1- Definition  2- Helpdesk  3- Asset management  4- Analytics  5- Tools.
The Holmes Platform and Applications
Integrating ArcSight with Enterprise Ticketing Systems
ENOG13 Saint Petersburg Diego Luis Neto SW NL-ix.
UKNOF37 Manchester Diego Luis Neto SW NL-ix.
Integrating ArcSight with Enterprise Ticketing Systems
Node.Js Server Side Javascript
Physics validation database
Jason Bury Dylan Drake Rush Corey Watt
WWU Hackathon May 6 & 7.
Functional Automation Framework
Shared Services with Spotfire
Infrastructure Orchestration to Optimize Testing
Section 13 - Integrating with Third Party Tools
IT Atoumation / Conf. Mgmt...
Campus Monitoring Service
Next Generation SSIS Tasks and data Connection Series
Michael Mast Senior Architect
Zanata Translation platform Alex Eng Presented by
Service Provider Best Practices
CompTIA Server+ Certification (Exam SK0-004)
A lot of Software Development is about learning
Node.Js Server Side Javascript
Power-UP YOUR UI WITH WP-API AND REACT.JS
November 8th, 2017 Matthew Davis and John Fink
Microsoft Connect /17/ :34 AM
Automating reports with Python
Use PowerShell & dbatools to Manage your SQL Server Environment
ChatOps Supercharge your DevOps Teams
11/27/2018 6:59 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
ChatOps Supercharge your DevOps Teams
Automating Security Operations using Phantom
In this session… Introduce what we’re talking about
Cloud Web Filtering Platform
Module P3 Practical: Building a webapp in nodejs and
Technical Capabilities
Serverless Architecture in the Cloud
Agile testing for web API with Postman
2/24/2019 6:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Summit Nashville /3/2019 1:48 AM
Use PowerShell & dbatools to Manage your SQL Server Environment
Configuration management suite
Power BI Streaming Datasets with MS Flow
Mattermost’s Approach to Layered Extensibility in Open Source
Python and REST Kevin Hibma.
Slacking for the DBA It’s good to Chat.
MOBILE PROGRAMMING Meriska Defriani, S.Komp, M.Kom Introduction
#01# ASP.NET Core Overview Design by: TEDU Trainer: Bach Ngoc Toan
Welcome to CBCS Custom Networks
System Center Third Party Tools Ivanti Patch and RCT Recast April 2019.
Matthew Farmer Making Azure Integration Services Real
Presentation transcript:

StackStorm: DevOps to ChatOps By Porokh Sergii Twitter: @zlDez Medium: @sporokh Github: sporokh

ChatOps - сonversations, put to work ChatOps, a term widely credited to GitHub, is all about conversation-driven development. By bringing your tools into your conversations and using a chat-bot modified to work with main plugins and scripts, teams can automate tasks and collaborate, working better, cheaper and faster ChatOps is a collaboration model that connects people, tools, process, and automation into a transparent workflow using chat conversation.  ChatOps is a rather new operational paradigm where work that is already happening in the background today is brought into a common chat-room

From a keyword to production Hubot: GitHub’s bot written in CoffeeScript and Node.js Lita: Written in Ruby Err: Written in Python

From a keyword to production “StackStorm is a powerful automation tool that wires together all of your apps, services and workflows. It’s extendable, flexible, and built with love for DevOps and ChatOps” Common problems with Chat bots: Tying oneself too closely to a single chat vendor Needing a little more smarts in processing what is happening before alerting, and often interrupting, the humans Spending significant effort to integrate and then update integrations with underlying systems Requiring human sign off and wanting that sign off to address an entire workflow, as opposed to a single step action

From a keyword to production The reason that StackStorm is getting rapid adoption for ChatOps is that underneath your ChatOps — you need an event-driven automation platform.

From DevOps to ChatOps If you have your environment up and running, your company has a run-books for every event, than ChatOps would be the next step for you. To use ChatOps, we need some additional tools above the existing system. Slack hubot plugin An Ubuntu 14.04 LTS server (vagrant may be used) StackStorm StackStorm AWS/Linux/Core packs

Installing StackStorm 1 ST2 Services st2 services provide the main StackStorm functionality. They are located at /opt/stackstorm/st2, share a dedicated Python virtualenv, and are configured by /etc/st2/st2.conf

Installing StackStorm 2 ST2 Client st2 client is the CLI and Python bindings for StackStorm API. St2client is packaged with st2, or can be installed independently.

Installing StackStorm 3 ST2 Mistral Mistral is a workflow service component that StackStorm uses for long-running workflows. Installed under /opt/stackstorm/mistral, runs in a dedicated Python virtualenv, and is configured by /etc/mistral/mistral.conf. Mistral server runs workflow logic and calling actions, reaching out to st2api for action execution requests. Mistral-api is an internal end-point accessed by st2actionrunner and st2notifier.

Installing StackStorm 4 Web UI and SSL termination Nginx provides SSL termination, redirects HTTP to HTTPS, serves WebUI as static HTML, and reverse-proxies REST API endpoints to st2* web services.

Installing StackStorm 5 ST2 ChatOps StackStorm Chatops components are Hubot, StackStorm’s Hubot adapter, and plugins for connecting to different Chat services. They are installed at /opt/stackstorm/chatops/ and configured in /opt/stackstorm/chatops/st2chatops.env

Installing Packs and Configuring Rules StackStorm packs are connection modules between StackStorm and a 3rd party development software. On this step, we have a connection between Slack bot and Stackstorm server, but we didn’t set up any commands for the bot (it uses default ones) as well as didn’t configure any notification rules.

Installing Packs and Configuring Rules The problem is that I didn’t receive any notification from the bot, it just gives me the link to WebUI, with the current action. That’s because we don’t have any st2 rules applied. If you check WebUI tab “Rules”, you’ll see that it's empty (“st2 rule list” works as well in the console).

Installing Packs and Configuring Rules The rule should be a trigger, and when this trigger executed it should post the result to the Slack channel. The trigger could be found in default core.st2.generic.actiontrigger, and action is chatops.post_result which is part of chatops pack. In my case it matches the criteria action_name by the next rule: (st2|packs|core|aws|linux).*

Creating Aliases You’d probably already have a question like: “Why do I have 7 packs installed but only 10 useless commands on Hubot?”. The reason for that is every Hubot command is represented with its alias. It’s used to connect Hubot command with the pack action. The problem is, those packs that you’ve downloaded do not have any aliases preconfigured. Aliases yaml file has quite a simple format: name (the name of the aliases) action_ref (which command it will execute) description (the brief description of the command) formats (command format in chat) result (a result format in chat)

Troubleshooting a Server in 5 min. ChatOps way

Troubleshooting a Server in 5 min. ChatOps way

Troubleshooting a Server in 5 min. ChatOps way

Troubleshooting a Server in 5 min. ChatOps way

Thanks for watching Contact information: Email: sporokh@softserveinc.com Twitter: @zlDez Medium: @sporokh Github: sporokh