写真は、住所やゲーム一覧だけでは伝わらない店舗の様子を見せられる。一方、保存時だけでなく利用者へ送るたびにも容量を使う。同じ枚数でも、一枚が大きければ表示時の転送量は増える。
現在は無料ホスティングの利用量を抑えるため、画像を選び、画質を下げている。この方法だけでは写真を増やしにくいため、Next.jsとPocketBaseをVPSへ移す準備を始めた。
保存容量はサーバーに置くファイルの大きさで、転送量は利用者へ送るデータ量である。写真の増加は両方へ影響する。小さな名称や住所と同じ感覚では、将来の使用量を見積もりにくい。
Vercelの無料枠の余裕が減り、無料バックエンドでも5GBの保存上限に対し約3.5GBを超えて使用している。これは現時点の数字だ。空きが残っていても、写真ごとに同じ速度で増えるなら、その先の保存方法を考える必要がある。
すぐできる対応は、残す写真を選んでファイルを小さくすることだ。保存と転送をともに減らせるが、入口や筐体配置の写真がぼやければ、写真を用意した効果も小さくなる。
圧縮だけに依存せず、サーバーを自分で運用する方法を調べることにした。対象は画面を提供するNext.jsとデータを扱うPocketBaseである。現在は移行先と構成を検討する段階で、移行が完了したわけではない。
VPSは、仮想的に分割したサーバーを借りて必要なプログラムを動かす方式である。管理されたホスティングより配置を選びやすくなるが、要求がどこへ届き、どのプログラムへ渡るかを理解する必要もある。IPとTCPを学んでいる理由はそこにある。
検討中の構成は、共通の入口から画面の要求をNext.jsへ、データの要求をPocketBaseへ振り分けるものだ。この入口を担当する仕組みをリバースプロキシと呼ぶ。図はこの案を整理したもので、確定した配備構成やアドレスではない。
自分で資源を選べれば、写真の枚数と画質を調整する余地は増える。ただしVPSにも保存と転送の制約があり、借りれば画像の費用がなくなるわけではない。
プログラムの稼働状態や接続、障害時の確認箇所も自分たちで管理する。現在はその運用範囲を調べて準備している。利用量の問題を解くために移る以上、ファイルの置き場所と、継続して提供する構成をともに考えたい。