Amazon Simple Workflow Service とは? - Amazon Simple Workflow Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Simple Workflow Service とは?

Amazon Simple Workflow Service (Amazon SWF ) は、並列またはシーケンシャルステップを持つバックグラウンドジョブを構築、実行、スケーリングする方法を提供します。Amazon SWF を使用すると、分散コンポーネント間で作業を調整し、タスクの状態を追跡できます。

Amazon SWF では、タスクはアプリケーションのコンポーネントによって実行される作業の論理単位を表します。アプリケーション全体でタスクを調整するには、アプリケーションの論理フローでタスク内の依存関係、スケジュール、および同時実行を管理する必要があります。Amazon SWF を使用すると、進行状況の追跡や状態の維持など、根本的な複雑さを気にすることなく、タスクの実装と調整を制御できます。

Amazon SWF を使用する場合、ワーカーを実装してタスクを実行します。ワーカーは、Amazon Elastic Compute Cloud (Amazon EC2) などのクラウドインフラストラクチャまたは独自のオンプレミスで実行できます。長時間実行されるか、失敗、タイムアウト、再起動を必要とする可能性があり、またはさまざまなスループットとレイテンシーで完了する可能性のあるタスクを作成できます。Amazon SWF はタスクを保存し、ワーカーの準備ができたときにワーカーにタスクを割り当て、進捗状況を追跡して、完了の詳細を含む状態を維持します。

タスクを調整するには、Amazon SWF から最新のタスク状態を取得し、その状態を使用して後続のタスクを開始するプログラムを作成します。Amazon SWF はアプリケーションの実行状態を永続的に維持するため、アプリケーションは個々のコンポーネントの障害に対して回復力を持ちます。Amazon SWF を使用すると、アプリケーションコンポーネントを個別に構築、デプロイ、スケーリング、変更できます。

Amazon SWF は、メディア処理、ウェブアプリケーションのバックエンド、ビジネスプロセスワークフロー、分析パイプラインなどのタスクの調整を必要とするユースケースに適しています。

AWS SDKs

Amazon SWF は AWS SDKs for Java、.NET、Node.js、PHP、Python、Ruby でサポートされており、選択したプログラミング言語で Amazon SWF HTTP API を使用する便利な方法を提供します。

これらのライブラリで公開されている API を使用して、ディサイダー、アクティビティワーカー、またはワークフロースターターを開発できます。また、これらのライブラリを通じて可視性オペレーションを使用して、独自の Amazon SWF モニタリングおよびレポートツールを開発できます。

SDKs を含む でアプリケーションを開発および管理するためのツールをダウンロードするには AWS、 デベロッパーセンター にアクセスしてください。

各 SDK の Amazon SWF メソッドの詳細については、SDK の言語固有のリファレンスドキュメントを参照してください。

について考えてみましょう。 AWS Flow Framework

AWS Flow Framework は、Amazon SWF でワークフローとして実行される分散型の非同期プログラムを記述するための拡張 SDK です。フレームワークは Java プログラミング言語で使用でき、複雑な分散プログラムを作成するためのクラスを提供します。

では AWS Flow Framework、事前設定されたタイプを使用して、ワークフローの定義をプログラムのメソッドに直接マッピングします。は、例外ベースのエラー処理など、標準のオブジェクト指向の概念 AWS Flow Framework をサポートしているため、複雑なワークフローの実装が容易になります。で記述されたプログラムは、任意のエディタまたは IDE 内で完全に AWS Flow Framework 作成、実行、およびデバッグできます。詳細については、 AWS Flow Frameworkウェブサイト、および AWS Flow Framework for Java デベロッパーガイドを参照してください。

HTTP サービス API を使用して構築する

Amazon SWF は HTTP リクエスト経由でアクセス可能なサービスオペレーションを提供します。これらのオペレーションを使用して Amazon SWF と直接通信したり、HTTP を介して Amazon SWF と通信できる任意の言語で独自のライブラリを開発したりできます。

サービス API を使用して、ディサイダー、アクティビティワーカー、またはワークフロースターターを開発できます。API を通じて可視性オペレーションを使用して、独自のモニタリングおよびレポートツールを開発することもできます。

API を使用する方法については、「Amazon SWF に対する HTTP リクエストの実行」を参照してください。