📌 記事サマリー
Vercelが「任意のDockerfileをデプロイできる」機能を発表。Dockerfile.vercelを追加するだけで、Go、Rails、Spring Boot、Express等、HTTPを話すあらゆるサーバーをVercel上でビルド・デプロイ・オートスケールできる。Fluid Compute上で動作し、使用したCPU分のみ課金される。
概要
VercelはこれまでNext.jsなどのフレームワークに最適化されたプラットフォームでしたが、今回の発表で任意のコンテナ化されたサーバーをデプロイできるようになりました。コンテナ内でHTTPを話し、ポートでリッスンするサーバーであれば、どんなスタックでも動かせます。
仕組み
Dockerfile.vercelというファイルをプロジェクトに追加- Vercelが自動的にイメージをビルド・保存・デプロイ
- Fluid Compute上でオートスケール動作
vercel deployコマンド1つでデプロイ完了
サーバーは $PORT 環境変数(デフォルト80番)でリッスンする必要があります。これさえ満たせば、Go、Rails、Spring Boot、Express、Laravel、ASP.NET、FastAPI、nginx配下のWebサーバーなど、すべて同じ方法でデプロイ可能です。
対応スタック
- Go サービス
- Rails アプリ
- Spring Boot API
- Express / FastAPI
- Laravel / ASP.NET
- nginx配下のWebサーバー
- ※ Java、PHPも含む(HTTPを話すものなら何でも)
主な特徴
- ローカルデーモン不要 — ローカルで動かすべきものはなし
- レジストリ設定不要 — Vercelが自動管理
- クラスター管理不要 — Fluid Computeが自動スケール
- 使用量ベース課金 — 使用したCPU分のみ課金
- git pushで自動ビルド — プレビューURLも自動生成
所感・ポイント
Vercelの大きな転換点となる機能です。これまでは「Next.jsプラットフォーム」という認識が強かったVercelが、実質的に汎用的なコンテナホスティングプラットフォームへと進化したと言えます。AWS ECSやGoogle Cloud Run、Fly.ioなどと競合する位置づけになりますが、Vercelの使い勝手の良さ(CLI1コマンド、git pushでデプロイ、プレビューURL等)は大きな強みです。