こんにちは、APCの古木です。
世間ではワールドカップで盛り上がっていますが、
いかがおすごしでしょうか。
日本代表の戦績が気になるところですが、秋田犬「マサル」のその後も気になります。
先日、唐突にStackStormのPack評価の記事をアップしました。
肝心な話が抜けていましたので、イベントドリブンな自動化ツール「StackStorm」
(以下、ST2)の話をちょこっとまとめておきたいと思います。
■ST2とは
OSSのイベント駆動型自動化プラットホーム。
ルールに基づいてシステムを「連携」させるための
ワークフローエンジン。
IF (This) THEN (That) for DevOps BY Dmitri Zimine
スタートアップ企業だったところを、Brocadeさんが買収後、
紆余曲折を経て現在はExtreme Networksさんのところに
落ち着いているようです。
■内部構造
ワークフロー処理をイベントドリブンに行うのがST2の特徴です。
どんな仕組みで動作しているかの少し説明します。
※詳細な挙動については公式ドキュメントのこのあたりを参照してください。
①センサーは外部システムをポーリング、
もしくはイベントを待ち受けています。
②外部システムでイベントが発生すると、
センサーがキャッチして、センサーは
トリガーを引きます。
③ルールはトリガーを検知、評価して、
アクションかワークフローを実行します。
④ワークフローが実行された場合、内部で分岐や
リトライなどを経て最終的になにかしらの
アクションが実行されるのでこのような矢印に
なっています。
アクションはWebhookを投げたり、メールを送ったり
特定の処理を行います。
ルールはトリガーとアクションの紐付でもあります。
これがST2内での一連の動作になります。
Twitter Packの記事にある「Pack」はセンサー、トリガー、
アクション、ワークフロー…連携するシステムごとに
まとめたものになります。
ST2はこれらのPackを追加導入することで機能を拡張します。
■インストール
マシンの必要スペックの目安です。
Testing | Production |
---|---|
Dual CPU | Quad core CPU |
2GB RAM | 16GB RAM |
10GB Storage | 40GB Storage |
Recommended EC2: t2.medium | Recommended EC2: m4.xlarge |
- Nginx
- mongoDB
- RabbitMQ
- Mistral
- PostgreSQL …などなど。導入コンポーネントが多いです。
スペック低いとビルドに失敗しますので、出し惜しみしない方がいいです。
うちの連中も何名かインストールの時にトラぶってました。
t2.medium以上、なんならはじめからProducctionのスペックを
用意するのがおすすめです。
具体的なインストール手順は、以下の通り色々用意されています。
- マニュアルで一つ一つコンポーネントをインストール
- オールインワンのインストールワンライナー
- AnsibleのPlaybook
- Vagrantの仮想マシン
ちなみに、ワンライナーだとこんな感じになります。
# curl -sSL https://stackstorm.com/packages/install.sh | bash -s -- --user=hoge --password='hoge'
AnsibleのPlaybookを使うパターン、Vagrantの仮想マシンについては
こちらのイカすブログ(イカじゃなく金魚ですが)を参照いただければと存じます。
今日のところはこれまで。
これであなたも立派なStormerです。
それでは、また次回。