ライムライトはこれまで、プレミアリーグフットボールクラブやディズニーBYJUなどの、世界最大級の動画配信サービスの立ち上げと成長を支援してきました。そして今回、Layer0の買収後最初の新ソリューションを提供することに決定しました。Layer0 by Limelight は、エッジでのロジックをアプリケーションコードに統合することで開発ワークフローを効率化し、エッジをブラウザまで拡張することで、ページロードを1秒未満に短縮する新ソリューションです。
Layer0は、ユーザーがリクエストする前にデータを先読みしてブラウザにあらかじめデータを送り込み、95%ものキャッシュヒット率を実現します
CDNの仕事は、可能な限り高頻度かつユーザーの近くでエッジからデータを供給することです。驚くべきことに、CDNは20年以上前に開発された技術でありながら、今だにこれら両方の面で改善の余地があるのです。開発速度を向上させ最速のサイトを実現するために、開発チームは、CDNをスタックに組み込む方法を再考する必要があります。
ほとんどのウェブサイトでは、CDNは静的なデータのキャッシングに使われています。静的データとは、画像、CSS、JavaScriptなど、ほとんど変化せずアプリケーションロジックに依存しないアセットのことです。しかし、動的データやHTML、あるいはAPIのデータがキャッシュされることはほとんどありません。それは、これらのデータをキャッシュできるかどうかはアプリケーションのロジックに依存しているからです。現在のCDNは開発者のワークフローから切り離されており、開発チームがそれを使用し、デバッグし、メンテナンスすることが困難になっています。
通常開発チームは、フロントエンドコード、バックエンドサーバー、データベースからなる「スタック」を持っており、それらを使ってローカルに開発を行い、ソフトウェア開発のライフサイクル(QA、ステージングなど)を経て本番稼動に至ります。しかし残念ながら、CDNを含む一部のスタックはこれに関与していません。CDNがソフトウェア開発プロセスに組み込まれるのは、サイトが本番稼働する最後の段階になってからです。これではエッジを活用してアプリケーションを高速化することはできませんし、スタックの他の部分(フロントエンドコード、サーバーサイドコード、データベーススキーマ)も同様です。
例えば、サーバーコードの変更を行わなければならないのに、開発は本番環境でしかできないと言われたら、それはおかしいと思うのではないでしょうか。しかし、エッジに関して現在、私たちが開発者に求めているのはそういうことなのです。サイトに影響を与えるリスクが高く、CDNの設定変更によりオーバーヘッドが発生する危険があることを考えると、基本的に動的データに対してはエッジを無視せざるを得ません。
これに対してLayer0では、開発プロセス全体を通してエッジロジックのテスト、レビュー、バージョン管理を行うことができます。つまり、ローカルでエッジを使った開発を行い、アプリケーションコードに結びついた動的データに対して高いキャッシュヒット率を確保することができるのです。EdgeJSはJavaScriptベースのパフォーマンスに優れた宣言型のエッジ設定言語であり、フレームワークに依存しないため、エッジの管理がさらに容易になります。EdgeJSはフロントエンドアプリケーションに組み込むことができ、宣言型であるため、開発者はすべてのロジックを記述するのではなく目標を記述するだけで済みます。これにより、使用して保守することが簡単になります。
これでCDNは、実質的に開発プロセスのファーストクラスオブジェクトになります。その結果、より多くのデータがキャッシュされるだけでなく、プラットフォームを利用するチームの生産性も向上します。Universal Standard社の技術責任者であるJustin Metros氏は、有名なウェブ開発者向けカンファレンスであるJamstack Conn 2021において「Layer0のおかげで開発速度が劇的に向上しました。」と、Layer0が開発者のアジリティとウェブサイトのパフォーマンスに貢献したことを紹介しています。また別の開発者は、「これこそが私が必要としていたものです。しかし、使ってみるまでそれに気がついていませんでした。」と言っています。利便性、表現力、信頼性に優れたこのプラットフォームは、開発チームに愛されるCDNとなっています。
CDNでは、エッジからのデータをできるだけ高頻度で提供することに加えて、できるだけ速く供給することも求められます。(技術的には、可能な限り低い遅延でデータを供給する必要があるということですが、ここでは距離と遅延がほぼ相関していると仮定します)これまでのCDNでは、POP(Point of Presence)と呼ばれる地理的に分散したキャッシュノードにコンテンツをキャッシュしていました。
他のCDNと同様に、ライムライトも多くのPOPを設置しています。実際、ライムライトは世界各地に135以上のPOPを持っており、これは世界第2位のPOPネットワークです。そのため、POPがお客様のユーザーの近くに存在する可能性が非常に高くなります。Layer0 by Limelight では、これらのPOPが通常のCDNの機能を超えて、相互にデータを調整します。あるPOPがデータを持っていない場合、リクエストがオリジンサーバーに送信される前であっても、他のPOPにデータをリクエストするという能力を有しています。
これがどのように役立つかを理解するために、米国の例を見てみましょう。米国では通常、東海岸が西海岸よりも先に活動を開始します。東海岸のPOPではキャッシュが先行してウォームアップされますが、西海岸のPOPはユーザーが本格的に活動を開始するまでキャッシュはコールドなままです。POP間の調整があれば、西海岸のキャッシュがウォームアップし始めたときに、東海岸のトラフィックパターンを利用できます。
またライムライトは、CDNの中でも独自のプライベートバックボーンを運用しており、この点が大きな特徴です。つまり、トラフィックをルーティングする際に混雑した公共のインターネットを経由する必要がなく、独自のプライベートネットワークを活用することで、データ転送をより速く、より安全に行うことができるのです。
こうした、既に高い効率を達成しているネットワークでも、今以上にユーザーに近づけることが可能です。それを実現できるのが、Layer0なのです。最新のブラウザ技術、特にサービスワーカーのおかげで、ライムライトのプラットフォームはユーザーデバイス上のキャッシュをプログラムで直接制御することができます。Layer0は、このサービスワーカーの技術を利用して、ユーザーがリクエストする前にブラウザにデータを送り込みます。
この技術はプレディクティブプリフェッチ(予測的先読み)と呼ばれていますが、一般的にはいくつかの注意点があります。この技術は管理やメンテナンスが特に難しく、ブラウザからオリジンへより多くのデータを要求するため、サーバーに過剰なトラフィックが発生する可能性があります。この余分なトラフィックは、コストを増加させたり、さらに悪い場合はオリジンサーバーをダウンさせる可能性があります。しかしLayer0に統合された先読み機能は、予測トラフィックよりもユーザートラフィックを優先して処理するようになっており、EdgeJSの設定を理解します。これにより、データはライムライトのPOPからのみストリーミングされ、オリジンサーバーに追加の負荷をかけることはありません。
これらの技術を統合されると、まるでネットワークが突然無限の帯域幅を手に入れ、遅延がまったく無くなったかのように感じます。動的データはPOPにキャッシュされるだけでなく、ユーザーがリクエストする前にデバイスに送り込まれます。ページの読み込みは400ミリ秒という短時間に行われ、これは文字通り「瞬く間」です。このスピードの違いは、「どれくらい速いか」という程度の問題ではなく、まったく次元の異なる速さなのです。
eコマースサイトでは、トラフィックと収益が増加し、直帰率が低下
ファッション系の小売企業であるShoe Carnival、Universal Standard、Akira’sは、Layer0を利用してページロード時間をそれぞれ92%、91%、71%改善し、顧客はその違いを実感しています。パフォーマンスの向上により、顧客の購買意欲も高まりました。Shoe Carnival社では売上が40%増加し、Akira社ではオーガニックトラフィックが30%増加し、Universal Standard社では直帰率が40%低下しました。Sharper Image社のCOOであるSam Grossman氏は次のように述べています。「私たちのサイトは非常に速いと誰もが言いますが、それはLayer0のおかげなのです。」
このような作業を自分たちだけで行うのは難しく、それを大規模に実現するのはさらに難しいでしょう。Layer0 by Limelight は、このようなチームの生産性とページスピードの劇的な向上を、すべてのウェブサイト、特に大規模で動的なデータを扱うウェブサイトに提供するために開発されました。さらに、最新のフレームワークを使用しているサイトのために、EdgeJSはReact、Angular、Vue、Next.js、Nuxt.jsなどのフレームワークとの統合を用意しており、Layer0プラットフォームには、サーバーレスJavaScriptなど、ヘッドレス化に必要なすべての機能が含まれています。これにより大規模な動的ウェブサイトで、開発者の生産性、セキュリティ、パフォーマンスを向上させるために、これまで静的ウェブサイトでしか利用できなかったJamstackアーキテクチャを活用することができます。
docs.layer0.coの開発者向けドキュメントをご覧ください。また、https://app.layer0.co/signupで、このプラットフォームを無料でテストすることができます。
Layer0 by Limelight について、さらに詳細を知りたい場合やご質問がございましたら、ぜひこちらよりご連絡ください。