Windows Azure

Windows AzureのSmall コンピュートインスタンスの費用は、1時間に12セントである。

PDCで発表したextra small インスタンスの費用は、1時間に5セントである。

特徴は、以下のとおりである。

  • CPU:64bit 1GHzプロセッサー相当
  • メモリ:768MB
  • ストレージ:20GB
  • ネットワーク:低帯域(5Mbps)

この特徴から、明らかにCPU性能が低く、メモリが少なくても動作するアプリケーションにあっている。

特に次のようなケースに適合する。

  • トラフィック量がとても少なく、CPUをあまり使用しないweb Role
  • CPUをあまり使用せず、メモリをあまり使用しないWorker Role
  • Windows Azureサービスの試作版(プロトタイプ版)
  • Windows Azureのデモ動作
  • 定期的に起動し、状態を確認するRole

他のインスタンスとはどう違うのでしょうか。仮想-物理アーキテクチャで全てが異なる。たとえばXS(extra small)インスタンスは、同じ物理ホスト上のほかのXSインスタンスとリソースを共有させる。XSインスタンスでは、専用メモリとCPUは提供されない。共通利用が最初の特徴である。

対照的に、Small/Medium/Large/Extra Large(S/M/L/XL)インスタンスは、同じ物理ホスト上にホストされている他のVMとリソースを共有しない。これらのインスタンスでは、マルチプロセッサーを提供し、NUMAにも対応している。

//アーキテクチャが実際どのように違うのか・・・・それは、オリジナル原稿を参照してください。

さらに、NWにも違いがある。

 

本番環境に使用する時には、スペック的に問題が無いかどうか慎重に検討する必要がある。

 

The Windows Azure XS instance – Plankytronixx – Site Home – MSDN Blogsを抜粋し、紹介した記事です。元記事には、EXのアーキテクチャについて、もう少し突っ込んだ紹介がされていますので興味がある方はどうぞ。

SQL Azure

SQL Azureのクエリパフォーマンスを分析するには、SQL Server Management Studioを使用するか、SET STATISTICS T-SQLコマンドを使用します。SQL Server Profilerは、今のところSQL Azureではサポートしていません。この投稿では、SQL Server Profilerの代わりに、サーバに実行されたT-SQLの結果セットを分析しパフォーマンスを改善することに焦点を当てます。

 

SQL Server Management Studio

 

SQL Server Management Studioを使用して、クエリの実行プランを表示することができます。実行プランを使用して、SQL Azureのインデックス使用状況、取得データ、各ステップごとの取得行数を知ることができます。

実行プランの取得方法

  1. SQL Server Management Studio 2008 R2を起動します。(このバージョンでは、簡単にSQL Azureに接続可能)
  2. 「新しいクエリ」ウィンドウを開きます。
  3. 新しいクエリウィンドウにクエリをコピペします。
  4. ツールバーの「実際の実行プランを含める」ボタンをクリックし、実行プランの表示を有効にします。

    000000

    または、メニューバーから「実際の実行プランを含める」を選択します。

    000001

  5. クエリを実行すると別のタブに実行プランが表示されます。

    20101026210719

実行計画の見方は、SQL Server 2008 R2と同じですので、この投稿では取り扱いません。「グラフィカル実行プランの表示 (SQL Server Management Studio)」を参照してください。クエリのパフォーマンスの改善する方法の一つに、カバードインデックスにする方法があります。「I/Oパフォーマンスを改善する」を参照してください。

 

USING "SET STATISTICS"

 

SET STATISTICSは、Transact-SQL コマンドで、SQL Server Mnagement Studioのクエリウィンドウで実行することで、クエリの実行統計を取得できます。SET STATISTICSは二種類あり、その一つが、SET STATISTICS TIME ONです。TIMEコマンドは、クエリのパースとコンパイル、実行時間を表示します。

クエリは次のようになります。

SET STATISTICS TIME ON

SELECT *

FROM SalesLT.Customer

      INNER JOIN SalesLT.SalesOrderHeader ON

            SalesOrderHeader.CustomerId = Customer.CustomerId

実行結果は、以下のようになります。ストップウォッチのような動作をします。

20101026210833

 

もう一つが、SET STATISTICSのオプションが、SET STATISTICS IO ONです。SQL AzureでのクエリのIOパフォーマンス状況が表示されます。

クエリは次のようになります。

SET STATISTICS IO ON

 

SELECT *

FROM SalesLT.Customer

      INNER JOIN SalesLT.SalesOrderHeader ON

            SalesOrderHeader.CustomerId = Customer.CustomerId

 

実行結果は、次のようになります。

20101026211540

 

実行しているSQLを取得する

 

SQL Serverでは、SQL Profilerを使用することでリアルタイムで現在実行しているクエリを取得することができます。SQL Azureでは、次のようなSQLを使用して、プロシージャキャッシュ経由で、実行回数と実行されたクエリを取得します。

SELECT q.text, s.execution_count

FROM sys.dm_exec_query_stats as s

      cross apply sys.dm_exec_sql_text(plan_handle) AS q

ORDER BY s.execution_count DESC

 

SQL Azureでのプロシージャキャッシュについては、「SQL Azure上のプロシージャキャッシュについて理解する」を参照してください。

この投稿は、Gaining Performance Insight into SQL Azure – TechNet Articles – Home – TechNet Wikiを紹介したものです。

Windows Azure

KoodibooK

 

Koodibookは、Flicker、Picasa、Facebook、Myspace、などにアクセスして写真を取得し、自分専用のアルバムをさくせいすることができるサービスです。アルバムをデザインし、写真を選んで公開をするのに10分程度でできます。

WPFで作成されたKoodibook Studioで、写真を選んだり、ページレイアウトをしたり、効果をつけたりすることができます。

20101025202256

画像は、Windows Azure Blob Storageに保存されます。全ての参照データは、SQL Azureに保存されます。

一般公開されたアルバムは、Silverlightアプリで閲覧することができます。DeepZoomも活用しています。

 

Koodibook Studioの操作は下にスクリーンショットをぺたぺたっと張ったのですが、完成度が高く迷わずに操作ができ、WPFへの印象が大きく変わるアプリケーションになっていました。一回、触ってみることをおすすめします!

詳細は、Real World Windows Azure: Interview with Richard Godfrey, Cofounder and CEO, KoodibooKを参照してくださいな。

SQL Azure Team Blog

Service Update 5 Released to Productionを簡単に紹介。

SQL AzureのService Update 5が全世界のすべてのデータセンターにリリースしました。

今回のリリースでは、将来的な機能追加を可能にするために内部オペレーションの改善に注力しました。

今回の更新の1つで、sp_tablepointシステムストアドプロシージャの提供を開始しました。
詳細は、sp_tableoption (SQL Azure Database)を参照してください。

 

更新に合わせて、以下のMSDNドキュメントを追加、修正しました。

HintsSupported Transact-SQL Statements (SQL Azure Database)に新たにHintsに関する情報を追加しました。

Error MessagesError Messages (SQL Azure Database)に、エラーを絞り込み解決するための情報を追加しました。
詳細は、Error Messages (SQL Azure Database)を参照してください。

Microsoft Sync Framework 2.1Migrating Databases to SQL AzureにMicrosoft Sync Framework 2.1のサポートについて説明を追加しました。

Windows Azure

Microsoft IT Starts Migration of Microsoft.com to Windows Azure Platform」で、microsoft.com上で提供されているVideo ShowcaseをWindows Azureへ移行した話が紹介されています。
移行結果は、Video Showcaseのアプリを作成する時に、Windows Azureを適材適所で利用しコスト削減と可用性を向上させています。オンプレミスとクラウドの連携となっています。

Video Showcaseは、製品情報を紹介する5分程度のビデオを8000ほど提供しており、主にマイクロソフトのマーケット部門の人間が利用します。機能としては、ビデオの提供以外にも、レーティング、コメント投稿機能、スパム防止機能、分析機能などを備えています。

microsoft.com上で提供しているサービスをWindows Azure上に移行した最初のサービスがVideo Showcaseです。Video ShowcaseをWindows Azureに移行する為に開発されたのが、Social eXperience Platform(以後、SXP)です。

SXPは、microsoft.com内でソーシャルメディアを提供できるように開発されたマルチテナント型のWebサービスです。SXPは、オンプレミスとクラウド両方の長所を採用したサービスです。SXPは、Windows AzureとSQL Azure上で動作していますが、Video ShowcaseのWebサーバはマイクロソフト内のデータセンターにあるmicrosoft.com上に立てています。組み合わせることで、総合運用性の高い、高セキュリティと管理の容易性を実現しています。

SXP Web Servicesは、VS2010と.NET Framework 3.5で作成しています。
SXP Web Servicesは、3つのMediumインスタンス上で1つのWeb Roleが動作しています。SXPチームは、高可用性と、micorsoft.comのエンタープライズwebサイトとしてのスケーラビリティを提供するために3つのインスタンスを選択しました。通常、5%程度の利用率なので、必要以上の性能を持っています。

SXPはマルチテナント型なので、micorosoft.com上の複数のサブサイトで、利用することができます。テナントごとに、SQL Azureデータベースを分けてテナントを作成します。複数データベースを利用することで、DBの分離の利点を享受できます。複数DBを利用することで可用性を高めています。SXPでは、ログの保存にWindows Azure Storageを利用しています。