定義
Edge Functionとは、単一のオリジンサーバーではなく、訪問者に地理的に近いCDNのエッジロケーションで実行されるサーバーサイドコードです。Cloudflare Workers、Vercel Edge Functions、Netlify Edge Functions、Deno Deployといったプラットフォームは、世界中の数百のポイントオブプレゼンスにおいて軽量なV8アイソレートまたはDenoランタイムでコードを実行するため、簡単なパーソナライズ、リダイレクト、認証チェック、A/Bテストのルーティングのために中央のオリジンまで往復する必要がありません。デプロイは通常、数秒でグローバルにプッシュされる小さなJavaScriptまたはWebAssemblyモジュールとして行われます。この速度と引き換えに、ランタイムには制約があります。Edge Functionは完全なNode.js APIを使用できず、時間制限があり(プランによって数秒以下のCPU時間が一般的)、従来のサーバーレス関数と比較してメモリの上限も小さく、一般的に128MB以下です。これらは、毎回のリクエストで実行される遅延に敏感なロジックに適しており、重い計算処理、長時間のジョブ、大規模な依存関係ツリーには適していません。
利用方法
Edge Functionは、CDNからキャッシュされたコンテンツを提供するのと同じサーバー群で実行されます。コードは通常、小さなJavaScriptまたはWebAssemblyモジュールとしてデプロイされます。一般的な用途には、URLの書き換え、パーソナライズの挿入、認証トークンのチェック、地理的ルーティング、画像最適化トリガーなどがあります。
重要な理由
認証、A/Bルーティング、エッジでのパーソナライズなど、遅延に敏感なロジックにおいて、Edge Functionはオリジンへの往復を排除し、グローバルにTTFBとCore Web Vitalsを改善します。重いバックエンド処理には、従来のサーバーレスや実際のサーバーの方が依然として適しています。