ジョイン当時は既に5年近く運用されていたプロダクトでしたが、モバイルアプリ側の改善に比べてサーバサイドの改善が遅れていました。
当時アプリケーションサーバに使われていたCentOSのEOLが近づいていました。
またAPIの多くはPHP/Laravelで組まれていたものの稼働優先でバージョンアップが停滞しており、こちらもセキュリティ面での不安や新規機能を追加したい場合のコストが高くなることが問題視されていました。
サーバサイドのアップデートのデプロイ作業に手作業が多くユーザの多くの稼働時間外となる夜間に作業をするときに負担になっていました。
改善策としてまずは開発環境を含めてアプリケーションをコンテナベースにすることでOSからの切り離しをすることにしました。
そしてLaravelとPHP自体のアップデートを段階的に行い5年のギャップを埋めてアプリケーションの動作を維持しながら当時のLTSバージョンまでアップデートしました。
デプロイフローも事前のテストの仕組み化や省力化も含めてGitLab CIを使うことでmainブランチのアップデートからボタン1つでデプロイ作業を完結させることによって夜間作業を大幅に省力化できました。
プロジェクトは1スプリント2週間のスクラム開発で行っていました。