Amazon SimpleWorkflowのご紹介

1,533 views

Published on

デモのソースコードは
https://github.com/c9katayama/AWSSampleAndDemo
にあります。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,533
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Amazon SimpleWorkflowのご紹介

  1. 1. Amazon Simple Workflowアマゾン データ サービス ジャパン 株式会社 ソリューションアーキテクト 片山 暁雄
  2. 2. Amazon Simple Workflow(SWF) AWS上でワークフローを実現するための実行基盤  ワークフローの管理、実行タスクの管理、タスク間のルーティング、実 行履歴・状態管理はAWS側(SWF)が担当  タスク処理の実装と、ワークフローの登録は利用者が実施 SWF 利用者
  3. 3. 利用例• 動画や音声のエンコーディング• 人気Eコマースサイト• バッチ処理• 途中で人手が入るワークフローらないと進まないような処理• NASA
  4. 4. 構成イメージ ドメイン アクティビティ ワークフロー アクティビティ アクティビティ ワークフロー アクティビティ 実体化 アクティビティ ワークフローエグゼキューション 請求処理001 請求処理002
  5. 5. 用語• ドメイン – トップレベルの論理区分。この中にワークフローやアクティビ ティがこの区分単位で管理される• ワークフロー – 実行する処理の一連の流れを定義する単位• ワークフローエグゼキューション – ワークフローをインスタンス化したもの。各エグゼキューショ ンに任意のIDと自動生成IDが付与される – 例えば任意のIDは、請求書番号などを採番 – 実行履歴(ワークフローヒストリー)を保持• アクティビティ – 論理的な処理の定義。ワークフローの各アクティビティごとに タスクが発生し、紐づくワーカーが処理を行う
  6. 6. アクティビティワーカー/構成イメージ デサイダー ドメインワークフロー アクティビティ スターター アクティビティ ワークフロー アクティビティ ワークフロー アクティビティ 実体化 アクティビティ ワークフローエグゼキューション 請求処理001 請求処理002
  7. 7. ワークフロー スターターアクティビティワーカー/ デサイダー
  8. 8. 用語(アクター編) アクターとは、ワークフロー内で実際に動作するコンピューター処理のことアクターとは、SWFの外側で実際に処理を行うコンピューター処理のこと • ワークフロースターター – ワークフローを開始するアクター – 例えば申し込みを受け付けるWebサーバや、定期処理を行うcronサ ーバ • アクティビティワーカー – アクティビティごとに発生するタスクを実際に処理するアクター – 例えば画像変換処理や、S3へアップロード/ダウンロードする処理 • デサイダー – アクティビティ間で動作する、処理のルーティングを決めるアク ター – 状況に応じて、次のアクティビティを変える
  9. 9. アクティビティの中から別のワークフローをキック可能
  10. 10. ポイント• ワーカー・デサイダーはSWFのタスクをポーリングして取得 – ワーカーはEC2でなくてもよい – ポーリングなのでファイヤーウォールを超えやすい• ワークフロースターター、ワーカー・デサイダーは好きな言語、好 きなシステムで実装可能 – 指定のAPIでタスクを取得して結果を正しく返せばOK
  11. 11. 費用• 1ワークフロー実行ごとに$0.0001• 1ワークフロー実行の実行時間、24時間 ごとに$0.000005 – ただし24時間まで無料• 完了した1ワークフローの実行履歴を残 すのに、1日当たり$0.000005
  12. 12. AWS Flow Framework
  13. 13. AWS Flow Framework• ワークフローの定義とワーカー処理を実装する ためのフレームワーク• 言語:Java• アノテーションとAPTを使用して、ポーリング処 理やエラー処理、分岐処理を実装から隠蔽• Junit連動のテストツール – ローカルでワークフローのテストが可能
  14. 14. NASAの例
  15. 15. デモ
  16. 16. SWF AmazonSES Elastic Beanstalk
  17. 17. まとめ• SWFはワークフローを管理するための冗長化され た基盤を提供します。• 開発者はワークフローの状態管理を気にするこ となく、各アクティビティの処理実装に注力で きます。• Flow Frameworkを使用すると、ワークフロー定 義や分岐・ジョイント処理が容易に記述できま す。

×