AWS Step Functionsの新機能『Workflow Studio』

今回は先月リリースされたAWS Step Functionsの新機能、「Workflow Studio」について記載したいと思います。
https://aws.amazon.com/jp/blogs/news/new-aws-step-functions-workflow-studio-a-low-code-visual-tool-for-building-state-machines/

元々Step Functionsのサービスが好きだったのですが、コラム当番のタイミングでこの機能が追加され、最早運命すら感じています笑

そもそも「AWS Step Functions」が何かと言えば、AWSのサービスやLambda関数を組み合わせて、独自のワークフローを作成出来るサービスです。

各処理の独立性を高める、つまり疎結合に出来るメリットがあります。

※ちなみに疎結合については以下が凄く解りやすいです。
https://aws.amazon.com/jp/builders-flash/202003/metaphor-loose-coupling/?awsf.filter-name=*all


API Gateway等と組み合わせてサーバーレスアプリケーションを構築したり、環境のメンテナンスや自動復旧に使ったりと、何かと便利なサービスです。


ただ、触った事のある方なら共感頂けるかもしれませんが、このワークフローはASL(Amazon States Language)というJsonベースの言語で書く必要があり、記述方法の理解という意味で若干のハードルがありました。

最初はAWSドキュメントと睨めっこしながら、何度もトライアンドエラーを繰り返して、書き方を覚えた記憶があります。


そして今回の本題である「Workflow Studio」ですが、これはStep Functionsの開発を視覚的にし、簡単に編集出来るようにしたもの。
要するに「ローコード開発ツール」となるようです。


実際に画面を見てみると、ページ左に使用可能なアクションとフローのパーツが用意されており、ページ中央にドラッグするだけでステートを挿入する事が出来ます。

f:id:bkazuki:20210706100721p:plain


ステートをクリックすると、右側で連携するサービスの設定や入出力を定義する事が出来ます。

f:id:bkazuki:20210706100806p:plain


これなら直感的に操作でき、ワークフローが作り易くなります。
何より「ASLを動的に定義してくれる」= ASLを意識しなくてもワークフローが作成出来るのが本当に有難いです。


前述のとおり、Step Functionsは便利で使い勝手の良いサービスです。
LambdaやREST APIにはタイムアウト上限もあり、複雑な処理には向きませんが、Step  Functionsというオーケストレーターと組み合わせ、処理を連携することで柔軟性が広がり、制御や管理が格段に行いやすくなると思われます。


AWSブログにも書いてある通り、Workflow Studioは初めてStep Functionsを触る方に最適な機能だと思うので、もし興味があればこの機会に触ってみるのも良いかもしれないですね。