Amazon SimpleWorkflowのご紹介

  • 1,129 views
Uploaded on

デモのソースコードは …

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,129
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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