Upgrade to Pro — share decks privately, control downloads, hide ads and more …

エキサイトブログの トップページを 段階的にリプレイスする

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

エキサイトブログの トップページを 段階的にリプレイスする

Avatar for Kazuki Yamagata

Kazuki Yamagata

August 26, 2025

More Decks by Kazuki Yamagata

Other Decks in Technology

Transcript

  1. 新アプリケーションにJava21 / Spring Boot3を採用 Java21 / Spring Boot3 過去のPHP →

    Javaの切り替えを経て、事業部内で知見が溜まっていた バックエンドAPIもJavaで構築済み マルチモジュール構成を採用しており、必要なコードを再利用できる OpenAPI OpenAPI Generatorを使用してAPIクライアントを自動生成 旧アプリケーションでは、エンドポイント毎に都度書いており面倒だった こちらも事業部内で知見があり、導入することにした https://tech.excite.co.jp/entry/2024/02/15/192547
  2. locationディレクティブで切り替える server { # リプレイスしたページはSpring Bootコンテナを参照する location ~ ^/genre/ {

    proxy_pass http://springboot; } location ~ ^/ranking/ { proxy_pass http://springboot; } # リプレイス前のページはPHPコンテナを参照する location / { proxy_pass http://php; } }
  3. 新アプリケーションに移行した結果: 定量面 期間 / 人数 2024年6月 〜 2025年1月 / 3名(エンジニア2名、デザイナー1名)

    コンテナ稼働台数の減少 2vCPU / 4GiB / 5台 → 1vCPU / 2GiB / 2台 Lighthouseのスコア改善 移行前のデータは残っていないが、移行後にパフォーマンス面、アクセシビリティ面 において十分な結果を出せた
  4. まとめ PHP5 / 独自フレームワーク → Java21 / Spring Boot3 に移行した

    1つのECSタスクにまとめる + nginxのlocationディレクティブを採用し、段階的なリプ レイスを実現した 移行した結果、定量面と定性面でよい結果を残すことができた