AWSのマネージドワークフローエンジンであるStep Funstions周りで、おもしろそうなツールが発表されてました。
New – AWS Step Functions Workflow Studio – A Low-Code Visual Tool for Building State Machines
Step FunctionsのState MachineをGUIで書こうってツールらしいです。
今まで、draw.io にも似たようなプラグインはありましたが、今回はAWS公式のツールなので使い勝手やアップデートに期待が持てるところです。
Step Funstions好きなので、早速触ってみました。
よかったところ
まずフロー構築が簡単
Stateの追加ですが、左欄から配置したいState Typeを選んでState Machine図にドロップするだけです。
ぐりぐりワークフローが組み上がるので、妄想を形にしてる感があって楽しいですね。
各種Stateのオプションの登録が簡単
各種Stateの使い方はけっこうDSLだと複雑で、それなりに学習コストがあります。ひたすらドキュメントとの睨めっこが必要ですが、Workflow Studioでは画面に従ってSelectBoxなどから選ぶだけです。
Chice Stateの分岐条件記述もこの通り。
AWS系リソースとの統合が簡単
AWS系リソースの呼び出しも左欄から選んでドラッグするだけです。
各統合サービスの呼び出しパラメータオプションなどの詳細もGUIに詳細に出るため、何ができるのか非常にわかりやすいです。
SQSやAWS Batchへの処理の移譲とコールバックパターンとかも、以上のようにボタン一つで設定できます。
DSLだと本来メンバーにも統合サービスごとにパラメータ特性の説明が必要だったのでありがたいです。
(呼び出しが<arn>.sync
なのか <arn>.waitForTaskToken
なのかとか、正直開発知識として必要だったかというとかなり些末なとこだし、なにより公式ドキュメントが見づらかった)
いざというときのjson修正も簡単
Workflow Studioは要するに静的にState Machineの定義jsonを出力するだけのツールなので、相互変換が簡単です。実際に出力するjsonを見れるので、必要なら記法の学習もできるかと思います。
Workflow StudioはこのままState Machineのデプロイもできますが、基本的にはこのjsonをコピペしてリポジトリ管理することになるでしょう。
まとめ
AWS Step Functions Workflow Studio、非常にいいツールでした。
今後 Step Functions使う時は、自分はまずここからフローを設計していくつもりです。