今までのエンジニア人生の中で何に一番長いこと時間使ってきたか?
って言われたらバッチ処理かな?って感じな自分としては
NASAでも使われているっていうAWS製のバッチ処理基盤には
前から興味を持っていました。
が、ちょっとトッツキにくそうっていう事で、今まで触れたがなかったのですが、
ちょっとやってみようかな、と。
■ 文献を漁る
パッとインターネットを徘徊してみると↓の資料が一番わかりやすそうでした。
[slideshare id=19929229&w=427&h=356&fb=0&mw=0&mh=0&style=border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px&sc=no]
特に気になったのが↓こちら。何やら良さげな予感です。
ドメインを作って、アクティビティを実装して、ワークフローを実行する
っていう流れになる感じっぽいですが、コレばっかりは手動かしてみないと
分からんですね…汗
■ 何はともあれコードを、、
Getting Started的なのを期待していたのですが見当たらず。
サンプル的に↓がひっかかりました。
ケース・スタディも面白そうでしたが(RightScaleとか)、
まずはAWS SDK for Javaに内包されているというサンプルをみてみます。
■ SWFのサンプル
↓がAWS SDK for Javaに入ってるって書いてあるのですが、
ディレクトリみると、元々はAwsFlowFrameworkって名前だったのかな〜?
って感じですね↓
ProjectをCreateする時にSWFのサンプルは出て来なかったので、、、、
AwsFlowFrameworkの上記ディレクトリをworkspaceのディレクトリに持ってきてプロジェクト作ると、
コンパイル通りませんー的な。笑
んま、ともあれHelloWorldから見ていこうかと思ったのですが、、
■ Management ConsoleでSWFをLaunchしてみる
そういえば、まだManagement Consoleを開いていないな、と。
開いてみると、Launch Sample walkthroughって書いてある。。
なんか画像をホゲホゲしてS3に置くっぽい。。
Domainはとにかく Hoge でw
画像をセピアとグレースケールにしてS3に〜的なのが出てきて、
デプロイすっか?と。しますします。EC2インスタンスは30分でTerminateされるらしい。
decidersとworkersはデプロイされてて3分くらいで立ち上がります、と。
実行してみましょう的な。hageってエグゼキュートIDでセピアにした画像を
自分のS3バケットに〜
ジョブはキックされたらしい。。
コンソール行くと、既に Completed 1 とかなってる。。
Execution IDをhageで検索してみると、、
サマリタブ
イベントタブ
アクティビティタブ
ダウンロードして、セピアにして、アップロードして、ローカルからは消して〜
なんか、ひと通り動いたみたいです。
■ S3バケットをみてみる
↓ソレっぽい画像がそこにいますね。
開いてみると、確かにセピアな画像が!
■ EC2インスタンス
Tokyoリージョンみてたら上がってねーなー、と。。
んでバージニアみてみたら、、Launch Timeがまさにそれ、と。
せっかくなのでバージニアリージョン用のpemファイル作って〜とかやってたら、
セキュリティグループでSSH許可されてんのにPermission Denied…とか
やってたら、上記で記載されてたように30分で自動的にインスタンスが落ちはじめましたよ、、と。
■ ソースコード
上記の処理は ImageProcessingExample.jar というjarファイルで公開されていて、
↓のようにS3で公開されているので、インポートして眺めてみます。
https://s3.amazonaws.com/swfconsole/ImageProcessingExample.jar
画像処理用のインターフェースがあって、
実装クラスにコンバート処理が書かれてたり。
久しぶりにこういうのみたけど、SWFマスターしてスラスラ書けるようになるには
ちょっと修行が必要かもしれませんね〜
次回はスケール云々みたいなところまでみてみたいです。
—
今回の #shinjukuzame は初の女性参加者が来てくださいました〜ヽ(´▽`)ノ
日経BP社
売り上げランキング: 12,405
日経BP社
売り上げランキング: 8,993
コメント