最先端の CDN で動的コンテンツを配信
従来の CDN では、コンテンツは静的と動的の2つの基本的なタイプに分類されていました。それぞれの使い方をより深く理解するために、2つの違いをご紹介します。
静的コンテンツとは?
静的コンテンツは「従来の CDN がキャッシュできるもの」と定義され、すべてのユーザーに対して同じであるため、高速に配信できます。
動的コンテンツとは?
動的コンテンツは「それ以外のすべて」と定義されています。つまり、各リクエストに対してサーバーで生成されるため、配信により多くの労力が必要となる可能性があります。
長い間、この区別はコンテンツそのものより CDN テクノロジーに関係があると信じられてきました。従来の CDN では、明確に定義された寿命の長いコンテンツのみが「静的」とみなされ、キャッシュ可能とされていました。しかし最先端の CDN は、キャッシュの無効化、リアルタイムメトリクス、エッジ配信といった機能を備え、以前は「動的」とされていたコンテンツもキャッシュできるようになりました。コンテンツが変わったのではなく、テクノロジーが変わったのです。
現在の課題
現在、パーソナライズされたコンテンツ (多くの場合「動的」と定義される) の重要性はますます高まっています。実際、Instapage の調査では、回 答者の74%がパーソナライズされていないサイトには不満を覚えると回答しており、オンラインショッピングの利用が増えている今、パーソナライゼーションの必要性はかつてないほど高まっています。
しかし、従来の CDN では、このような動的かつパーソナライズされた情報 (アカウント情報に基づいて選択された商品や地域固有の商品、変動する在庫データ、地域ニュースの見出しなど) をキャッシュすることはできません。つまり、従来の CDN を利用している組織の場合、オリジンへのトラフィックが多くなるため、レスポンス時間に遅延が生じるだけでなく、オリジンからの全レスポンスにかかるデータ送信コストを含め、インフラストラクチャの費用がより高額となります。
キャッシュ機能の性能以外にも、従来の CDN ではキャッシュされたコンテンツをエッジから配信しにくい理由がいくつかあります。
可視性 : オリジンから提供されるコンテンツはメトリックスに即座に表示されますが、従来の CDN の統計機能やログ機能は統合が難しく、データを得るまでに数分から数時間かかるこ とがあります。
一貫性 : 整合性を維持し、失効済みのコンテンツを返すのを回避するためには、ある1つのコンテンツを更新する際に他のコンテンツもパージする必要があることがよくあります。例えば、eコマースサイトでは、商品の説明を変更する際に写真や SKU も一緒に変更しなければならないケースが多いです。
コンテンツの混在 : GraphQL のようなキャッシュに配慮していないテクノロジーでは、ショッピングカートのような少量のパーソナライズされたコンテンツと、カートに入れられた商品の写真や説明文など、大量のキャッシュ可能なコンテンツが混在することがあります。
解決策
最先端の CDN では、リクエストに応じて変化する真に動的なコンテンツをオリジンではなくエッジから配信することができます。より多くのコンテンツをキャッシュするためのストレージプールとしても機能する大容量 POP を戦略的に配置し、よりエンドユーザーに近いところでコードを実行できるようにすることで、多くのオリジンリクエストを完全に排除することができます。
また、最先端の CDN はキャッシュを即時にパージできるインスタントパージ機能 (一部の CDN ではミリ秒単位で実行) や、すべてをパージする代わりに選択的にコンテンツをパージする機能を備えているため、企業は従来の CDN ではキャッシュできなかった多くのコンテンツをキャッシュできます。
また、最先端の CDN では統計情報とログにリアルタイムでアクセスし、API のパフォーマンスをプログラムおよびモニタリングできます。これらのメカニズムによりコンテンツ配信を強化し、パフォーマンスの改善、オリジンの負荷軽減、包括的なインサイトの提供など、組織のアプリケーションを多面的にサポートします。
エッジでのサーバーレスコンピューティングは、これをさらに進化させるものです。私たちは、コンテンツが静的か動的かにはとらわれず、すべてをエッジで構築し、限られたユースケースのみをオリジンにプッシュするエッジファーストの考え方を推進しています (これらユースケースの高速化については、今後の記事で詳しくご説明します)。
今後について
次世代のエッジ配信を見据え、Fastly が独自に開発したサーバーレスコンピューティング環境の Compute@Edge では、コンテンツのスティッチングが可能です。これにより、キャッシュとオリジンの両方から取得したコンテンツを任意に組み合わせて単一のレスポンスを作成し、エッジからできるだけ多くのコンテンツを提供しつつ、個々のユーザーに対するレスポンスをパーソナライズできます。Fastly の Chief Architect を務める Sean Leach が Altitude カンファレンスで行った Compute@Edge を使用して GraphQL コンテンツなどをステッチするデモの動画をご覧ください。
これは、最新の CDN とエッジベースのサーバーレスアーキテクチャが、より動的なコンテンツを提供し、ユーザーエクスペリエンスを向上させる方法のほんの一部に過ぎません。また、最先端の CDN を使用することで何ができるか興味のある方は、最先端の CDN 導入ガイド : 今日の開発者に必要なセキュリティとパフォーマンスをご覧ください。