1. VSUG DAY 2009 Winter
VSUG DAY 2008 Winter 東京
プログラミング
Windows Azureプログラミング
・
基本の
基本のキ
VSUG Visual Studio フォーラムリーダー
酒井 達明
Microsoft MVP for Solutions Architect
VSUG DAY 2009.12.5
2. アジェンダ
• Windows Azure Platformの変遷
• Windows Azure Platformを構成するサービス
• Windows Azureファブリック
• WebとWorker/2つのロール
• 簡単なAzureアプリケーション
• ストレージの使い方
• AppFabricによるサービス連携
VSUG DAY 2009.12.5
12. Windows Azure Fabric
アプリケーション
コンピュート ストレージ
Config ファブリック
AppFabric
Applicatio
Applicatio
アプリケーション
ns
ns SQL Service
Windows Azure
Application
Application
アプリケーション
ss
Windows Windows Windows
Clients
Server XP/Vista/7 Mobile
VSUG DAY 2009.12.5
13. 2つのロール
バランス
ロード
Web ロール Worker ロール
ストレージ
アカウント
ブロブ テーブル キュー
VSUG DAY 2009.12.5
14. Web ロール
• インターネット経由の
リクエストを処理
インターネット
• IIS7 ホスト
– ASP.NET / WCF ホスト
– SSL サポート
Web • In-Bound接続のみ可能
ロール • Out-Bound接続なし
ロード
バランサー • Cloud Service プロジェクト
ストレージ サービス
VSUG DAY 2009.12.5
15. Worker ロール
• バックグラウンド プロセス
• Web ロールからは、キュー
インターネット
でリクエストを読込む
• In-Bound接続なし
• Out-Bound接続は可能
• Windows Azure Trust Policy Worker
• Cloud Service プロジェクト ロール
ストレージ サービス
VSUG DAY 2009.12.5
16. 開発環境の構築
• OS及びVisual Studioの準備
• Windows Vista SP1以降, Windows Server 2008,
Windows 7, Windows Server 2008 R2
• Visual Studio 2008 or Visual Studio 2010
– (Express Editionでも可)
• SDKおよびツールをダウンロード
– http://www.azure.com/ へアクセス
– 「Get Tools & SDK」をクリック
– ダウンロードするSDKおよびツールは1種類
• Windows Azure Tools for Microsoft Visual Studio
• ツールのインストール
VSUG DAY 2009.12.5
40. Tableの定義例
public class EvaluationsDataServiceContext : TableServiceContext
{
public EvaluationsDataServiceContext(CloudStorageAccount accountInfo)
: base(accountInfo.BlobEndpoint.ToString(),accountInfo.Credentials)
{ }
public IQueryable<EvaluationsRow> EvaluationsTable
{
get
{
return this.CreateQuery<EvaluationsRow>(“Evaluations”);
}
}
}
VSUG DAY 2009.12.5
41. Tableの定義例
public class EvaluationsRow : TableServiceEntity
{
public EvaluationsRow() : base() { }
public EvaluationsRow(string EventID, string ID, string Title)
{
PartitionKey = EventID;
RowKey = ID;
EvalID = ID;
EvalTitle = Title;
EvalExp = DateTime.Today + new TimeSpan(90, 0, 0, 0, 0);
}
public string EvalID { get; set; }
public string EvalTitle { get; set; }
public DateTime EvalExp { get; set; }
}
VSUG DAY 2009.12.5