BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース クラウド上のASP.NETアプリケーションにスケールを追加する

クラウド上のASP.NETアプリケーションにスケールを追加する

原文(投稿日:2011/06/23)へのリンク

先日、シニアアーキテクトエバンジェリストのBrian Prince氏とテクニカルエバンジェリストNathan Totten氏は、マイクロソフトのWebセミナーwebinarにおいて、Windows Azure上でASP.NETアプリケーションをスケールするいくつかのオプションを提示した。

2人は、これらのオプションは、どんな組み合わせでもアプリケーションをスケールアップすることもダウンすることもできると説明した。これらは大きく、キャッシング、トラフィック分散、非同期プロセッシング、ストレージ、といったいくつかのカテゴリに分類できる。Prince氏とTotten氏は、ASP.NETアプリケーションをスケールアップするために、以下のいくつかを組み合わせて使うことを薦めている。

Azureインスタンス数を増やす
仮想サーバーの追加のように、これは負荷を分散させるのにもっともシンプルな方法だ。

テーブルやBlobストレージの追加
テーブルストレージは、スキーマーなしで、リレーショナルがないが、SQL Azureよりスケーラブルである。Totten氏によると、テーブルストレージは、パーティションごとに毎秒500リクエストを処理することができる。Blobストレージは、非構造化オプションであり、大きなファイルに便利だ。

AppFabricキャッシングの追加
AppFabricは、頻繁にアクセスするデータのインメモリキャッシングであり、セッション状態プロバイダとして利用することができる。

非同期作業プロセスの利用
Azure Queueは、「Worker Role」として知られるバックグラウンドプロセスにメッセージを送る。これは、ショッピングカートやファイルのアップロードを処理するのに適切な仕組みで、ビジネスロジックは、フロントエンドのパフォーマンスを向上させるためにバックグラウンドで処理される。キューは、サイズの制限があるが、テーブルやBlobストレージと組み合わせることができる。

スタティックまたは、セミスタティックなコンテンツは、Azure Content Delivery Networkに任せる
2人のよると、Windows Azure Content Delivery Network (CDN)は現在、世界に26ノードあり、定期的に追加されている。CDNを使うことにより、分散された静的なデータ(または、あまり更新されないデータ)は、もっとも近いデータセンターから配布されるため、ユーザーのパフォーマンスを向上させることができる。

すぐれたトラフィック管理
Windows Azure Traffic ManagerはCDNに近いが、コンテンツを保存するよりも、複数のロケーションから世界中で可用性のより高い場所でアプリケーション全体をホストする仕組みである。Traffic Managerは、プライマリインスタンスが利用できない時にフェイルオーバーシステムとして使うこともできる。

Prince氏とTotten氏は、最初のしっかりしたアプリケーション設計がいつでもよいパフォーマンスのカギとなるが、Windows Azureは、組織の用件により簡単にスケールをアップすることもダウンすることも簡単にできると説明した。

この記事に星をつける

おすすめ度
スタイル

BT