【PHP】 PHP on Windows ガイドライン ひとまず一段落


半年くらいでまずは想定した分量を完成させよう! と始めた PHP on Windows ガイドラインですが、震災で色々な作業や副次的な仕事が舞い込んだ結果、最終的に 6 月末までかかってしまったものの、ひとまず完了です。

本日 第5章を公開しました。

PHP on Windows ガイドライン (ドラフト)
http://technet.microsoft.com/ja-jp/iis/gg535422.aspx

実はこの 5 章のテーマに関しては物江と結構ディスカッションしました。というのは我々に本当にベストプラクティスが書けるか疑問だったからです。実際に実践で数十ものサイトを立ち上げているわけでもないですし、元になる英語の記事が単なる羅列であって、構成があまりイケてなかったこともあります。

でもここまでの章でまとめてきたように、 Windows で PHP の環境を作ることは非常に簡単にできる点をより多くの人に知って欲しかったですし、あとどうしても必須で読んでおいて欲しい記事としてあがっていたものでもありました。なので、色々なフィードバックがあるのを承知の上で第 5 章を書くことにしました。なので、実際に有償でコンサルタントが提供するドキュメントのクオリティでもなんでもないですし、読み物として読んでいただくことだけを前提に書いています。

====

このガイド シリーズが一段落したところで、ちょっと PHP を Windows で動かす観点で雑感を書いておこうと思います。

確かに IIS を使用した場合に PHP を動作させる環境として Apache と全く同じになるわけではありません。それは多くの PHP アプリケーションが OS や Apache に関わるモジュールだったりとか機能を使用しているからで、PHP のレベルで抽象的に吸収できていないエリアがある場合には当然起こりえます。

IIS の開発チームも IIS+PHP の推奨構成を考えるときに当然そこは考慮した点なのでしょう。それまで IIS では最速と言われていた ISAPI モデルを使うことに固執せずに FastCGI のモデルを採用しました。つまり、実際に PHP アプリケーションが動作する際には PHP のランタイム(php-cgi.exe)上で動作するようにしたことで、PHP が動作する際の他のプラットフォームとの差異は最大限減らすことができたと思います。

あとは Web PI の着眼点も良かったと思います。もうすでに色々な環境を構築しているところにさらにインストールすると色々と起きるかもしれませんが、実際に PHP の環境を作ってみると本当に 5 分以内でさくっとカップラーメンの出来上がりを待っている感触で環境ができます。それこそ IIS と PHP の環境だけだと 1 分くらいでできてしまいます。PHP の入門書にはぜひこのオプションも書いてくれるとうれしく思います。

この感覚が非常に大事だと私は最近思っています。というのはクラウドの時代になってくるに連れ、環境構築は本来考えないでよくなり、上で動作するアプリケーションの内容と質が問われるからで、そこを意識する必要がないのが理想的だからです。また、クラウドの話でよく出てきますが、今までは考えられない短期間でここまでのものを作ったとかいう話がより多く聞こえてくるようになりました。

そのために各プラットフォームの提供者はユーザーが意識しないでもいいように努力し続けなければいけませんし、逆にユーザーはアプリケーションのクオリティをさらに高みに持っていけるようにするのが本質論でしょう。マイクロソフトは今 盛んに Azure 上 で PHP も使えるという記事、講演、宣伝を色々としているのが目にとまっているかもしれませんが、本質論はそういうことなんだと思います。本当の意味でそうなるにはまだまだ努力していかないとダメですけどね。

Azure 対応の Web PI、Azure 上でのマルチ インスタンスを意識した Web Deploy サービスを作ってくれるように日本法人からは Azure 開発チームに要望を出しています。これが実現できれば本当にクラウドに数分で環境ができ、しかもサイジングを意識しないでもいい世界が来ます。やってくれると思うんだけど、さてどう出ますか。

もう一つの観点では CMS の利用が挙げられると思います。Web の世界では本当に物事のスピードが速いなぁと感じている点でもありますが、一から作るのではなく、ありものに手を加えるというのが実際に多く行われています。システムの規模に応じて必要な機能要件や非機能要件の幅は異なるわけで、それに応じて既存で存在するありものの価格も変わります。だからフリーミアムな発想も出ますし、その価値がわかる人には当然素晴らしいものであると気づくと思います。マイクロソフトの各サーバー製品などもほぼその道筋に沿ったものであると言えると思います。

企業向けのシステム インテグレーションのお仕事で育った私は SI コアという用語に以前反応していましたが、要は横展開できるものを作らないとスケールしないということにみんな気づいていて、形は違えどパッケージ ビジネスなんかもその一つの潮流でしょう。だから「歴史は繰り返す」わけですが、人月で人ひとりの工数を売っているレベルを脱却しない限りは 1.0 は 1.0 であって、非効率を効率化することで 1.2 くらい、サービス残業で 1.5 や 2.0[あまりこのレベルの人いないで欲しいけど現実的には。。。 (+_+)] になるだけです。横展開すればそれが 2 にも 10 にもなる可能性を秘めているわけですね。

世の成功者はこの原理に気付いてどんどん先に進んでいき続けている気がしますが、果たして皆さんの周りではどう物事が進んでいるでしょうか。

プラットフォームの選定には本当に様々な要素があり、複雑です。ここに書いたようなことを考慮すると「PHP を Windows で使う」ということは本当にミクロな話であり、どうでもいいと思う人もいらっしゃるかもしれませんが、選択の幅が広くなることはいいことであり、フィットするシチュエーションがあれば使えばいいのだと思います。

でもまあ自分の子供のように 2006 年から接してきた IIS7 については「使ってみればわかるのになぁ」という要素も多いので、まだ触ったこともないという方にはぜひ試していただきたいですけどね。(^o^)

ちなみに IIS7 はいつごろ登場したかというと、まずはクライアントの Windows Vista のベータ前のビルドから情報発信を始めました。ということは。。。。。。
ここは私も情報を持っていないので皆様の想像にお任せすることにしましょう。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中