Webアプリケーション開発の世界でWordPressに未来はあるか?

「Webアプリケーション開発の世界でWordPressに未来はあるか?」というのは、オライリー社刊行の書籍『WordPressによるWebアプリケーション開発』の一節に出てくる問いです。

shire

私は「ある」と断言します。

私達は、クライアントに「WordPress」とか「CMS」という単語を説明しなければならなかったころ、まだ、WordPressにサイトマップの自動生成機能がプラグインとしてもなかったころから、「WordPressはアプリケーションプラットフォームです」と言ってきました。

ですから、近年、WordPressのアプリケーションプラットフォームの側面がフォーカスされ始めたのは当然のことだと思っています。

どうしてそのように考えるのかというのは、私たちの会社の生い立ちに関係します。あまり知られてはいませんが、私たちはもともとWordPress専業のコンサルタント企業だったわけではありません。

どちらかというと、ライバルです。

ライバルといえるかどうかは別としても、オリジナルのPHPフレームワークをベースにして、その上にCMS機能を持たせるという形式のWebプラットフォームというシステムを開発していました。

今のシステムでいうと、Concrete5、baserCMS、ExpressionEngineなどのフレームワークをベースとするCMSに近いものでした。Excelでモデルを定義して、ビルドするとCRUDな画面遷移とフォームが完成し、サイトマップ定義とコンテンツから自動的にCMSの構造とコンテンツを生成する機能や、JavaScriptを利用したウィンドウベースのGUI、フロントエンドでのコンテンツ更新など、当時としてはかなり先進的なシステムだったと思います。

そして、これは、アプリケーションプラットフォームそのものです。

私たちが開発していたWebプラットフォームの前身はPerl、PostgreSQLベースのプリログという静的にパブリッシュするブログシステムでした。これは、どちらかというと、というか、まさにMovable Typeの対抗馬です。

その証拠に私はその昔、サンフランシスコのSix Apartの社屋の前に何度か立ち寄ったことがあります。私はSix Apartをリスペクトしていましたし、「いつか超えてみせる」と思っていました。だから、一度もドアをノックすることができなかったことを懐かしく思います。

経緯はいろいろありますが、私たちは、WordPressを採用するとき、自社開発のアプリケーションプラットフォームを捨てました。私たちは自社開発のアプリケーションプラットフォームを捨ててWordPressを採用したのです。そのときの開発リーダーは私です。

「Webアプリケーション開発の世界でWordPressに未来はあるか?」

この問いの答えがYesであるからこそ、私たちは自社プロダクトを捨ててWordPressを採用したのです。

WebアプリケーションとCMSの境界線

WebアプリケーションとCMS(コンテンツ・マネジメント・システム)の境界線は動的なCMSが主流になるにつれて曖昧になりました。動的なCMSというのはWebアプリケーションでもあるからです。

WordPressのプラグインは、動的にWordPressの機能を拡張します。この機能拡張はWebアプリケーションの機能実装ということもできます。

今では、国内の多くのWebサイトで規模の大小や複雑さに関係なくWordPressが採用されるようになりました。

Webページの更新、管理のため、Webアプリケーションとしての機能を実現するため、PCやスマートフォンなどのマルチデバイスに対応するためなどその動機は様々ですが、共通するのは従来の手法にくらべて、より短い時間で、より低いコストで実現でき、便利に使えるということです。

そう、WordPressは便利なのです。

ですから、WordPressのシェアが上昇して、一般的な認知が得られるようになると、大手企業や政府、自治体などの公的機関などもWordPressを採用するようになりました。私たちのクライアントの層もここ数年で大きく変わりました。

私たちの最近のプロジェクトでは、毎日数十から数百のコンテンツ投稿が行われ、月間のPVが千万、億という単位のメディアサイトを担当することも普通になりました。

PVに関わらず、機能要件が複雑で、大量のデータを扱う、一昔前でしたら大規模Webシステムと言われる類いのWebサイトを担当することも普通です。

一般的なコーポレートサイトもまだまだありますが、一般的なコーポレートサイトでさえ、追加機能、すなわちWebアプリケーションとしての機能を要求されないサイトはないというのが事実です。

そして、このようなWebアプリケーションの性質をもつWebサイトはすべてWordPressで実現可能ですし、それが私たちの仕事でもあります。

ですから、多くの方は、私たちの収益の多くは、そのようなWebアプリケーションとしての性質をもつWebサイトの構築によるものだとお思いになられるでしょう。

これは、一面で正しいです。しかし、一面では異なります。

WordPressによるWebアプリケーション開発の最前線

WordPressがCMSプラットフォームからアプリケーションプラットフォームへと進化を遂げるにつれ、私たちに期待される内容も変わってくるようになりました。

tokyo

数年前くらいから、「WordPressでこれ実現できますか?」という問い合わせが大手企業や公的機関から寄せられるようになりました。この段階では、クライアントの層が変わっていったのと、予算内で機能的に実現できるかどうかというのが焦点でした。

ですので、私たちの売上の半分以上はエンタープライズレベルのWebアプリケーションとしての性質をもつWordPressサイトの構築です。ですが、この1、2年で売上に占める割合が2割近くまでに急激に伸びているは、実はWordPressサイトの構築ではありません。

それは、WordPressサイトのマネージドサービスです。具体的には、構築されたWordPressサイトのアプリケーションからミドルウェアやインフラまでのサーバホスティングを含む保守サービスです。そして、その中心はスケーラビリティとパフォーマンスです。

単純にいうと、WordPressサイトの1秒あたりの同時アクセス数、1アクセスあたりの動作・表示の速度を保証するサービスです。

これには理由があります。

WordPressはもともとブログやCMSプラットフォームとして利用されてきました。そして、一般的な用法に従ってさえいれば、スケーラビリティやパフォーマンスもそれなりには確保されています。

しかし、Webアプリケーションとして拡張でき、自由度が増すことと、スケーラビリティやパフォーマンスを確保することの間に相反する関係があります。当然、すべての要件が開発前に全部確定しているか、PDCAを回しながらアジャイルに開発するということであれば、この両者のバランスもとれるかもしれません。

しかし、実際の現場では、開発前に予算と納期が確定していて、これは動かせないというケースが多いのです。

では、どうすれば良いのか?

そこについては別の機会にお話します。

存在する事実は、そのうちのいくつかはスケーラビリティやパフォーマンスについて大きな問題が発生するということです。簡単に言うと、Webサイトが実用に耐えないほどに動作が重くなる、表示が遅くなるということです。これは、すべてのプロジェクトについてではなくそのうちのいくつかについて、そしてその多くは事後的に発生します。

しかし、WordPressはそのような問題が発現する可能性を補ってあまりあるほどに便利で有用なのです。

そう、WordPressの有用性ゆえに、この問題がなくなることはありません。

私たちが担当したWordPressサイトではありませんが、最近、大型のリニューアルで話題になった、私がOBとして個人的に関係するWordPressサイトにアクセスする機会が先日ありました。

トップページやいくつくかのページにアクセスしたところ、一見普通に表示されているように見えましたが、ページキャッシュが切れた直後や有効になっていないページでは、最初のHTMLが返ってくるまで2秒以上かかりました。おそらく、そのURLに10人が同時にアクセスしたらこのWebサイトは落ちます。

この状態であればページキャッシュを利用できない管理画面内での操作も同様だろうということが容易に想像できます。場合によってはWebページのコンテンツの更新がタイムアウトで戻ってこないということもあるでしょう。

これは、一例ですが、このようなWebサイトがそれなりに存在するというのは想像できない話ではないはずです。

しかし、この状況は事後的にも改善することが可能です。このようなWordPressサイトであっても、そのパフォーマンスを数倍から数十倍まで改善させることは可能です。もちろん、ページキャッシュを使わない場合でです。上の例では、最初のHTMLが返るまで、ページキャッシュを用いて0.01~0.03秒、用いない場合で0.1~0.3秒というのが目安でしょうか。

では、このWebサイトはパフォーマンスを改善する必要があるでしょうか?

これは、場合によります。おおざっぱにいうと、運用に不自由がなく、この先、このプロジェクトが発展しないのであれば、ここに課題はありませので、不要でしょう。ここにコストをかけても意味はありません。

しかし、発展するプロジェクトであれば、改善が必要ですし、その価値があります。発展するプロジェクトのスケーラビリティやパフォーマンスに関する課題、これは、大変重要な課題であると同時に取り組む価値があります。

そして、私たちの売上げの2割を急激に占めるようになったサービスはこの課題を解決するサービスなのです。

発展するプロジェクトだからこそ、そこに課題とマーケットがあるのです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です