« 【AWS発表】 AWSをオンラインで学べる新しいSelf-Paced Labsのご紹介 | メイン | AWS サービスアップデートまとめ 2013年7月 »

【AWS発表】 Simple Workflow ServiceのためのRuby版 AWS Flow Framework が登場

Amazon Simple Workflow Service (SWF) を使えば、クラウドだけでなくオンプレミスも含めた多くのマシン間で作業を調整する、スケーラブルで、イベントドリブンなシステムを構築することができます。 Amazon SWFは連携、ロギング、監査を処理しますので、たくさんグルーコードを記述したり、マシンの状態を独自に維持する必要がありません。その代わりに、皆様のビジネスに価値を追加し、差別化するビジネスロジックに集中することができます。

本日、AWS Flow FrameworkのRuby版を発表いたします。 このフレームワークを使えば、純粋にRubyだけを使って、ワークフローのロジックを記述、管理するのがより簡単になります。コードも簡単な方法で記述することができます。 フローのための組み込みオブジェクトおよびクラスは、皆様の代わりにSimple Workflow APIと連携し、簡単に複数台のマシン上の並列なタスクを実行できます。このフレームワークは、各ステップの進捗を追跡し、定義したルールに基づいて、失敗したタクスを再実行します。その裏では、状態管理およびワーカーマシンへのタスクの分散のために、Amazon SWSを使っています。

AWS Flow FrameworkのRuby版はオープンソースで、GitHubからご利用いただけます。 Rubygemsからgemを取得し、gem install aws-flowとタイプすることで取得したgemをインストールすることができます。 この時、AWS SDK for Rubyも一緒にインストールされます。

このフレームワークで提供されるベースクラスを継承してアプリケーションを構築します。例えば、Amazon SWFでは、Activitiesと呼ばれるステップのフローを制御するワークフローを書くためには、次のように記述します。

class HelloWorldWorkflow
   extend AWS::Flow::Workflows

  workflow :hello_workflow do
  {
    :version => "1",:execution_start_to_close_timeout => 3600, :task_list => $TASK_LIST
  }
  end

  activity_client(:activity) { {:from_class => "HelloWorldActivity"} }

   def hello_workflow(name)
     activity.hello_activity(name)
   end
end

その後、個々のステップに対して、コードを書いたり、既存のRubyのコードを再利用したりすることができます。

def hello_activity(name)
puts "Hello, #{name}!"
end

皆様がすぐに使いはじめられるよう、ビデオチュートリアル(英語)を作成いたしました。

また、Amazon SWF のコードサンプルもダウンロードいただけます。さらに詳しい情報については、Flow Framework Developer Guideをご覧ください。

堀内康弘 (Facebook, Twitter)

 

コメント

トラックバック

この記事のトラックバックURL:
http://www.typepad.com/services/trackback/6a00d8341c534853ef0191048d6cb2970c

【AWS発表】 Simple Workflow ServiceのためのRuby版 AWS Flow Framework が登場を参照しているブログ:

Featured Event

2016年3 月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31