AWS Step Functionsとは?サーバーレスオーケストレーションサービス
AWSStepFunctionsの概要
AWS StepFunctionsとはAWS Lambda関数や、AWS上にある様々なサービスを簡単に配列させることができるサーバーレスオーケストレーションサービスです。チェックポイント化された、イベントによって分かれるワークフローを視覚的なインターフェースを使って作成することができ、お客ざまが設定した順番で処理を実行します。個々のサーバーレスアプリケーションをまとめて管理し、それを調節することや、障害の修正したりすることは、複雑な作業になりがちですが、それらを管理する際、StepFunctionsは配列、エラー処理の状態などを管理し、作業上の負担を軽減してくれます。
AWSStepFunctionsの利点
・アプリを素早く構築AWS StepFunctionsを使うことにより、様々な要件をすばやく変換できる視覚的にワークフローを構築することができます。アプリケーションの構築も数分でできます。またニーズに応じた再編成もコンポーネントの交換により素早く構築することができます。
・コードの削減アプリケーションのロジックを管理し、基本プリミティブを実装することにより、マイクロサービスなどで不要に繰り返されるコードを削減することができます。
・回復性の向上AWS StepFunctionsによって、状態の確認、再起動の管理などができ、アプリケーションの実行の順番が確認することができます。エラーなどの発見がしやすくなり、システムの回復性の向上につながります。
・サーバーレスオーケストレーションサービスAWS StepFunctionsはサーバーレスオーケストレーションサービスであることから、複数のLambda関数を連結させることができます。このためアプリケーションのフローの変更があっても、同じコードを何度も修正する必要がなくなります。
・AWS Lambda以外に連携できるサービスAWS StepFunctionsはLambda関数以外に、DynamoDB、SNS、SQSなどと連携をすることができます。別のAWSLambda関数を呼び出し、AmazonSQSキューにメッセージを送信するなど、いろいろな使い方ができます。
まとめ
AWS StepFunctionsはAWS Lambda関数 などのAWSの他のサービスと連携することにより、アプリケーションのコンポーネントの調整が可能になります。また可用性が高いことから、メンテナンスや修正などのコストを削減することができます。
参考資料