Vercelが任意のDockerfileを直接デプロイ対応

Vercelデプロイ

発表の概要

Dockerfile.vercel追加だけで稼働
Fluid computeで自動構築・配信
Go・Rails・Java等あらゆる構成に対応
$PORTで待受するHTTPサーバが条件

提供される価値

実行時間課金でアイドル分は不要
双方向のオートスケール
push毎にプレビューURL自動生成
詳細を読む

Vercelは6月30日、任意のDockerfileをそのままデプロイできる新機能を発表しました。プロジェクトにDockerfile.vercelファイルを追加するだけで、同社がイメージのビルド・保存・配信・オートスケールまでをFluid compute上で自動処理します。ローカルでのデーモン稼働やレジストリ構築、クラスタ管理は一切不要です。

対応範囲は特定の言語に限られません。例示ではGoのHTTPサーバが使われていますが、Rails、Spring Boot、Express、Laravel、ASP.NET、FastAPI、nginx背後のサーバなど、あらゆるスタックが同じ手順でデプロイできます。唯一の条件は、サーバが$PORTで待ち受けてHTTPを話すことだけで、JavaやPHPも対象に含まれます。

課金面ではアクティブCPU課金を採用します。Fluid computeはコードが実際に動いている時間だけ課金するため、遅いクエリや上流API待ちで待機している間はCPUを消費しません。利用者は実行時間に対してのみ支払い、待機時間には課金されない仕組みです。

運用面の利点も整理されています。トラフィックの増減に応じて双方向にオートスケールし、フリート規模や同時実行数を見積もる必要がありません。git pushごとに固有のプレビューURLが発行され、ログやトレース、メトリクスは他のサービスと同じダッシュボードに集約されます。

高速起動も重視されています。Vercelはビルドしたイメージを最適化済みブートイメージとして圧縮スナップショット化し、起動時はそれをストリーミングしながら逐次展開します。イメージ全体のダウンロード完了を待たずにリクエスト処理を始められるため、サイズの大きいイメージでも初回応答が遅れにくい設計です。

同社は約10年前の初代プラットフォームでも単一コマンドでのDockerfileデプロイを掲げていましたが、当時は支える基盤が未成熟でした。今回はビルドやFunctions、Sandboxを支えてきた基盤の上でコンテナを第一級の存在として扱い、フロントエンドと同じ仕組みでバックエンドも一度のpushで出荷できる体験を目指すとしています。