今回の移設において、技術的に最も頭を悩ませたのが「Mylers Track」における膨大な地図タイルの配信効率とサーバー負荷の両立でした。
1. 配信方式の最終決定:スタイル維持と基盤刷新
当初はタイルデータをイベントごとにパッケージ化する「MBTiles配布方式」への移行も検討していましたが、最終的に「タイル1枚ずつの配信スタイル」を維持したまま、配信基盤のみをオブジェクトストレージへ移行する決断を下しました。
この決定の決め手は以下の2点です。
- 既存ロジックの継承: アプリおよびWeb側の表示スタイルや取得ロジックを大きく変更せず、開発コストを抑えられること。
- インフラ課題の同時解決: オブジェクトストレージとCDNを組み合わせることで、イベント開始時の突発的なアクセス集中(負荷分散)に対応しつつ、VPSを悩ませていた「inode(ファイル数)制限」の問題を根本から解消できること。
2. 具体的な実装と移行ステップ
単にファイルを移すだけでなく、将来的な柔軟性を持たせるための設計も盛り込んでいます。
- 配信パスの抽象化: 配信元URLを一括置換できるよう、タイル取得APIのエントリポイントを一本化し、疎結合な設計を優先します。
- 段階的な移行フロー:
- 既存の全タイルデータをオブジェクトストレージへ一括アップロード。
- 配信ドメインをVPSからオブジェクトストレージ側へ切り替え。
- アプリ側の表示挙動およびキャッシュ効率の最終検証。
まとめ:スケーラブルな基盤への進化
「1枚1枚のタイル配信」という従来の利便性はそのままに、バックエンドをモダンなマネージドサービスへオフロードする。これにより、サーバー移設後もトラフィックの増大に怯えることなく、安定したサービス提供が可能になります。


