AWS、エッジにおけるJavaScript実行環境に本格参入。Cloudflare WorkersやDeno Deployなどと競合へ
Amazon Web Services(AWS)は、エッジ環境で軽量なJavaScriptによる処理を実行可能な新サービス「Amazon CloudFront Functions」を発表しました。
AWSではすでにエッジで処理を行う「Lambda@Edge」を提供しており、そこでNode.jsとPythonによるコードを実行可能です。
しかしLambda@Edgeは13カ所のリージョナルエッジキャッシュにおいて処理が行われるのに対し、CloudFront Functionsは218カ所以上のCloudFront Edge Locationsにおいて処理が行われるため、よりユーザーに近い広範囲なロケーションで実行されます。
また、実行時間もLambda@Edgeが最大で5秒以内(ビューワによるトリガー)もしくは30秒以内(オリジンによるトリガー)なのに対して、CloudFront Functionsでは1ミリ秒以内と非常に短い時間でレスポンスを返すことが大きな特徴となっています。
その分、CloudFront FunctionsはECMAScript 5.1対応のJavaScriptランタイムのみをサポートし、メモリは2MB、パッケージサイズは10KBなどの制限があります。
CloudFront Functionsのユースケースとしては、画像変換のような一定のコンピューティングリソースを要求し時間がかかりそうな処理ではなく、URLの書き換えやCookieの処理などの軽量かつ短時間で済むものが想定されています。
Lambda@Edgeがどちらかといえばクラウドの処理をオフロードするような用途であるのに対し、CloudFront FunctionsはCDNのエッジにおいてユーザーの近くで行われる軽量な処理に向いているといえそうです(今後、実行環境は順次強化されていくと思われますが)。
エッジで進むJavaScript実行環境に、AWSも参入
CloufFront Functionsに似たサービスは、CDNプロバイダのCloudflareが、127カ所(発表時点)のCDNのエッジにJavaScriptのコードを配置し実行できる「Cloudflare Workers」としてすでに提供しています。
Cloudflare Workersは、その名称にあるようにService WorkerのAPIを備えています。
Node.jsの作者でありDenoの作者でもあるライアン・ダール氏が立ち上げた「Deno Company」も、グローバルに分散した環境でJavaScriptを実行するサービス「Deno Deploy」を試験的に提供しています。
Deno DeployもService Worker APIを備えているほか、TypeScriptやWebAssemblyにも対応します。
Fastlyも、CDNのエッジでの処理のために「Compute@Edge」と呼ばれるサービスを提供しています。同社はCompute@EdgeでAssemblyScriptに対応。WebAssemblyによる処理の実行を計画しており、そのためのWebAssemblyランタイムなどを積極的に開発しています。
このようにエッジにおいてJavaScript/TypeScript/WebAssemblyを用いた軽量な実行環境の提供が始まっており、そして今後5Gに代表されるレイテンシが小さく高速な通信網が普及するにつれて、その性能を生かすためにエッジで処理を行うニーズも高まってくると予想されます。
今回、AWSが発表したCloudFront Functionsもそうしたニーズを想定し、各社から登場してきているエッジにおけるJavaScript系ランタイムに対して、AWSが参入することを示したように見えます。
あわせて読みたい
クラウドインフラ市場、AWSのシェアトップは変わらず。アリババ、Tencent、Baiduら中国勢が高い成長を見せる。2021年第1四半期、Synergy Research Group
≪前の記事
マイクロソフトが無償でJava長期サポート/著作権訴訟でGoogleがオラクルに勝訴/Google、ノーコードで業務用ボット「AppSheet Automation」ほか、2021年4月の人気記事