SlideShare a Scribd company logo
1 of 25
Download to read offline
© DMM.com
DMM.com ITインフラ本部 / 大山 裕泰
ワークフローによる運用自動化と
人間による実施判断(Human-in-the-loop)の記述
StackStorm Meetup JP #11
1
© DMM.com
本発表の目的
Introduction
StackStorm のワークフローの動かし方がわかるようになる
- Slack pack を用いたワークフローの実行・記述方法
- ワークフローに人間による判定 (Human-in-the-loop) を組み込む
2
© DMM.com
ワークフローを動かしてみる
- Slack pack を用いたサンプルを実行
3
© DMM.com
指定したホストでコマンドを実行し、結果を Stack に出力するアクション
サンプル meetup_jp.run_cmd
ワークフローを動かしてみる
4
https://git.io/Jv8q3
↓リポジトリ URL
© DMM.com
meetup_jp.run_cmd の動作
report_result
Server
Run specifying command
Post a message
succeeded
report_error
failed
run_comand
status_code
ワークフローを動かしてみる
5
© DMM.com
1. Slack pack のインストール
2. Slack アプリを作成
3. Incoming Webhook を有効化
4. st2 pack config slack を実行
5. meetup_jp11 pack のインストール
実行準備作業
ワークフローを動かしてみる
6
© DMM.com
1. Slack pack のインストール
実行準備作業
ワークフローを動かしてみる
7
© DMM.com
(c.f. Slack での Incoming Webhook の利用 )
実行準備作業
ワークフローを動かしてみる
8
2. Slack アプリを作成
© DMM.com
3. Incoming Webhook を有効化
実行準備作業
ワークフローを動かしてみる
9
© DMM.com
4. st2 pack config slack を実行
実行準備作業
ワークフローを動かしてみる
10
© DMM.com
5. meetup_jp11 pack のインストール
$ st2 pack install https://github.com/userlocalhost/st2_meetup_jp_demo.git
実行準備作業
ワークフローを動かしてみる
11
© DMM.com
$ st2 run meetup_jp.run_cmd host='localhost' cmd='id'
実行方法 / パターン1
ワークフローを動かしてみる
12
© DMM.com
$ st2 run meetup_jp.run_cmd host='localhost' cmd='hoge'
実行方法 / パターン2
ワークフローを動かしてみる
13
© DMM.com
ワークフローの応用例
StackStorm サーバ / アプライアンス
Slack など
インベントリ管理システム
インベントリ情報の取得
対象機器に対する Ansible の実行
デプロイ結果のレポート
複数システムに跨る処理の実行ノード
ワークフローを動かしてみる
14
© DMM.com
ワークフローの応用例
(c.f. StackStorm Exchange)
コミュニティ版パッケージを利用することで独自の実装が不要
ワークフローを動かしてみる
15
© DMM.com
ワークフローの Tip Inquiries
16
© DMM.com
実行中のワークフローを中断して、継続判断を人間などができる仕組み
(Human-in-the-loop を組み込める)
What is it?
ワークフロー TIP : Inquiries
17
(c.f. Inquiries - StackStorm Documentation)
© DMM.com
Usage
ワークフロー処理の途中(重要な処理の前)で実行可否の判定を人間が下せる
3rd party System
StackStorm
Event
A workflow
Action1
Action2
Inquiry
…
ActionN
Ask (something)
Respond (Yes / No) [YOU]
ワークフロー TIP : Inquiries
18
© DMM.com
1. ワークフローに人間の承認フローを組み込む
- ネットワーク機器の設定変更
- 物品の購買
- 契約の締結 (など)
2. β版ワークフローの検証
Application methods
ワークフロー TIP : Inquiries
19
© DMM.com
Example [demo]
ワークフロー処理の途中(重要な処理の前)で実行可否の判定を人間が下せる
inquiry_test
select_member
Inquiry
Finish
Yes / No
タスクをアサインする
メンバーを選定
Slack
Report
アサインされたメンバーを通知
StackStorm
Request
[YOU]
…
…
[Customers]
ワークフロー TIP : Inquiries
20
© DMM.com
ワークフローの記述方法 [demo]
(meetup_jp.run_cmd の定義ファイルと実装)
21
© DMM.com
- Getting Started - StackStorm documentation
公式チュートリアル
日本語解説ページ
- Dockerで始めるStackstorm再入門1/3 @gkzz - Qiita
サンプルコード
- st2/contrib/examples/actions at master · StackStorm/st2
ワークフローの記述方法
22
© DMM.com
まとめ
23
© DMM.com
ワークフローの動かし方、定義・記述方法を紹介
まとめ
24
- Slack pack を用いたワークフローの使い方
- Inquiries 機能を用いた Human-in-the-loop の組み込み
- Orquesta によるワークフローの記述方法
© DMM.com
ST2 の様々な機能や仕組みについて共有
次回以降の予告
25
- IFTTT を実現する機能(Trigger, Sensor)
- 並列処理と直列処理を制御する仕組み(Policy)
- ワークフローエンジン(Orquesta)の内部の仕組み

More Related Content

What's hot

ApacheCloudstack4.1最新情報ver2
ApacheCloudstack4.1最新情報ver2ApacheCloudstack4.1最新情報ver2
ApacheCloudstack4.1最新情報ver2
Midori Oge
 
Principles of Transaction Processing Second Edition 9章 4~9節
Principles of Transaction Processing Second Edition 9章 4~9節Principles of Transaction Processing Second Edition 9章 4~9節
Principles of Transaction Processing Second Edition 9章 4~9節
Yuichiro Saito
 

What's hot (10)

EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御
EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御
EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御
 
【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門
 
スマホサイトを作って学ぶ、サイト制作入門(サーバーレンタル・FTP編) 先生:池田 祐太郎
スマホサイトを作って学ぶ、サイト制作入門(サーバーレンタル・FTP編) 先生:池田 祐太郎スマホサイトを作って学ぶ、サイト制作入門(サーバーレンタル・FTP編) 先生:池田 祐太郎
スマホサイトを作って学ぶ、サイト制作入門(サーバーレンタル・FTP編) 先生:池田 祐太郎
 
ApacheCloudstack4.1最新情報ver2
ApacheCloudstack4.1最新情報ver2ApacheCloudstack4.1最新情報ver2
ApacheCloudstack4.1最新情報ver2
 
Principles of Transaction Processing Second Edition 9章 4~9節
Principles of Transaction Processing Second Edition 9章 4~9節Principles of Transaction Processing Second Edition 9章 4~9節
Principles of Transaction Processing Second Edition 9章 4~9節
 
Cloudshare のご紹介
Cloudshare のご紹介Cloudshare のご紹介
Cloudshare のご紹介
 
EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御
EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御
EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御
 
Tmux
TmuxTmux
Tmux
 
Fabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFesFabric + Amazon EC2で快適サポート生活 #PyFes
Fabric + Amazon EC2で快適サポート生活 #PyFes
 
Tmux
TmuxTmux
Tmux
 

Similar to StackStorm MeetupJP #11

Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Java fx勉強会lt 第8回
Java fx勉強会lt 第8回
Taiji Miyabe
 
Stormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPIStormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPI
AdvancedTechNight
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
leverages_event
 

Similar to StackStorm MeetupJP #11 (20)

StackStormを活用した運用自動化の実践
StackStormを活用した運用自動化の実践StackStormを活用した運用自動化の実践
StackStormを活用した運用自動化の実践
 
Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v5 (こちらが最新です。)Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v5 (こちらが最新です。)
 
Cloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続するCloud9にリモートデスクトップ接続する
Cloud9にリモートデスクトップ接続する
 
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Powershell勉強会 v4 (もっと新しいバージョンがあります。)Powershell勉強会 v4 (もっと新しいバージョンがあります。)
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
 
hscj2019_ishizaki_public
hscj2019_ishizaki_publichscj2019_ishizaki_public
hscj2019_ishizaki_public
 
Twitterのリアルタイム分散処理システム「Storm」入門
Twitterのリアルタイム分散処理システム「Storm」入門Twitterのリアルタイム分散処理システム「Storm」入門
Twitterのリアルタイム分散処理システム「Storm」入門
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
 
第12回CloudStackユーザ会_ApacheCloudStack最新情報
第12回CloudStackユーザ会_ApacheCloudStack最新情報第12回CloudStackユーザ会_ApacheCloudStack最新情報
第12回CloudStackユーザ会_ApacheCloudStack最新情報
 
WebRTC meetup Tokyo 1
WebRTC meetup  Tokyo 1WebRTC meetup  Tokyo 1
WebRTC meetup Tokyo 1
 
はじめてのTeam foundation server執筆裏話
はじめてのTeam foundation server執筆裏話はじめてのTeam foundation server執筆裏話
はじめてのTeam foundation server執筆裏話
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
 
Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Java fx勉強会lt 第8回
Java fx勉強会lt 第8回
 
Stormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPIStormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPI
 
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
はじめてのPowerShell
はじめてのPowerShellはじめてのPowerShell
はじめてのPowerShell
 
20180123 power shell
20180123 power shell20180123 power shell
20180123 power shell
 
Powershell基礎_20180521用
Powershell基礎_20180521用Powershell基礎_20180521用
Powershell基礎_20180521用
 

More from Ohyama Hiroyasu (10)

OpenInfra Summit Vancouver 2023 - SSoT
OpenInfra Summit Vancouver 2023 - SSoTOpenInfra Summit Vancouver 2023 - SSoT
OpenInfra Summit Vancouver 2023 - SSoT
 
StackStorm MeetupJP #10
StackStorm MeetupJP #10StackStorm MeetupJP #10
StackStorm MeetupJP #10
 
StackStorm MeetupJP #11
StackStorm MeetupJP #11StackStorm MeetupJP #11
StackStorm MeetupJP #11
 
StackStorm Meetup JP #7 発表資料
StackStorm Meetup JP #7 発表資料StackStorm Meetup JP #7 発表資料
StackStorm Meetup JP #7 発表資料
 
20190424 stackstorm-meetup5
20190424 stackstorm-meetup520190424 stackstorm-meetup5
20190424 stackstorm-meetup5
 
[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える
 
jtf2016-mom
jtf2016-momjtf2016-mom
jtf2016-mom
 
20150616 ohyama
20150616 ohyama20150616 ohyama
20150616 ohyama
 
20150513 wbsユーザ会資料-大山
20150513 wbsユーザ会資料-大山20150513 wbsユーザ会資料-大山
20150513 wbsユーザ会資料-大山
 
Event
EventEvent
Event
 

StackStorm MeetupJP #11