翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Ruby Flow ユーザー向けオプション
AWS Flow Framework for Ruby の開発は終了しています。既存のコードは今後も機能し続けますが、新しい機能またはバージョンはありません。このトピックは、Amazon SWF を使用し続けるための使用および移行オプション、および Step Functions への移行方法について説明します。
オプション | 説明 |
---|---|
現状、Ruby Flow Framework は機能しています。何もしないでいると、コードは引き続きそのまま機能し続けます。近い将来の AWS Flow Framework for Ruby からの移行を計画します。 |
|
Java Flow Framework は現在も開発中であり、今後も新しい機能や更新がリリースされます。 |
|
Step Functions は、ステートマシンと呼ばれる視覚的なワークフローを使用して、分散アプリケーションのコンポーネントを調整する方法を提供します。 |
|
Flow Framework を使用せずに SWF API を直接使用する | Ruby を使用し続け、Ruby Flow Framework の代わりに SWF API を直接使用できます。 |
Ruby であっても Java であっても、Flow Framework が提供する利点は、ワークフローロジックに専念できることです。フレームワークが細かい通信と調整の多くを処理し、複雑性の一部が抽象化されます。Java Flow Framework に移行することで同レベルの抽象化を維持できます。または Amazon SWF SDK を直接操作することもできます。
Ruby Flow Framework を使用し続ける
AWS Flow Framework for Ruby は、短期的には現在と同様に引き続き機能します。AWS Flow Framework for Ruby で記述されたワークフローがある場合、これらは引き続き動作します。更新、サポート、セキュリティの修正がないため、近い将来 AWS Flow Framework for Ruby から移行するしっかりとした計画を立てることをお勧めします。
Java Flow Framework に移行する
AWS Flow Framework for Java は、アクティブな開発で保持されます。概念的には、AWS Flow Framework for Java は AWS Flow Framework for Ruby に似ています。ワークフローロジックに集中でき、フレームワークによってディサイダーロジックが管理しやすく、Amazon SWF のその他の面も管理しやすくなります。
Step Functions に移行する
AWS Step Functions では Amazon SWF に似たサービスを提供しますが、ここではワークフローロジックはステートマシンによって制御されます。視覚的なワークフローを使用して、分散アプリケーションとマイクロサービスのコンポーネントを調整するには、Step Functions を使用します。それぞれ別個の関数 (タスク) を実行する個々のコンポーネントからアプリケーションを構築することで、簡単にアプリケーションをスケールおよび変更できます。Step Functions を使えば、安心してコンポーネントを調整し、アプリケーションの関数を配置できます。グラフィカルコンソールは、アプリケーションのコンポーネントを一連のステップとして可視化する手段を提供します。各ステップが自動的にトリガーおよび追跡され、エラーが発生した場合は再試行されるため、アプリケーションが毎回意図したとおりの順序で実行されます。また、Step Functions では各ステップの状態がログに記録されるため、問題が発生した場合は、問題を簡単に診断およびデバッグできます。
Step Functions では、Amazon States Language を使用して定義された宣言型 JSON で記述されたステートマシンを使用して、タスクの調整を管理します。ステートマシンを使用することで、アプリケーションロジックを制御するディサイダープログラムを作成および維持する必要がなくなります。Step Functions は、視覚的なワークフローを使用してアプリケーションコンポーネントを調整する直感的、効率的、迅速なアプローチを提供します。すべての新しいアプリケーションでは AWS Step Functions を使用することを検討してください。Step Functions は、AWS Flow Framework for Ruby に現在実装されているワークフローに移行する優れたプラットフォームを提供します。
Ruby 言語のスキルを引き続き活用しながらタスクを Step Functions に移行するために、Step Functions には Ruby アクティビティワーカーのサンプルが用意されています。このサンプルはアクティビティワーカーを実装するベストプラクティスを使用しており、Step Functions にタスクロジックを移行するためのテンプレートとして使用できます。詳細については、「AWS Step Functions デベロッパーガイド」の「Ruby でのアクティビティワーカーの例」トピックを参照してください。
注記
多くのお客様にとって、AWS Flow Framework for Ruby から Step Functions への移行が最適な選択肢です。しかし、信号がプロセスに介入する必要がある場合、または結果を親に返す子プロセスを起動する必要がある場合は、Amazon SWF API を直接使用したり、AWS Flow Framework for Java に移行することを検討してください。
AWS Step Functions の詳細については、以下を参照してください。
Amazon SWF API を直接使用する
AWS Flow Framework for Ruby によって、Amazon SWF の複雑性が管理されている場合は、Amazon SWF API を直接使用することもできます。API を直接使用することで、タスクの実装と調整を完全に制御するワークフローを構築できます。進行状況を追跡してその状態情報を維持するといった、内部的に複雑な処理を行う必要はありません。
-
Amazon Simple Workflow Service Developer Guide (Amazon Simple Workflow Service デベロッパーガイド)
-
Amazon Simple Workflow Service API Reference (Amazon Simple Workflow Service API リファレンス)