日別アーカイブ: 2024年9月4日

StepFunctions の Standard と Express

SAP資格の模擬試験の中でStepFunctionsに関する問題が出たのだけど、 StandardワークフローとExpressワークフローの違いに関する内容でさっぱりだった。
そもそも、StepFunctionsの認識としてはLambdaを順序を持って呼び出すことができるという程度の認識なので、これを機に再確認してみる。

Step Function Integrations

Step Functions で呼び出すことができるのはLambdaだけでなく

  • AWS Batch のジョブ実行
  • ECSタスクの実行、完了までの待ち
  • DynamoDBへのデータ挿入
  • SNS,SQSへのPublish
  • EMR、Glue、SageMakerジョブの実行
  • 別のStepFunctions実行

ができるようだ。最初の表示画面でも人気の高い順としていくつか出ている

Flow

順次実行だけでなくワークフローの選択肢としていくつか用意されている中からワークフローを構成することができる

このあたり、処理の分岐も少しはかけるので、Lambdaを細かい単位で用意してStepFunctionsでロジックを・・・・なんてできるのかもしれない。
ただ、StepFunctionsのフローもJSON形式でコードに落とすことができるとはいえ、管理面で考えればやはりロジックはロジックとしてソースリポジトリで管理したほうが良いように感じる。

Settings

きっかけとなったワークフローのタイプは、日本語のAWSコンソール上では”タイプ”となっていた

What is Step Functions? – AWS Step Functions (amazon.com)

上記ページでは、Standard と Expressの違いが表にまとめられている

Standard workflowsExpress workflows
2,000 per second execution rate100,000 per second execution rate
4,000 per second state transition rateNearly unlimited state transition rate
Priced by state transitionPriced by number and duration of executions
Show execution history and visual debuggingShow execution history and visual debugging based on log level
See execution history in Step FunctionsSend execution history to CloudWatch
Support integrations with all services.Support optimized integrations with some services.Support integrations with all services.
Support Request Response pattern for all servicesSupport Run a Job and/or Wait for Callback patterns in specific services (see following section for details)Support Request Response pattern for all services

Expressのほうが秒間の同時実行数などが高く、大規模になる。
実行時間の最大長さという比較で考えると、Standardが1年間でExpressが5分となっている。
この最大実効時間が正直ピンと来ないんだけど、StepFunctionsでECSなどのタスクも動かせるのでそうしているのだろうか。

課金体系

面白いなと思ったのが、課金体系の違い。
Standardが状態の変化(Stepの移行回数)で課金されるのに対し、Expressは実行回数や実行時間、メモリ消費量などで決まるということだった。

Standardの場合は状態が変わらなければ、最長1年まで実行可能で料金一定と考えると、処理内容によってはリーズナブルな運用ができるのかもしれないな?と思った。
ただ、StepFunctionsに対する課金としてはそうなのかもしれないけれど、それだけの長期間、何かの処理を走らせるのかと考えると別途お金が掛かりそうだなぁとも思った。

設定などを見てみると、いろいろな選択肢が書かれていて、これはやはり大変だなと改めて思ってしまう毎日だ。