makotan _at_ gmail dot com

AWSのSWFについての雑感

だいぶ前にだいちゃんがSWFについて書いてたので、続編に便乗しようかと待ってたけど、いくら待っても続編書かないから・・・

良いと思うところ

  • スケール前提

普通にワークフローエンジン作っててかな〜〜〜り悩むところはAWSが頑張ってくれてる
ここはホントにスゴイ

  • データモデル関係なし

ワークフローエンジンにつきもののデータモデルに関する条件が無い

  • 低価格

ASPサービス的なワークフローシステムと比較するとむき出しなので流石に低価格
というか、中小規模のやつだったらほとんどお金かからないんじゃ無いか?的な価格設定

駄目だと思うところ

  • フローの定義が駄目

ワークフローエンジンを作ってて一番難しい部分をソースコードの定義をベースにAPTとAOPの併用で回避(FlowFramework)
それ以外の方法だと実行の履歴から次に実行するActivityを自分で決めるしか無くてIFが乱立する
これはひどい
これが原因で判りにくくなってると思うくらいひどいw
まぁAWSらしいといえばらしいけどw

現時点での使い道とか

たとえば・・・

  • SNSにeventを送ってそれを受けて処理する。
  • 時々人間が判断する必要がある場合があるのでそのためにSWF

みたいな使い方には結構向いてると思う
逆に言えば、国内エンジニアが思うところのワークフローエンジンとはほど遠いのが問題

改善案

足回りとしてSWFを使う一般的なワークフローエンジンを作る or 改良する
既にAWSがSWFとして提供してる足回りを作らなくて良くなる&スケールするのが楽
#え?雲の上のぶり??何のこと???

予想

SimpleDBがDynamoにその立場を乗っ取られたみたいに
SWFも他の類似サービスにその立場を・・・
もしかして:Data Pipeline