コードが住める5つの場所
地球上のほぼすべてのホスティング製品は、この5つのカテゴリーのいずれかのバリエーションです。これらを覚えれば、マーケティングページが意味不明でなくなります。
- 静的ホスティング — プレーンなファイル (HTML (HyperText Markup Language、ページの骨組み)、CSS (Cascading Style Sheets、見た目のスタイル)、JavaScript、画像) をブラウザにそのまま配信します。サーバーがあなたのコードを「実行」するのではなく、ただファイルを渡すだけです。インターネット上のフォルダだと考えてください。クラッシュするものも、パッチを当てるものもないので、これはインターネットに置けるもっとも信頼性の高いものです。例: GitHub Pages、Cloudflare Pages、Netlify、Vercel (静的モード)。
- エッジ関数 — ユーザーに物理的に近いサーバー上で、世界中で実行される小さなコード片です。ほぼ瞬時に起動し、軽量なロジックに最適です。認証チェック、リダイレクト、小さな (Application Programming Interface — あるプログラムが別のプログラムと話すための窓口) 呼び出しなど。落とし穴: 機能を絞った環境で動くので、すべてのライブラリがそこで動くわけではありません。例: Cloudflare Workers、Vercel Functions、Deno 。
- サーバーレス関数 — 必要に応じて実行され、アイドル時には消えるコードです。課金は時間単位ではなくリクエスト単位です。あなたは関数を書き、プラットフォームがマシンを扱います。1回のリクエストが数分走る必要が出てくるまでは最高です — たいていのプラットフォームはタイムアウト (多くは10〜60秒) 後に関数を打ち切ります。例: AWS Lambda、Google Cloud Functions、Vercel Functions。
- コンテナ — あなたのアプリと、その環境一式 (適切な言語バージョン、ライブラリ、システムツール) を、コンテナと呼ばれる持ち運び可能な箱にまとめたものです。プラットフォームがその箱を動かし続けます。より多くの制御、わずかに多めのセットアップ。その箱を定義するただ1つのファイルが
Dockerfileで、AIはそれをうまく書きます。例: Fly.io、Railway、Render、Google Cloud Run。 - 仮想マシン () — データセンターで借りる丸ごと1台のコンピューターです。すべて — OS、セキュリティ更新、ウェブサーバー、その全部 — を自分でインストールし、管理します。最大の制御、最大の責任。例: AWS EC2、DigitalOcean Droplets、Hetzner。
5つのカテゴリーを並べて見ると、下に行くほど 管理する量の少なさ を 制御の多さ と引き換えにします:
管理少ない ◀────────────────────────────▶ 管理多い
アイドル時に安い 制御が多い
┌──────────┐ ┌──────────┐ ┌────────────┐ ┌───────────┐ ┌──────────┐
│ STATIC │ │ EDGE │ │ SERVERLESS │ │ CONTAINER │ │ VM │
│ ファイル │ │ 関数 │ │ 関数 │ │ 自分の箱 │ │ PC丸ごと │
├──────────┤ ├──────────┤ ├────────────┤ ├───────────┤ ├──────────┤
│ コード │ │ エッジで │ │ 要求時に │ │ 常時 │ │ 全部 │
│ 実行なし │ │ 実行 │ │ 実行 │ │ 稼働 │ │ 自分で │
└──────────┘ └──────────┘ └────────────┘ └───────────┘ └──────────┘
Pages Workers Lambda Railway EC2
コストについてのおおまかな目安: プラットフォームがあなたのために管理する量が多いほど、誰もアプリを使っていないときは安くなり、みんなが使っているときの心配を多く肩代わりしてくれます。