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" />

Windows Azure, ダウンロード

Windows Azure Companion: PHP and WordPress in Azure」にて、Webプラットフォーム インストーラー(Web PI)のクラウド版とも言えるWindows Azure CompanionのCTP版のリリースが紹介されていました。

 

Windows Azure Companionとは

 

Windows Azure Companionとは、自分のAzureアカウントにインストールすることで、Azure上でwebサイトの準備を行えるお手軽インストーラーです。イメージ的には、Web PIのAzure版です。

Windows Azure Companionを使用することで、PHPを導入し、OSSのWordPress、Drupal、JoomlaなどをWindows Azure Companionを動作させているAzureインスタンス(Worker Role)と同じ場所に直接インストールできます。

すでにPHP、MYSQL、Javaなどマイクロソフト製では無いフレームワークやWindows Azreアプリケーションを動作させていたり、ユーザを助けるためのPHP/MySQLTomcatmemcachedなどのアクセラレーターが提供されています。

Windows Azure Companionは、一歩先に進み、Azure上でアプリケーションやフレームワークを管理したり、動作させる為の管理作業をシングルポイントで提供します。現時点では、PHPベースの有名なWordPressやDrupalのようなCMSライクなアプリケーションに集中していますが、将来的には、その他のプラットフォームにも対応していきます。