エッジでリアルタイムの可能性を解き放つ
Fastly は先日、Fanout を買収したことを発表しました。この買収は、Fastly のスケーラブルな WASM ベースのサーバーレス・コンピューティング・サービスである Compute@Edge 上で、リアルタイムの Web 機能を実現することを目的としたものです。今回は、Fastly と Fanout の統合に大きな進展があったことを発表します。統合の第一段階は、Compute@Edge プラットフォームに WebSocket のサポートを追加することでした。WebSocket のサポートにより、お客様はコンテンツ配信に使用するドメインに実装された WebSocket でオリジンを使用できるようになります。近い将来、Varnish プラットフォーム上で WebSocket を使用できるようになります。そして本日、Compute@Edge プラットフォーム上でプライベートベータ版 Fanout をリリースしました。Fanout は一対多のプッシュ機能を追加することで WebSocket のリアルタイム機能をさらにレベルアップさせ、さらに、HTTP 上のデータのプッシュを可能にします。詳しくは、以下の説明をご覧ください。
コンピューティング + リアルタイムundefined
リアルタイムのテクノロジーが重要である理由について、そして Fastly の高速かつ安全でスケーラブルなサーバーレスコンピューティングへのアプローチにより、あらゆるアプリケーションやバックエンドサービスと連携する複雑なロジックを、Compute@Edge プラットフォームを使用してデプロイして実行することの利点については、以前お伝えしました。この2つのアイデアを融合すると、素晴らしい可能性が生まれます。Fanout とその根底にあるテクノロジーが Compute@Edge とどのように連携するのかをご説明します。
Fastly Fanout は、Pushpin と Compute@Edge のアプリケーションの組み合わせとして実装されます。エンドユーザーが Fastly にリクエストを送信すると、Compute@Edge のアプリケーションがそのリクエストを受け取り Pushpin に送信します。次に Pushpin は、そのリクエストを Compute@Edge のアプリケーションや既存の HTTP オリジンなどの設定済みのバックエンドに転送します。リクエストが WebSocket の場合、Pushpin はリクエストをバックエンドに送信する際にクライアントのアクティビティを一連の HTTP リクエストに変換します。バックエンドは接続の際にリッスンするチャンネルを選択できます。次にバックエンドは Fastly API にメッセージを POST できます。このメッセージはチャンネルをリッスンしている接続済みのクライアントに転送されます。Pushpin はチャンネルのサブスクリプションへのクライアント接続のマッピングを維持します。将来的には、Compute@Edge をアウトバウンドメッセージ処理に使用したいと考えています。
期待される利点undefined
仕組みについて分かったところで、このテクノロジーで実現できることを見ていきましょう。1日に1.4兆以上のリクエストに対応する 198 Tbps のエッジクラウドプラットフォーム上で機能する Fastly Fanout は、従来のリアルタイムの開発体験を、以下の通り向上させます。
Fanout は実装に依存しないお客様独自の Web API とデータを交換できます。ご自身のドメイン、認証トークンなどを使用してください。
Fanout はバックエンドサーバーでクエリを実行してデータの欠落をチェックすることで、完全にエンドツーエンドな信頼性の高い配信を実現できます。
複雑で高価な WebSocket やリアルタイムのアプリ開発専用のその他のプッシュ型プロトコル・メッセージング・インフラを維持する必要はなく、既存の HTTP オリジンを使用できます。
つまり、Fanout はリバースプロキシとメッセージブローカーの特徴を併せ持つため、API スタックをビジネスロジックに活用しながら、リアルタイムのプッシュ型システムの複雑さと負荷を軽減できます。受信者はリクエスト/レスポンス形式のエンドポイント (例 : REST) に対して行うのと同様に、プッシュ可能なエンドポイントをシームレスに認証します。これにより API がさらに使いやすくなり、より短時間で統合できるようになります。
現在、Compute@Edge プラットフォームでは WebSocket と Fanout のベータ版が入手可能です。CDN と同じドメイン上の WebSocket を使用したバックエンド移動から、アラートやソフトウェアアップデートなど、IoT センサーを使用したさまざまな種類のメッセージ通信まで、お客様のリアルタイムのユースケースのすべてに対応できます。
目標は、undefinedエッジでのリアルタイムな対応
これは、エッジでのリアルタイム通信の活用を実現するための取り組みの始まりにすぎません。エンドユーザーはリアルタイムのアプリケーション操作を期待しており、すべてのお客様がその期待に応えられるよう注力していることを私たちは知っています。Fastly が、リアルタイムのエッジ機能の可能性をフル活用できるよう尽力しているのは、こうした理由からです。Fastly インフラへの Fanout の統合を進める一方で、Fastly では、以下の目的で使用できる、すぐにデプロイとカスタマイズが可能な Compute@Edge のコード例を提供し、最善の開発者エクスペリエンスを実現することに注力していきます。
接続の許可とチャンネルのサブスクリプション : これは、初回のリクエストに基づき最新情報をリアルタイムで得るため、エンドユーザーをチャンネルに登録するのに必要な手順のようなものです。
オリジンサーバーのデプロイ : すべてのユースケースをテストする効率的なサーバーレスオリジンを作成するためのコードです。
私たちは、開発者が最高品質の Web を開発できるよう尽力しています。そのため、お客様がすべてのユースケースをテストして利点を見つけられるよう、無料会員のステータスを提供します。さらに、Developer Hub ではインタラクティブなデモも提供しています。このデモでは Fanout が WebSocket を使用して質問と回答をライブボード上に反映する様子を体験できます。
Fastly を試してみませんかundefined
Fastly を試してみませんか? すでに Fastly をご利用中のお客様の場合、WebSocket または Fanout のベータ版に登録するには、担当のアカウントマネージャーまたは support@fastly.com にお問い合わせください。まだ Fastly とお取引がない場合は、こちらのフォームに入力してください。ご希望のユースケースについて詳しくお話を伺うため、プロダクトチームから折り返しご連絡いたします。