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のアーキテクチャについて、もう少し突っ込んだ紹介がされていますので興味がある方はどうぞ。

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を参照してくださいな。

Windows Azure

Windows Azure Storage usage in Windows Azure Companion PHPを簡単に紹介した投稿です。

Windows Azure Companion for PHPを使用するには、configure.cscfgにAzure Storageアカウントの情報を設定する必要があります。

<Setting name="WindowsAzureStorageAccountName" value=" happybuddha" />

<Setting name="WindowsAzureStorageAccountKey" value=" dyjrnWG0/ibgI4k9/j6DSZqyhCK5QlZDVYgwqyFqrH8IXW8od9XY1s1TyiDB+1nPCLrT2LOrx34TyhmsI7YyVg==" />

Windows Azure

Windows Azure Companion for PHP: Common Errorsを簡単に紹介する投稿です。

Windows Azure Companion for PHPは、Windows Azure上にPHPベースのアプリケーションを数クリックで配置できる便利なソリューションです。Windows Azure Companion for PHPを使用していると遭遇する可能性があるエラーと原因について説明します。

Windows Azure

Windows Azure Companionのソースが、ダウンロードできます。WindowsAzure Companion

の概要は、「ここ」で紹介しています。この投稿では、ソースコードから5箇所取り上げて、説明します。ソリューションアーキテクチャーを理解するのに重要な5箇所です。簡単な機能拡張をしたいときに、触る可能性がある箇所です。

1. Azure Companion 管理アプリケーション:

 

WorkerRole\WorkerRole.cs

             // Start ASP .NET Admin WebSite

       private void StartAdminWebSite()

2. Web CoreでPHPを実行する:

 

VMManagerService\WindowsAzureVMManager.cs

             public static string HWCForPHPProcessName = "HWCForPHP.exe";

 

VMManagerService\WindowsAzureVMManager.cs

// setting the file name and arguments

              hwcServerProcess.StartInfo.FileName = Path.Combine(approot,

 WindowsAzureVMManager.HWCForPHPProcessName);

              hwcServerProcess.StartInfo.Arguments =

                    Path.Combine(configPath, "php_applicationHost.config") + " "

                    + Path.Combine(configPath, "php_web.config");

              hwcServerProcess.Start();

              // Start the asynchronous read of the output stream.

              hwcServerProcess.BeginOutputReadLine();

 

              Trace.TraceInformation("Started Hosted Web Core Server for PHP Applications

 on port {0}", endpoint.Port.ToString());

 

3. RAM パフォーマンスカウンター:

WorkerRole\WorkerRole.cs

// Add performance counter monitoring

            cfg.PerformanceCounters.DataSources.Add(

                            new PerformanceCounterConfiguration()

                            {

                               CounterSpecifier = @"\Processor(_Total)\% Processor Time",

                               SampleRate = timeSpan

                            });

            cfg.PerformanceCounters.DataSources.Add(

                new PerformanceCounterConfiguration()

                {

                    CounterSpecifier = @"\Memory\Available Mbytes",

                    SampleRate = timeSpan

                });

            cfg.PerformanceCounters.ScheduledTransferPeriod = timeSpan;

 

4. Cloud Driveを作成し、 backup.vhd をマウントする:

VMManagerService\WindowsAzureVMManager.cs

// Get Windows Azure Drive container and blob names from service configuration file

string xdriveContainerName = RoleEnvironment.GetConfigurationSettingValue("PHPApplicationsBackupContainerName");

string xdriveBlobName = RoleEnvironment.GetConfigurationSettingValue("XDrivePageBlobName");

 

5. Cloud Drive の名前とサイズなどの設定:

ServiceConfiguration.cscfg

      <!– Settings for Windows Azure Drive used for durability –>

      <Setting name="PHPApplicationsBackupContainerName" value="phpapps" />

      <Setting name="InstallationStatusConfigFileBlob" value="status.xml" />

      <Setting name="ProgressInformationFileBlob" value="progress.xml" />

      <Setting name="XDrivePageBlobName" value="backup.vhd" />

      <Setting name="XDriveSizeInMB" value="2000" />