Compute による JavaScript サポート強化のお知らせ

Fastly では当初より、JavaScript 仮想マシーンを WebAssembly サンドボックス内で実行することで優れた安全性とパフォーマンスを発揮する JavaScript SDK を構築してきました。Compute は分離技術を用いてプラットフォームを通過するリクエストごとにマイクロ秒単位でサンドボックスを作成して破棄します。このテクノロジーにより、スケーラビリティとパフォーマンスを損なうことなく、全体的に攻撃対象領域を最小化し、プラットフォームを通過する他のリクエストからコードを完全に切り離すことができます。

この JavaScript SDK のベータ版 (Beta) では、特定のアプリケーションワークロードにおいて Compute 上の JavaScript のパフォーマンスは他社のプラットフォームとレベルでしたが、Fastly の Rust SDK に比べると劣っていることが分かりました。そこで Compute に改良を加え、JavaScript のランタイムのパフォーマンスを大幅に改善したほか、同プラットフォームの全体的な開発エクスペリエンスの向上を実現しました。

今回は、これらの改良を経て本番環境での使用に完全に対応可能になった JavaScript SDK の最新バージョンをご紹介します。それでは改善点について詳しく見てみましょう。

コンピューティングパフォーマンスの改善

お客様のコードを実行する際のパフォーマンスを改善するため、いくつかの重要な変更を実施しました。例えば Lucet WebAssembly ランタイム から、この2年間に多くのパフォーマンス最適化が施されてきた Wasmtime に切り替えました。 

また、ワークロードをスケジュールするより効率的なメカニズムを開発し、スケジューリングに必要なオーバーヘッドを大幅に削減しました。この変更は JavaScript のパフォーマンスにおいて特に重要で、ほとんどの JavaScript ワークロードにおいてパフォーマンスが倍に改善されます。

サービスインスタンスの作成に必要なオーバーヘッドを削減

パフォーマンスを最大限に高めるには、コードをできる限り速く実行することに加えて、リクエストの受信後、いかに速くコードの実行を開始できるかが決め手となります。そこで今回、Compute プラットフォームを大幅に改善し、新しいサービスインスタンスの作成に必要なオーバーヘッドを削減しました。これにより、最初の1バイトが到着するまでの時間 (TTFB) が短縮されました。

インスタンス化時間のばらつきを軽減

サービスがしばらく使用されていない場合に、オペレーションシステムがメモリの解放を処理する方法も強化しました。今回加えた変更により、1回目以降のサービスインスタンス化の遅延が大幅に解消されました。 

その他の追加機能

上記の変更により、Compute プラットフォーム全体と JavaScript SDK が改善されただけでなく、その他のサポート言語にもメリットがもたらされました。さらに、JavaScript 開発者のエクスペリエンス向上に向けて以下の新しい機能を最新リリースに追加し、本番環境での使用に完全に対応できるようにしました。

ぜひお試しください

開発者の皆さんは JavaScript SDK を使用して Compute でパフォーマンスが高く、興味深いユースケースを実現しています。ある eコマース企業のお客様は、エッジからリダイレクトを配信することでオリジンサーバーの処理負荷を排除し、非常に優れたパフォーマンスを維持した結果、SEO ランキングが向上しました。また、あるメディア配信企業のお客様はダイナミック広告挿入をオンザフライで行い、レイテンシが少なく、高度にパーソナライズされたエクスペリエンスをエンドユーザーに提供しています。

JavaScript SDK の使用について詳しくは、Fastly のドキュメントDeveloper Hubサンプルコードをご覧ください。Fastly のサーバーレスプラットフォームをまだご利用でないお客様は、ぜひ無料トライアルで Compute実際に試しください

Christine Cole
Senior Product Manager
投稿日

この記事は3分で読めます

興味がおありですか?
エキスパートへのお問い合わせ
この投稿を共有する
Christine Cole
Senior Product Manager

Christine Cole は Fastly の Senior Product Manager として Compute@Edge を担当しています。Fastly 入社以前は、さまざまなデータ・プラットフォーム・プロダクトの開発を指揮し、CDN や Signal Sciences 向けに興味深いビッグデータ処理の課題に取り組みました。余暇にはオーディオブックを聴きながら海岸をジョギングしたり、興味をそそるレシピを考案したり、いろいろ工夫を凝らして子供たちを楽しませています。

Fastly試してみませんか ?

アカウントを作成してすぐにご利用いただけます。また、いつでもお気軽にお問い合わせください。