従来のサーバレスよりさらに高効率で高速な「Fluid Compute」、Vercelが提供開始
今回は「従来のサーバレスよりさらに高効率で高速な「Fluid Compute」、Vercelが提供開始」についてご紹介します。
関連ワード (起動、非効率、高速化等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Next.jsなどの開発で知られるVercelは、従来のサーバレスの利点を備えつつ、さらに高効率で高速な「Fluid Compute」の提供を開始したと発表しました。
Fluid: fast, cost-efficient compute.
What you love about servers—combined with the best parts of serverless.https://t.co/GF2BZ5d3Gy
— Vercel (@vercel) February 4, 2025
サーバレスにはまだ非効率なところがあるとVercel
サーバレスコンピューティングは一般に、あらかじめ登録されていた関数のコードを、何らかのイベントをきっかけにしてコンテナとして起動し、コードの実行が終了すればコンテナごと終了するという仕組みです。
これにより、イベントが何も発生していないときにはコンテナの実行はゼロとなり、大量のイベントが発生した場合にはそれに応じて大量のコンテナが実行されて処理をさばくことにより、効率的かつスケーラブルなコンピューティングリソースの消費を実現できることになります。
このように従来のサーバレスでは、イベントによりコンテナが起動し、そこで関数のコードが実行されることになります。

しかしVercelはこの従来のサーバレスの仕組みには、まだ非効率な点があるとしています。
具体的には、イベントによって起動したコンテナが例えばデータベースのクエリを行って結果を待っているときのアイドルタイムなど、コンテナ実行中のアイドルタイムの間は、コンピューティングリソースは無駄に待っていることになるとしました。
1つのインスタンスで複数の関数コードを実行
そこでFluid Computeでは、1つのコンテナのインスタンスにおいて複数の関数のコードを実行できるようにしています。

同社はこれを「In-function concurrency」と呼んで、次のように説明しています。
In-function concurrency enables a single Vercel Function to handle multiple invocations simultaneously, optimizing resource usage and turning efficiency gains into savings.
In-function concurrency(関数内並行処理)により、1つのVercel関数で複数の呼び出しを同時に処理できるため、リソースの使用が最適化され、効率化によるコンピューティングリソースの節約となります。
複数のリクエストを1つの同じインスタンスで処理することで、コールドスタートが減り、アイドルタイムの削減にもつながります。
これ以外にも、Fluid Computeでは関数コードを事前にコンパイルすることで起動をさらに高速化するバイトコードキャッシング、インスタンスプールなどの高速化の仕組みが備わっています。
Fluid ComputeはVercelが提供するサーバレスの仕組みである「Vercel Functions」で提供が開始されており、既存のコードを変更することなく利用可能とされています。