Windows Azure

Download Report

Transcript Windows Azure

Windows Azure Platform ハンズオン トレーニング
Windows Azure アプリケーション開発概要
~ Windows Azure 入門編 ~
アジェンダ
Windows Azure 入門編
まとめ
Windows Azure 概要
Windows Azure Platform
マイクロソフトのクラウド コンピューティング
サービス基盤群 (PaaS)
Windows® Azure™ Platform
Windows Azure 概要
Windows Azure とは?
コンピューティング サービス (Compute Services)
アプリケーションの配置・実行環境 (ホスティング環境)
ストレージ サービス (Storage Services)
テーブル (Table)、キュー (Queue)、BLOB & ドライブ (Drive)
管理 (Management )
管理用ポータルサイト、コンピューティングの管理 API と診断データの取得
開発キット (Developer SDK)
Visual Studio に統合された SDK とローカル デバッグ実行環境
Windows Azure 概要
Windows Azure アーキテクチャ
コンピューティング サービス
ファブリック コントローラ
ストレージ サービス
Windows Azure 概要
Windows Azure のアプリケーション アーキテクチャ
インターネット
HTTP リクエスト
REST API/
WCF Data Services
外部のサービス呼び出し
インスタンス数=1~n
サービス ホスト
Web Role
Role
Web
Web ロール
インスタンス数=1~n
Web Role
Web ロール
Role
Worker
ロード
バランサー
REST API/WCF Data Services
Web フロント
アプリケーション
サーバー
(ASP.NET、WCF、CGI)
バックグラウンド
サービス サーバー
ストレージ サービス
テーブル
キュー
BLOB
ドライブ
クラウド
データストア
Windows Azure データセンター
ロール (Role)=Windows Azure の仮想マシン (VM)
Windows Azure 概要
コンピューティング サービス (1/3)
ロールのスケールアウト/スケールアップ
インスタンス数=スケールアウト
ロールの実行仮想マシン台数
ロール
ロール インスタンス (仮想マシン)
ロード
バランサー
VM サイズ=スケールアップ
ロール インスタンスの仮想マシンのマシンスペック
極小 : XS
(Beta)
CPU:1.0GHz x1
メモリー:768MB
ストレージ:20GB
I/O:低速
料金:\4.9/H (予価)
小:S
CPU:1.6GHz x1
メモリー:1.75GB
ストレージ:225GB
I/O:中速
料金:\11.76/H
中:M
CPU:1.6GHz x2
メモリー:3.5GB
ストレージ:490GB
I/O:高速
料金:\23.52/H
大:L
特大 : XL
CPU:1.6GHz x4
メモリー:7GB
ストレージ:1,000GB
I/O:高速
料金:\47.04/H
CPU:1.6GHz x8
メモリー:14GB
ストレージ:2,040GB
I/O:高速
料金:\94.08/H
Windows Azure 概要
コンピューティング サービス (2/3)
Web ロールと Worker ロールの連携
ストレージ サービスのキューを介した非同期での連携
高いスケーラビリティを維持可能
コンピューティング サービス
リクエスト
レスポンス
Web ロール
トランザクション
メッセージを投入
↓
レスポンスを返す
Worker ロール
ストレージ サービス
キュー
トランザクション
メッセージを読み込む
↓
トランザクションを処理
Windows Azure 概要
コンピューティング サービス (3/3)
ロールの実装方針
Web ロールに実装すべきモノ
Web サイト (HTML などの静的コンテンツ)
Web アプリケーション (ASP.NET)
WCF サービス (Web サービス/REST サービス)
Worker ロールに実装すべきモノ
非同期で行いたい処理
ストレージへの書き込みの集中緩和、複雑な演算処理、...
他の Web サービスなどとの連携処理
バッチ処理、定期タスク、ポーリング、...
Web ロールと Worker ロールの連携
キュー ストレージを使用して連携
キューで受け渡せないデータは他のストレージを使用
Windows Azure 概要
ストレージ サービス (1/5)
ストレージ サービスの特徴
サービスの特徴
ストレージの API
HTTP REST
ライブラリ:.NET、PHP、Java
ストレージの種類
テーブル (Table)
キュー (Queue)
ブロブ (Blob : Binay Large Object)
ドライブ (Drive)
•
オープン インタフェース
HTTP/HTTPS + REST
•
セキュリティ
256bit シークレット キーを
利用した HMAC-SHA256 署名
での認証
•
可用性
2 つ以上の複製
•
拡張性
最大容量 100TB
パーティション分割
テーブル
アカウント
キュー
ブロブ
ドライブ
Windows Azure 概要
ストレージ サービス (2/5)
テーブル (Table)
シンプルなテーブル構造の構造化ストレージ
Key-Value ストア
テーブル
レコード ≒ エンティティ (Entity)
エンティティ
プロパティ
カラム ≒ プロパティ (Property)
パーティション キー (Partition Key)
パーティション キーが同じエンティティは同一のストレー
ジ ロケーションに格納される=クエリー効率が最適化され
る
255個までのプロパティが持てる
必須
同じパーテション
同じパーテション
Partition Key
パーティション ID
Row Key
エンティティID
Property 3
更新日時
…..
Property N
氏名
SharePoint
10001
12/20/2009
…..
溝端二三雄
SharePoint
10002
03/03/2010
奥田理恵
Cloud
20001
05/19/2009
石田かのこ
Cloud
20002
03/21/2010
中原幹雄
Windows Azure 概要
ストレージ サービス (3/5)
キュー (Queue)
メッセージ交換のための FIFO ストレージ
シンプルなメッセージ キュー
トランザクション メッセージの交換など
キュー
メッセージ
メッセージ
Windows Azure 概要
ストレージ サービス (4/5)
コンテナ
ブロブ
ブロブ
ブロブ
ブロブ (Blob) とドライブ (Drive)
ファイル ストレージ
ファイル=ブロブ、フォルダ=コンテナ (Container)
用途:
画像/動画などのマルチメディア ファイル
PDF や Excel、Word などのドキュメント ファイル
ドライブ (Drive)
ブロブ内に格納されている VHD ファイルを NTFS ボリュー
ムとしてマウント&通常のファイルシステムとしてアクセス
ロール インスタンス
ロール アプリケーション
通常のファイルシステム
アクセス I/O
NTFS
ボリューム
ブロブ
VHD ファイル
Windows Azure 概要
ストレージ サービス (5/5)
http://AccountName.table.core.windows.net/TableName
*
テーブル
1
*
エンティティ
http://AccountName.queue.core.windows.net/QueueName
アカウント
1
1
*
キュー
1
*
メッセージ
1
http://AccountName.blob.core.windows.net/ContainerName/BlobName
*
コンテナ
Internet Public
Windows Azure Private
NTFS I/O API
Drive:\Path
ドライブ
NTFS VHD
1
*
ブロブ
Windows Azure の概要
アカウントの登録とアプリケーションの配置
Windows Azure Platform 管理ポータルサイト
http://windows.azure.com/
Windows Azure 概要
Windows Azure のアプリケーション配置環境
プロダクション環境とステージング環境
プロダクション環境 (Production)=本番運用環境
ステージング環境 (Staging)=テスト運用環境
プロダクション環境
ステージング環境
Windows Azure 概要
Windows Azure の開発環境 (1/2)
Windows Azure Tools for Visual Studio 1.3
http://go.microsoft.com/fwlink/?LinkID=128752
Visual Studio 2010
プロジェクト テンプレート
Windows Azure プロジェクトの配置
サーバー エクスプローラー
Windows Azure のアクティビティ ログ
Windows Azure 概要
Windows Azure の開発環境 (2/2)
ローカル エミュレータ
コンピューティング エミュレータ (Compute Emulator)
Windows Azure のコンピューティング サービス環境を
ローカル PC 上でエミュレート
ストレージ エミュレータ (Storage Emulator)
Windows Azure のストレージ サービスをローカル PC 上で
エミュレート
ストレージ エミュレータ (Storage Emulator)
コンピューティングエミュレータ (Compute Emulator)
まとめ
Windows Azure のはじめの一歩
Windows Azure ポータル サイトを使用した、
サービス ホストとストレージ サービスを作成
Visual Studio と開発ファブリックによる、
ローカル開発環境でのアプリケーションの開発
とデバッグ実行
Windows Azure ポータルサイトを使用した、
アプリケーションの配置と実行
情報リソース
Windows Azure Platform ポータルサイト
http://windows.azure.com/
Windows Azure Platform 製品情報サイト
http://www.microsoft.com/japan/windowsazure/
Windows Azure Team Blog (English)
http://blogs.msdn.com/b/windowsazure/
Windows Azure Platform サービス ダッシュボード
http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx
Windows Azure Platform デベロッパーセンター
http://msdn.microsoft.com/ja-jp/azure/
Windows Azure SDK ドキュメント (English)
http://msdn.microsoft.com/en-us/library/dd179367.aspx
Windows Azure Tools for Microsoft Visual Studio
http://go.microsoft.com/fwlink/?LinkID=128752
Windows Azure Training Kit - December Update
http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83B309-53B7B77EDF78