- APIサーバーはHono、ランタイムはBun、ホスティングはFly.ioへ移行
移行した理由
- 軽量サーバーが必要: 監視エンドポイントのために、シンプルなREST APIを備えた軽量サーバーが必要だった。VercelのNext.jsサーバーには不要な追加機能があり、より重い。HonoとBunを使用。起動は0.19ms、メモリは91MB
- 価格の問題: マルチリージョン監視を維持しながら、コストを予測しにくかった。Vercelは使用したCPU時間に対してのみ課金するが、ユーザー増加に伴ってコストが上がる。一方、Fly.ioはより安価
移行中の課題
- Dockerとモノレポ: 当初Dockerイメージは2GBと大きすぎたが、最適化によって700MBまで削減
- Flyのデプロイタイムアウト問題: Flyのデプロイはしばしばタイムアウトし、タイムアウト時間を延ばす必要があった。FlyのデプロイはVercelに比べて安定性が低く、以前のバージョンへ素早くロールバックする方法もない
- Bunのバグ: Bunランタイム使用時にリクエスト失敗が増加し、
keepaliveパラメータをfalseに設定する必要があった
結論
- 移行は挑戦的だったが、結果的には満足のいくものだった。
- もちろんVercelは今でも気に入っている。しかし、Next.js以外のアプリケーションをホスティングする必要がある場合、これは最適な選択ではないかもしれない
まだコメントはありません。