PHPのWebアプリケーションはライフサイクルが短いのか?

2020年2月24日

ITシステムにも寿命がある

ITシステムのライフサイクル

ITシステムにも寿命があるのをご存知でしょうか。
ITシステムは必要な要求事項をまとめ、要件定義を行い、設計をし、開発を行い、テストを経たのちに実際にユーザーが使用するようになります。
その後、メンテナンスと評価を繰り返し、評価の結果継続して利用することが難しいと判断されれば、廃棄されることとなります。
廃棄されたとき、あるいはその前段階の廃棄が必要と判断されたときに、そのITシステムの寿命が来たのだと言えます。

参考:システム開発ライフサイクル(SDLC)とは何か?概要とモデルを解説 | Promapedia

なぜシステムに寿命がくるのか?

ITシステムに寿命があるといっても、イメージがつかないかもしれません。ITシステムは生き物ではないですし、プログラミングコードだけの存在なので、何もしなければ使えなくなるということもなさそうです。
しかし、何度も改修を重ねてコードが分かりづらくなっていくと、保守性が下がり、廃棄が検討されていきます。
あるいは、そのコードが書かれているプログラミング言語を使っている人材が組織内だけでなく、労働市場で不足していくと、これも廃棄を検討する一因になります。
この他、プログラムコードを格納しているサーバーが劣化していったり、新しいサーバーに適合できなかったりすることもあります。あるいは、データベースに格納されるデータ量が想定以上に増えてしまいそうであれば、コード自体が変わっていなくともシステムは寿命を迎えてしまいます。

PHPのWebアプリケーションを考える

PHPのサポート期間

プログラミング言語のPHPは他のプログラミング言語に比べて簡単だと言われており、Webサイトを構築するHTMLとも親和性が高いため、Webアプリケーションを作成するために頻繁に使用されます。
しかし、PHPはサポート期間が非常に短いという欠点を持ちます。PHPのWebサイトには各バージョンのサポート期間が記載されていますが、2020年2月24日現在では軒並み3年程度しかサポートされていません[1]この3年もセキュリティ問題のみ対応する期間を含めたもの

2020年2月24日時点でのPHPのサポート状況。バージョンの数値が赤くなっているのはサポート切れ、黄色はセキュリティの問題のみ修正が続けられている。薄い緑のバージョンだけ、バグの修正とセキュリティ問題への対応が行われている。

PHPのWebアプリケーションのライフサイクル

PHPのサポート期間を考慮した開発スケジュールのイメージ図
PHPのサポート期間を考慮した開発スケジュールの例。PHPで作られたシステムをサポート期間内だけで使用しようと思うと、頻繁に開発を行わなければならない。

もしサポート期間内のプログラミング言語を使いたいという場合、PHPはかなりやっかいなプログラミング言語です。
サポート期間がリリース後の約3年間であるため、新しいバージョンがリリースされた直後に開発をスタートし、1年後にリリースした場合は、その2年後にはシステムを入れ替える必要があります。そのため、頻繁にシステムを開発していかなければなりません。

PHPのサポート切れをどのように捉えるか

このように、PHPで作られたITシステムをサポート期間内だけで使用しようと思うと、せわしなくシステム開発をし続けなければなりません。
しかし、だからといってPHPが質の低いプログラミング言語だというわけではありません。
というのは、多くの人がサポートの切れているPCやアプリケーションで仕事をしているように、サポートが切れているからといって何かしらのトラブルに直結するわけではありません
また、サポートが切れていて不安な部分を、他のセキュリティソフトでカバーするという手もあります。
このように、サポートが切れているといっても、捉え方は様々なので、PHPの特質を理解し、サポート期間とどのように付き合っていくのかをあらかじめ考えておくことのほうが肝心であると言えるでしょう。

他のプログラミング言語はどうか?

これまではPHPのサポート期間について見ていきましたが、他の言語の状況はどうなのでしょうか。
ITシステム開発で人気のJavaとPythonについて見ていきましょう。

Javaのサポート期間

JavaはITシステムを構築する言語として長く人気を博しているプログラミング言語です。
JavaはPHPと異なり、オラクル社から有償バージョンが提供されています。有償バージョンはサポートが充実しており、10年以上のサポートが予定されていることもあります。

ITの世界は犬の人生並みの早さで進む「ドッグイヤー」と言われたりしますが、その中で10年もサポートしてくれれば、さすがに天寿を全うしたと言えるのではないでしょうか。

Pythonのサポート期間

PythonもPHPと同じくオープンソースのプログラミング言語であり、非常に人気のある言語です。
2020年2月24日現在、Pythonはバージョン3.8がリリースされています。長く使用されていたバージョン2系のサポートは2020年1月1日にバージョン2.7のサポートが終了したことによって、すべて切れてしまいました。しかし、2019年10月14日にリリースされたバージョン3.8は2024年10月までのサポートが予定されています。ここから、Pythonのサポートはリリースより約5年だということが分かります。
こうしてみると、Pythonのサポート期間は、有償のJavaよりは短いですが、PHPよりは2年程度長いことが分かります。

参考

言語の特質を理解してシステム開発を行う

今回はPHPのサポート期間から、PHPで作られたITシステム・Webアプリケーションのライフサイクル(寿命)を考えていきました。
PHPはサポート期間が短いため、一見長く使うITシステムを作れないように見えますが、講じうる対応策は様々あるので、サポート切れをどこまで問題と捉えるかをまず考えていくことが大切です。
どうしてもサポート切れのプログラミング言語を使いたくないという場合は、他のプログラミング言語の使用を検討していきましょう。

1この3年もセキュリティ問題のみ対応する期間を含めたもの