
まず、昨日、Windows Azureのテストに参加するよう招待されました。
そして今、私はクラウドアプリケーションを作成した最初の経験を共有したいと思います。 それは
単純な画像ホスティングになります。
Windows Azureが何であるかをまだ知らない場合は、記事「
Azure Services Platformとは何ですか? 」を読むことをお勧めし
ます。 »英語または
ウィキペディアのロシア語の簡単
な説明 。
それでは始めましょう。
Windows Azure CTPには次の制限があります。
- 合計計算時間:2000時間(24時間365日モードで約83日)
- ストレージ容量:50 GB
- 最大ストレージトラフィック:20 GB /日
2種類のサービスコンポーネントを作成する機会があります。
- ストレージアカウント-大量の構造化および非構造化情報の分散ストレージ、
- Hosted Servicesは、クラウドアプリケーションをホストしているAzure Services Platformの64ビットコンピューティングクラウドです。
新しいコンポーネントを作成するためのインターフェイスは次のとおりです。

イメージをホストすることが決定されたため、このタスクでは1つのデータウェアハウス(Storage1)と1つのクラウド(Cloud1)を作成する必要がありました。
Visual Studio 2008でWindows Azureを使用するには、以下をインストールする必要があります。
SDKには、既製のサンプルを含むアーカイブが含まれています。 それらの1つ(
サムネイル )は、私が基礎として採用しました。 また、SDKには
StorageClientプロジェクトがあります。これは、
ストレージを簡単に操作できるクラスで構成されています。 サービスへの参照として接続します。
たとえば、データをBlobストレージにロードするコードは次のようになります。
//
BlobStorage blobStorage = BlobStorage.Create(StorageAccountInfo.GetDefaultBlobStorageAccountFromConfiguration());
// "photogallery"
BlobContainer blobContainer = blobStorage.GetBlobContainer( "photogallery" ).CreateContainer( null , ContainerAccessControl.Public);
//
BlobProperties props = new BlobProperties( "NameOfFileInContainer" ) { ContentType = upload.PostedFile.ContentType };
//
blobContainer.CreateBlob(props, new BlobContents(upload.FileContent), true );
Visual StudioにWindows Azureツールをインストールすると、新しいタイプのプロジェクトが表示されます。

Worker Cloud Serviceを作成します。 これはクラウドで動作し、画像のプレビューを生成するサービスになります。
クラスのコードテンプレートの形式は次のとおりです。
public class WorkerRole : RoleEntryPoint
{
public override void Start()
{
// This is a sample worker implementation. Replace with your logic.
RoleManager.WriteToLog( "Information" , "Worker Process entry point called" );
while ( true )
{
Thread.Sleep(10000);
RoleManager.WriteToLog( "Information" , "Working" );
}
}
public override RoleStatus GetHealthStatus()
{
// This is a sample worker implementation. Replace with your logic.
return RoleStatus.Healthy;
}
}
ご覧のように、サービスは10秒ごとに動作していることをログに書き込みます。
ストレージクラス(Microsoft.Samples.ServiceHosting.StorageClient)を使用して参照プロジェクトに接続します。

記事を脅さないために、サービスコードは提供しません。ここに
リンクがあります。
サービスコードを記述した後、クラウドにアップロードする必要があります。 これを行うには、「公開」用のパッケージを準備します。

その後、クラウドにアップロードする必要がある2つのファイル(サービスコードと、サービスのノードの数を示す構成ファイルを含むパッケージ自体)が作成されます。

公開手順は2つの段階で構成されます。
- 検証のためにプロジェクトをステージングにアップロードする

- 実績のあるプロジェクトをプロダクションに転送する
公開後、画像は次のようになります。

これで、クラウドで動作するサービスとストレージができました。 最後に残っているのは、Webシェルを作成することです。
ここではすべてがより馴染みのあるものです。マスターホストからホスティングに配置した1つのaspxページ(
Default.aspx 、
Default.aspx.cs )を使用してみましょう(これをクラウドに委託することもできました)。
ページにはUpdatePanelが1つあり、プレビューリンクを含むContentTemplateが含まれています。
UpdatePanelは5秒ごとに更新され、リポジトリで現在作成されているすべてのプレビューを受け取ります。 まあ非常にシンプルな画像ホスティング。 =)
すべて準備完了:
tinyakov.net/img楽しい部分、テストを開始できます!
ストレージの負荷スケジュールを随時更新します。

ご清聴ありがとうございました! =)
Window Azureプラットフォームに触れたい場合は、
こちらから招待に登録して
ください 。
コメントであなたの質問に答えようとします。