← ノート一覧に戻る

ホスティングをどう選んだか — Vercel と Cloudflare の分岐点

同じ「Webサイトを公開する」でも、プロジェクトの性質が変われば最適なホスティングは変わる。2つのADRを書いて分かったことの記録。

  • Cloudflare
  • Vercel
  • ADR

自社プロダクトと屋号サイトで、別のホスティングを選ぶことにしました。同じ人間が同じ時期に書いた2つの意思決定記録(ADR)で結論が違ったので、何がその差を生んだのかを整理しておきます。

前提が違えば結論も変わる

判断が分かれた理由は、ほぼ次の2点に集約されました。

  1. フレームワークが Node.js Runtime に依存しているか
  2. そのサイトが商用利用にあたるか

Next.js で作ったプロダクトは、next/image の最適化や一部の API Routes が Node.js Runtime を前提にしています。ここを Edge Runtime 前提のプラットフォームに載せると、公式ドキュメントの手順がそのまま動かない場面が出てきます。学習中の身にとって、これは単なる互換性の問題ではなく「詰まったときに答えが見つからない」という時間のコストになります。

一方で屋号サイトは Astro の静的出力です。ビルドの結果はただの HTML・CSS・JS なので、そもそも Runtime の議論が発生しません。

商用利用の線引き

もうひとつが規約の話です。多くのホスティングサービスの無料プランには商用利用の制限があります。ポートフォリオとして公開するだけなら問題になりませんが、受注を目的とした屋号サイトは、初日から商用利用にあたると考えるのが自然です。

ここで「無料プランでも商用利用に制限がない」という条件が効いてきて、Cloudflare が残りました。

判断基準を1行にすると

迷ったら「公式ドキュメントの手順がそのまま動くか」で選ぶ。

Next.js の公式手順がそのまま動くのは Vercel でした。Astro の Cloudflare 手順がそのまま動くのは Workers でした。フレームワークごとに、公式が想定している経路は違います。

技術的に優れているかではなく、自分が詰まったときに情報がある場所を選ぶ。初学者のうちは、この基準の価値がかなり大きいと感じています。

残った宿題

  • プラットフォームが2つに分かれたので、請求と障害対応の窓口も2つになった
  • 静的サイトなので、問い合わせフォームを付ける段階でもう一度設計が必要になる

どちらも「今は問題にならないが、いずれ効いてくる」種類のコストです。ADR の「将来の見直しポイント」に書いておいて、忘れないようにしています。