Vercelが任意のDockerfileを直接デプロイ対応
提供される価値
詳細を読む
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で出荷できる体験を目指すとしています。