採択 2022/09/24 17:55〜 Track2 Regular Session (25mins)

2年かけました!大規模サービスをJava製CMSからPHP+Laravelの構成にリプレイスし、運用している話 PHP Conference Japan 2022

Architecture Framework
Motoki Hirao

ライセンスの都合でローカル環境での開発環境構築が不可能な、CMSに密結合したWebサービス。
CMSの仕様に引っ張られてトリッキーな実装がされることもしばしば…といった状況もありました。

そんなJava製CMSを利用して構築していたサイトを、2年間かけてPHP + Laravel にリプレイスしました。
ソースコード管理もGitで管理でき、EC2で動いていたサイトをDockerを用いてローカルでの開発も同時に実現しています!
ステージ環境やプロダクション環境はAWSサービスである、Fargate、Codeシリーズを活用でき、柔軟にスケーリングできるようになりました。
CMSに密結合していた部分もLaravelに変更することで、モダンなサイト開発体制に近づけることができました。

この発表では、10年以上運営されている大規模な求人サービス「はたらこねっと」でのリプレイスプロジェクトにて、工夫した点や苦労した点についてお話しします。画面は数百単位、PHPのコードだけで数千単位、単体・結合テストの項目数は数万単位のプロダクトです。
コード面やアーキテクチャでの工夫、継続的な開発を意識したCI/CDの活用、監視体制の改善など様々なチャレンジをしながら、リリースを実現しました。
本トークは中〜大規模なサービスリプレイスをお考えのオーディエンスにとって参考になるトークになるものと思います。

またリプレイスや現在の開発・運用も協力会社の方とともにやっています。
大規模なプロダクトなので、参加人数が多くなりチーム体制やマネジメントといったところも試行錯誤しています。
現状の開発体制も踏まえ、協力会社と一緒に開発するという組織づくりやチーム体制についても参考になれば幸いです。

このリプレイスを通して特に活用できた技術は下記です。

  • PHP
  • Laravel
  • PHPInsights
  • Docker
  • DataDog
  • NewRelic
  • AWS
    • Fargate
    • CodeBuild
    • CodeDeploy