メニューボタン
IBMi海外記事2016.12.22

Zend社、IBM i向けの新しい高速なPHPおよびランタイムを発表

Alex Woodie 著

本日、Zend社は、Zend Server for IBM iバージョン9のベータ プログラムと、Power Systemsプラットフォーム上で動作する新しいPHP 7言語を公式に発表します。今週、ラスベガスで開催されている今年のZendCon 2016ショーで発表される、この新しい言語とランタイムの組み合わせにより、顧客のPHPアプリケーションのパフォーマンスは大いに向上することが見込まれます。ただし、Zend社がフレームワークに組み込んだ後方互換性を切り捨てる結果に陥らない限りにおいてですが。

この新たなPHP 7言語およびZend Serverランタイムについて特筆すべきは、何と言ってもパフォーマンスの向上という点です。5月の記事told you back in Mayで述べたように、CTOのZeev Suraski氏率いるZend研究開発グループは、Intelプラットフォーム上でもIBMプラットフォーム上でも同様に、PHPの実行を高速化する方法を見つけ出すべく、ラボで何か月も開発を続けました。

PHP向けのJIT(just in time)コンパイラからパフォーマンスを引き出すことができなかった後、Suraski氏と彼のチームは、パフォーマンス向上の可能性を求めてPHPの堅牢なメモリー フットプリントに目を向けました。PHPスタックのメモリー使用量を縮減し、CPU使用率にも同様にメスを入れることにより、Zend社のアーキテクトたちは、同じIntelハードウェア上で、PHP 5と比較して2倍のパフォーマンスの向上を達成しました。そしてZend社は、PHP 7およびZend Server 9としてこれをリリースすることとしました。同社は、現在、Rogue Wave Software社の配下にあり、PHP 6はスキップされました。

Intelプラットフォーム向けのPHP 7およびZend Server 9が利用可能になって数か月になりますが、この言語およびランタイムがPower SystemsおよびIBM i上で問題なく実行できる保証を得るために、Zend社にはもう少し時間が必要でした。これは、今回のリリースで言語およびランタイムに加えられた変更が大きかったこともありますが、IBM iの特殊性とIBM i顧客からの厳しい要求による部分が大きかった、とZend/Rogue社のソリューション コンサルタントで、PHP on IBM iの専門家のMike Pavlak氏は説明します。

「Zend Server 9 for IBM iは特別なビルドです。いわゆる典型的なLinuxビルドとは違うものです」とPavlak氏は『IT Jungle』に語ります。「i のユーザーはうまく動いてくれることを期待しますが、オープン ソース コミュニティの人間は切り捨てることを好みます。(IBMの拠点工場がある)ロチェスター レベルの品質を期待している弊社の企業顧客に向けてリリースする前に、「IBM iビルド」が提供の準備が整った完全な状態であることを本当に確かめたかったのです。」

Zend DBiと呼ばれるDB2エクステンションが確実に、発表されている通りに機能するようにするべく、特別な注意が払われました。DBiが他のすべての機能と完全に互換性を保てるよう、Zend社はIBMと密接に連携している、とPavlak氏は述べます。「順調に進んでいて非常に興奮していますし、また、コミュニティへリリースできることについてはワクワクしています」と彼は述べます。

DBiを含めて、すべてのPHPエクステンションは、「作り直しが必要でした。これはPHP 7の構成上、根本的なアーキテクチャの変更があったためです」とPavlak氏は述べます。「問題点のほとんどは、後方互換性の切り捨てからくるものです。」

よい知らせは、Zend社のPHPディストリビューションを使用しているほとんどのIBM iのショップは、後方互換性の切り捨ての問題についてあまり心配する必要がないということです。というのも、PHP 7で完全に除去されてしまったほとんどのPHP機能(あるいは、Pavlak氏が言うところの「価値がなくなった」「悪い習慣」)の起源はPHP 4にあるためです。i5/OS向けのPHPランタイムの最初のリリース(Zend Core)は、PHP 5をベースにしたものでした。これは特にそのオブジェクト指向プログラミング モデルにおいてPHP 4に対して大きく改善がなされたものです。

「完全には廃止されていなかったPHP 4の古い機能がいくつか残っていたかもしれませんが、PHP 7の登場とともに、それらすべてが除去されています」とPavlak氏は述べます。「IBM iの顧客のほとんどは、PHP 5.2が最初のPHPです。それはZend Coreがリリースされた時点だからです。そのため、多くは「悪い習慣」を持っていません。」

それでも、PHP 7およびZend Server 9はまったく新しいアーキテクチャを採用して大幅に書き直されたものであるため、IBM iのショップでは、新しい言語およびランタイムで自社のPHPアプリケーションを完全にテストしたいと思うでしょう。そうした目的のため、Zend社では、同じシステム上にZend Serverの以前のリリースと併存する形で新しいランタイムをインストールできるように、Zend Server 9の微調整を行っています。これは、顧客が自身のシステムをテストする手助けになるはずです。

Pavlak氏によれば、このような変更のため、PHP 7およびZend Server 9への移行は、アップグレードというよりむしろマイグレーションのようなものになるかもしれません。Zend社は、顧客のマイグレーションを支援する準備ができています。

「顧客の準備がよくできているならば、マイグレーションはかなり簡単なはずです」と彼は述べます。「ご存じの通り、ここIBM iの世界では、多くの人々が「動いているなら直さない」という大事なスローガンを掲げています。最近でも、「Zend Coreが動かなくなったのだけれど」という電話が掛かってくることがあります。こう答えるしかありません。「Zend Coreですか。お使いの製品は2006年の製品です。サポートを終了して6年になります」と。このような事態が広まってしまうのではではないかと心配です。」

後方互換性の問題は、今週のZendConで、そして来週、オハイオ州コロンバスで開催されるCOMMONのFall ConferenceでZend社が開催する一連のテクニカルブートキャンプにおいて最も重要なテーマとなるでしょう。

Zend Server for IBM iバージョン9が、いつから一般に利用可能になるか見定めるには時期尚早です。1つ、確実と見られるのは、その時点では、MariaDBデータベースの対応が間に合わないことです。DrupalやSugarCRMなど、ほとんどのPHPアプリケーション製品は、MySQLデータベースに依存しています。しかし、MySQLユーザーがOracleからの離脱に目を向けているため、MySQLの互換製品としてMariaDBは急速に勢いを増しています。

Pavlak氏は、MariaDB側の作業は順調に進んでいると述べます。「ラボで試してみましたが、実によく機能します」と彼は述べます。

あわせて読みたい記事

PAGE TOP