• 検索結果がありません。

VM立ち上げを自動で行うように拡張

ドキュメント内 Microsoft PowerPoint - SES11-cloud_tutorial.pptx (ページ 49-61)

タスクコントローラはVMを立ち上げ,そのアドレ スに対してLOCサービス呼び出しを行うようにする とともに,一定時間経過後にVMの終了も行う

例題: 作業手順一例(5)

例題: 実際の作業(EC2の利用コード)

RunInstancesRequest req

= new RunInstancesRequest(amiID, minNum, maxNum);

req.setInstanceType(instanceType);

req.withSecurityGroupIds(securityGroupID);

RunInstancesResult res = ec2.runInstances(req);

AmazonEC2 ec2 = new AmazonEC2Client(…); 認証情報を与え スタブ作成

各種の設定とともにインスタンス起動

・ イメージID

・ 立ち上げ個数(最小・最大): 同時立ち上げ可能な数の 制限と照らし合わせて実際の個数が決定

・ インスタンスタイプ(CPU/Memoryのサイズを表す)

・ セキュリティグループ(ファイアウォール設定を指定)

[http://aws.amazon.com/jp/documentation/ec2/]

例題: 実際の作業(EC2の利用コード)

DescribeInstancesResult res

= ec2.describeInstances(

new DescribeInstancesRequest());

AmazonEC2 ec2 = new AmazonEC2Client(…); 認証情報を与え スタブ作成

現在起動中のインスタンス情報の取得

(例: 立ち上げたインスタンスの起動処理 が終わり利用可能になっているか チェックするため)

ec2.stopInstances(new StopInstancesRequest(instanceIDs));

インスタンス停止 [http://aws.amazon.com/jp/documentation/ec2/]

Java 6のソースコード(ファイル7000個超)

S3へのアップロード(並行化せず): 2時間弱 キューへの送信(並行化せず): 約20分

VM10個を立ち上げ,全結果が集まるまで: 約1時間

注:性能最適化していない,LOC処理が小さいので通信 などのオーバーヘッドが相対的に大きい

実行結果

ローカルで 直列にLOC

今回のLOC

通信などの

オーバーヘッド

キュー収束

オーバーヘッド

クラウドとは

Webサービスの技術的基礎 例題: AWS上のLOC

議論・おわりに 参考文献

目次

EC2サービスを直接使わずとも,自動スケーリ ングなど多様な機能が利用できる

Amazon自体のサービス

サードパーティのサービス・ライブラリ 他の提供者によるIaaS/PaaS

VMの設定はもっと柔軟・動的にもできる

指定されたサービス設定を起動時に読み込み,必要 なサービス配備を動的に行う,など

処理時間が非常に短い

並列化効果に対して,キューの情報反映や通信の オーバーヘッドが大きくなりがち

例題の限界

クラウドが活きる特徴とSEにおけるタスク 分割して独立に捌ける処理を大量に行う

ビルド,インテグレーション,テスト,静的検証,

メトリクス解析,リファクタリング,・・・

(分割できる?どう分割?)

様々な仮想マシンを手軽に自動で利用する

異なるCPU速度・メモリ量,異なるOSやパッチ状況,

異なるソフトウェア(ブラウザなど),異なる環境 設定ごとのテストを行いやすい

おわりに: SEに活かす?(1)

クラウドが活きる特徴とSEにおけるタスク

データ転送(コスト・オーバーヘッド)が少な い方がよい

コードのデータ量はたかがしれている

(が,取り得る入出力やたどりうる実行パスなど,

組み合わせでテストなどの処理は膨大になり得る)

時間順序や最新情報の正確な反映が必ずしも必 要でない場合の方がよい

SEにおけるタスクはWeb検索などと異なり,そんな ことはない?

バックアップやアーカイブを対象としたメトリクス 分析など?

おわりに: SEに活かす?(2)

今回は本当に基礎的な内容

これくらいでもぜひご自身で触ってみて下さい

(これくらいならほぼ無料で済む)

それが難しくとも,本チュートリアルが何か考える ための「実感」を提供できたなら幸いです

ご自身の「専門領域」でぜひサービス・クラウ ドとの関連を考えてみて下さい!

自分のツールをサービス化・公開?

研究・開発にWebサービス・クラウドを利用?

特にクラウドにおける課題を同定,研究対象に?

おわりに

クラウドとは

Webサービスの技術的基礎 例題: AWS上のLOC

議論・おわりに 参考文献

目次

The NIST Definition of Cloud Computing (Draft)

Special Publication 800-145, NIST, Jan 2011

http://csrc.nist.gov/publications/drafts/800-145/Draft-SP-800-145̲cloud-definition.pdf

Above the clouds: A berkeley view of cloud computing

M. Armbrust et. al., Technical Report No. UCB/EECS-2009-28, Feb  2009

クラウド大全 サービス詳細から基盤技術まで(第2版)

日経BP社出版局,2010

Cloud Computing and Emerging IT Platforms: Vision,  Hype, and Reality for Delivering Computing as the 5th  Utility

R. Buyya et. al., Future Generation Computer Systems, 2009 

参考文献(クラウド全般)

Amazon Web Services

http://aws.amazon.com/jp/

AWS Documentation

http://aws.amazon.com/jp/documentation/

AWS SDK for Java

http://aws.amazon.com/jp/sdkforjava/

Architecting for The Cloud: Best Practices

J. Varia,  

http://media.amazonwebservices.com/AWS̲Cloud̲Best̲Practices.

pdf

Migrating your Existing Applications to the AWS Cloud

J. Varia,  http://media.amazonwebservices.com/CloudMigration-main.pdf

参考文献(Amazon Web Services)

ドキュメント内 Microsoft PowerPoint - SES11-cloud_tutorial.pptx (ページ 49-61)

関連したドキュメント