こんにちは。ソフトウェアエンジニアのやぎーです。
最近ノーコード・ローコード開発について耳にすることが多くなったので、 AWSのStep Functionsを紹介させていただきます。
ノーコード・ローコード開発とは
ノーコード開発
ソースコードの記述を全く行わずにアプリケーション開発をすること。
プログラミングの知識なくても開発できますが、できることが限られていたりします。
ローコード開発
少ないプログラムコードでアプリケーション開発をすること。
プログラミングの知識は必要ですが、拡張性や柔軟性があります。
AWS Step Functionsとは
AWSのリソースの連携、自動化のワークフローの作成や実行ができるサービスです。 SQSやLambdaで実行したいサーバーレス処理のワークフローなども Workflow Studioを使ってGUIから簡単に連携させることができます。
Step Functionsはローコード開発ツールになります。
フローイメージ
今回は下記のような簡単なフローを作成しようと思います。
- SQSメッセージを起点にフローを開始する
- 特定のファイルに対して処理を実行する
- 変換が成功した場合、ファイル情報を保存する
- 実行結果を通知する
それではStep Functionsを設定していきます。
ステートマシンの作成
まずはStep Functionsからステートマシンを作成します。
「ステートマシンの作成」をクリック
「作成方法」は、Workflow Studioを使ってGUI上で作成したり、
ASL(Amazon States Language)での作成もできますので、お好みに合わせて選択してください。
今回はWorkflow Studioを使ってワークフローを作成していきます。
ワークフローの作成
作成したステートマシンに、ワークフローを設定します。
左側にAWSのリソースやフローが表示されるので、右側にドラッグドロップすることでフローを作成できます。
下記が実際に作成したワークフローになります。 ファイル変換処理の結果がSNS経由で送信されます。
ロジック自体はLambdaなどで作成する必要がありますが、 処理の流れや役割がイメージしやすくなるのではないかと思います。
メリット
- プログラムを読まなくても処理の流れがイメージできる
- 処理の分岐や並列化などもWorkflow Studio上で簡単に設定できる
- AWSリソースとの連携が簡単
デメリット
- 実行速度はあまり早くない
- AWSサービスの知識は必要
- CloudFormationの記述は多くなる
最後に
ローコード・ノーコード開発が普及することで、開発生産性の向上や、 システムの管理・保守が容易となり、DXの推進にもつながるのではないかと思います。
使い方によっては既存の開発コストを減らしたり、品質の向上に繋がると思いますので、 見直すきっかけとなれば幸いです。
最後までお読みいただきありがとうございました。
\\『真のユーザーファーストでマーケットを創造する』仲間を募集中です!! //