AWSのBatchとStep FunctionsとLambdaってそれぞれ何がどう違うのか比較して |
| |
一言でいうと
役割がそもそも違います。 LambdaLambdaはサーバーレスでコードを実行します。 例えば、
などです。 特徴
苦手
オンプレで例えると、 cronで起動する小さなスクリプトやWebアプリの処理 に近いです。 AWS BatchBatchは大量のバッチジョブを実行するためのサービスです。 内部的にはEC2やFargateを使ってコンテナを実行します。 例えば、
など。 特徴
得意
みたいな重い処理。 オンプレで言うと、 ジョブスケジューラ+バッチサーバ群 です。 Step FunctionsStep Functionsは処理そのものを実行するサービスではありません。 処理の流れを管理します。 例えば、 のようなワークフローを定義できます。 特徴
が得意です。 例えば、 みたいな制御を簡単に書けます。 実際にはStep Functionsは
などを呼び出します。 つまり、 司令塔 関係性よくある構成は、 です。 例えば、 のように組み合わせます。 オンプレで例えると
特に Step Functions は「処理を実行するもの」ではなく、LambdaやBatchなどの処理を組み合わせるオーケストレーターである点が重要です |
|
|

この記事へのコメント