20万行の大規模サイトのPHPを5.1から5.4に上げた話の続き

ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ」の続きです。

前回記事の反響が予想以上に大きく、たくさんの人に読んでいだたきました。
はてぶやTwitterで感想をいただいたみなさんありがとうござました。
補足を書きます。

「3年」を強調しすぎたかも

着手しはじめてから完了するまでが2年9ヵ月だったので「3年」と書いたわけですが、「3」という数字にインパクトがありすぎたようです。
実際には途中で心が折れて放置してた時期が数か月あります。

他にも、バージョン管理システムをSubversionからGitに移行するのに5ヵ月かかってる(これも日々の開発・運用の片手間でやった)ので、その間はPHPバージョンアップ作業は止まってました。
って移行プロジェクトばっかりやってるなw
仕事で使ってる巨大SVNレポジトリをGithubに移管するためにやったことまとめ

つまるところ「PHPとCentOSのバージョンアップ作業」にかかった正味の期間は1年半くらいだったかもしれません。
それでも十分長いですねw

ステークホルダーをどうやって説得したのか?

これはみなさん興味あるところだと思います。
私は割と正攻法で説得しました。

  • 「サーバが落ちにくくなります」
  • 「システムが高速になります」
  • 「PHPの新機能が使えるので開発スピードがあがります」
  • 「セキュリティが向上します」
  • 「WindowsXPをWindos7にバージョンアップするみたいなものです」
ただ期間については当初予想を大幅に超えてしまいました。
反省しています。

数年後にまた同じ作業をやるはめになるのでは?

今回の教訓を胸に、そうならないようにしますw
PHPスクリプトについては、言語の最新仕様に目を光らせて、DEPRECATEDなコードを早め早めに潰していけば大丈夫だと思います。
サーバ構築についてはChef化したのでだいぶ楽になりそうです。

よっぽどPHPが好きなんですね?

このプロジェクトでPHPを採用したのは私ではないので、好きで選んだわけではないです・・・
個人的にはPerlの方が好きです。
Perlだと5.8から5.16にバージョンアップしてもそのまま動いたという話がありましたね。
YAPC::Asia Tokyo 2013: 「本当にあったレガシーな話」と最近のlivedoorBlogの改修

でも言語仕様レベルでは後方互換があるとしても、mod_perl + Catalystで構築したウェブサイトをどうやってモダンにするか、みたいなところで同じ悩みはあるんじゃないかと推測します。

Ruby on Railsで構築した場合も、ruby言語の進化とフレームワークの進化に追いついていくのはそれなりに大変なんじゃないでしょうか。
カテゴリ: