ITmedia NEWS > 製品動向 >

AWS、エッジにおけるJavaScript実行環境に本格参入 CloudflareやDenoなどの競合に

» 2021年05月07日 17時31分 公開
[新野淳一ITmedia]

この記事は新野淳一氏のブログ「Publickey」に掲載された「AWS、エッジにおけるJavaScript実行環境に本格参入。Cloudflare WorkersやDeno Deployなどと競合へ」(2021年5月7日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。

 Amazon Web Services(AWS)は、エッジ環境で軽量なJavaScriptによる処理を実行可能な新サービス「Amazon CloudFront Functions」を発表しました。

 AWSではすでにエッジで処理を行う「Lambda@Edge」を提供しており、そこでNode.jsとPythonによるコードを実行可能です。

 しかしLambda@Edgeは13カ所のリージョナルエッジキャッシュにおいて処理が行われるのに対し、CloudFront Functionsは218カ所以上のCloudFront Edge Locationsにおいて処理が行われるため、よりユーザーに近い広範囲なロケーションで実行されます。

photo クライアントに近い左側の3つがCloudFront Functionsが実行される「Edge Location」で、オリジンに近い右側が「Regional Edge Location」

 また、実行時間もLambda@Edgeが最大で5秒以内(ビューワによるトリガー)もしくは30秒以内(オリジンによるトリガー)なのに対して、CloudFront Functionsでは1ミリ秒以内と非常に短い時間でレスポンスを返すことが大きな特徴となっています。

 その分、CloudFront FunctionsはECMAScript 5.1対応のJavaScriptランタイムのみをサポートし、メモリは2MB、パッケージサイズは10KBなどの制限があります。

photo

 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が参入することを示したように見えます。

Copyright © ITmedia, Inc. All Rights Reserved.