【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

特集:PHP on Windows Azure

PHP開発者もクラウド開発を始めよう!

デジタルアドバンテージ 一色 政彦
2009/07/28
Page1 Page2 Page3 Page4

 2009年7月16日、Webデザイナ/Web開発者向けのイベント「ReMIX Tokyo 09」が東京ミッドタウン・ホールにて開催され、新登場したSilverlight 3や、マイクロソフトのクラウド・プラットフォームと絡めたWeb開発などのセッションが開かれた。その中でも、今回レポートするのは「Silverlight + PHP (FastCGI) + Windows Azure で作る初めてのクラウド アプリケーション」というセッションだ。

 セッションの前半では、Windows Azure Platform(従来は「Azure Services Platform」と呼ばれていた)の概要やWindows Azureでの基本的な開発/運用方法が、マイクロソフトの関田文雄氏から説明された。Windows Azureでは、.NETだけでなく、PHP、Python、Rubyなどの言語でも開発できる。

 関田氏によると、「実はPHPやPythonもVisual Studio(無償のWeb Developerを含む)を使うことができる」という。通常の.NET開発とPHPなどの他開発の環境の違いを、関田氏は次のスライドを使って説明した。

通常の.NET開発とPHPなどの他開発の環境の違い(右下は関田氏)

 セッションの後半では、関田氏の説明内容を踏まえ、Windows Azure上に乗せるPHPアプリケーションの開発手順のデモや開発時のポイントが、アシアルの亀本大地氏から説明された。アシアルは、Visual Studio内で動作するWindows用PHP開発環境「VS.Php」などを販売しており、PHP開発に詳しい企業だ。

デモを行う亀本氏

 本稿では、後半のPHP開発のパートを取り上げ、セッション内で説明された内容を紙面で再現する。なお、Windows Azure自体の基本的な使い方は「特集:Windows Azure開発入門」を参考にしてほしい。以下、「アプリケーション」は「アプリ」と略す。

PHP開発でWindows Azureを利用する理由

 そもそもWindows Azureというマイクロソフト技術を基盤としたクラウド・プラットフォーム上で、非マイクロソフトでオープンソースのPHP開発を行うメリットはどこにあるのだろうか?

 これについて亀本氏は、「PHPでは、これまでに数多くのオープンソースのWebアプリ(例えばWordPressやPukiWikiなど)が作成されてきており、企業としても既存の資産が生かしやすいこと」を理由として挙げた。さらに、「確かにWindowsサーバ上にPHPアプリを乗せる事例は、Linuxの例ほど多くはない。しかしWindowsサーバを使うことで、社内ネットワーク環境をWindowsプラットフォームに統一でき、これにより運用・管理コストを減らせる」と語った。それがクラウドOSのWindows Azureともなれば、Windowsサーバの運用・管理はほぼ自動化されるので、システム開発企業は「アプリ開発だけに集中できるようになる」(亀本氏)というわけだ。

 さらに、亀本氏が考える「PHP開発でWindows Azureを採用するメリット」として大きいのは、「SQL Azure」(以前は「SQL Services」と呼ばれていた)だという。「RDBMS(リレーショナル・データベース管理システム)のデータベースをクラウドでも使えるので、既存のアプリをシームレスにクラウド上に乗せられる」(亀本氏)からだ。

 セッションでは、以上の話を前置きとして、具体的なPHP開発のデモンストレーションが行われた。以降では、その内容をひととおり再現していこう。

 なお、ReMIX Tokyo 09後の7月21日にWindows Azure開発環境の新版(CTP 2009年7月版)がリリースされたので、本稿ではその最新開発環境を用いている。そのため、実際のデモとは異なる画面や手順が登場する。また、本稿は筆者の記憶に基づき再現しているので、細かい部分のコードは異なる。ご了承いただきたい。

PHPによるWindows Azureクラウド・サービスの開発

Windows Azure開発環境の構築

 Windows Azureクラウド・サービスの開発を行うには、まずVisual Studio 2008を用意する。これは、無償版のVisual Web Developer 2008 Express Editionでも構わない。本稿ではVisual Studio Team System 2008のTeam Suiteを利用する。

 次に、下記の2つのモジュールをインストールする。

 これらをインストールするには、いくつかの事前準備が必要だ。詳しいインストール方法は「無償開発環境で試すWindows Azureクラウド開発」を参照してほしい。

FastCGIモジュールのインストール

 Windows Azure上では、PHPアプリはIIS用のFastCGIによって実行される。つまりWindows Azure内部では、FastCGIモジュールが最初から有効化されているのだ。手元のWindows Azure開発環境(=Windows Vistaなどのクライアント環境)でPHPアプリを実行するには、これと同じ環境になるよう、FastCGIモジュールを有効化する必要がある。

 有効化するには、(Windows Vistaの場合)[コントロール パネル]の[プログラム]−[プログラムと機能]−[Windows の機能の有効化または無効化]を実行する。これにより、次の画面の[Windows の機能]ダイアログが表示されるので、[Internet Information Services]−[World Wide Web サービス]−[アプリケーション開発機能]−[CGI]チェック・ボックスにチェックを入れて[OK]ボタンをクリックすればよい。

FastCGIモジュールの有効化
この作業を行わないと、クライアント環境でのPHPアプリ実行時に「CCT: Error: Unable to find FastCGI module at path C:\Windows\system32\inetsrv\iisfcgi.dll. Please verify that it is installed.」というエラーが表示される。

PHP実行環境の準備

 さらに、PHPアプリの実行エンジンである「Windows向けのCGI版PHP実行環境」(以降、PHP実行環境)も、ここで準備しておこう。PHP実行環境を入手するは、次のリンク先を開き、最新版(執筆時点では「VC9 x86 Non Thread Safe (2009-Jun-30 08:52:54)」)の[Zip]をクリックすればよい。

 .zipファイル(本稿の例では「php-5.3.0-nts-Win32-VC9-x86.zip」)がダウンロードされるので、これを任意の場所に展開し、フォルダ名を「php」に変更しておく。

 それでは、以上で開発環境が整ったとして、実際の開発作業に入っていこう。


 INDEX
  [特集] PHP on Windows Azure
  PHP開発者もクラウド開発を始めよう!
  1.PHP開発でWindows Azureを利用する理由
    2.PHPによるWindows Azureクラウド・サービスの開発(1)
    3.PHPによるWindows Azureクラウド・サービスの開発(2)
    4.PHPアプリをWindows Azureに乗せるコツ

ホワイトペーパーTechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

.NET未来展望台

未来展望台コーナースポンサーからのお知らせ


- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています