1
0

はじめに

実はあまり触ったことがないStep Functionsを1から使いながら学んでいこうと思います!

Step Functionsとは

分散アプリケーションの構築、プロセスの自動化、マイクロサービスのオーストレーション、データおよび機械学習のパイプラインの作成に役立つワークフローサービスです。
アプリケーションのワークフローを一連のイベント駆動型ステップとして使用することができます。

Step Fuctionsの組み込みコントロールを使用すると、ワークフローの各ステップの状態を調べて、アプリケーションが順番通りに実行されているか確認することができます。

特徴

  • Amazon States Language(ASL) で記述される。
  • ステートマシンとして定義される
  • ステートと呼ばれるステップで構成される
  • 複数のAWSサービスのオーケストレーションに利用可能

ステートマシン

ワークフロー全体を定義する概念であり、状態(ステート)とその間の遷移を構成することによって、複雑なプロセスを管理します。

ステート

ワークフローの各ステップを表す基本単位です。
ステートは、それぞれ異なるタスクやアクションを実行するための定義です。各ステートは、次にどのステートに遷移するか、どのようなタスクを実行するか、エラーが発生した場合の処理方法などを指定します。

以下に、代表的なステートの種類です。

image.png

image.png

image.png

image.png

AWS SDKと最適化された統合

他のAWSサービスを呼び出すためには2つの方法があります。

  • AWS SDK統合による、ステートマシンから200を超えるサービスを直接呼び出す方法
  • Step Functionsの最適化された統合は、カスタマイズされていてステートマシンで使いやすい

ワークフロー

StandardワークフローとExpressワークフローがあります。

Standardワークフロー仕様

実行時間が長い場合に最適です。

  • 1度だけワークフローが実行されて最大1年間実行することができる
  • 毎秒2000の実行レート
  • 毎秒4000のステート以降レート
  • 実行履歴と視覚的なデバッグの表示
  • すべてのサービス統合

Expressワークフロー仕様

ストリーミングデータ処理や IoT データインジェストなどの high-event-rate ワークロードに最適です。

  • at-least-onceワークフロー実行があり最大5分間実行することができる
  • 毎秒100000の実行レート
  • ほぼ無制限のステート移行レート
  • 実行履歴をCloudWatchに送信する
  • すべてのサービス統合

まとめ

Step Functionsの基本的な概念について理解することができました。
今後、実際に触っていきたいと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0