このブログは、企業が直面する実際の問題例に関する新しいブログ シリーズの第 1 弾であり、概説した問題に Volterra の App Delivery Network (ADN) がどのように対処するかについて説明します。 このブログでは、世界中のオンライン企業が日々直面している Webapplicationパフォーマンスに関する重要な課題について詳しく説明します。 ほとんどの消費者が在宅勤務をしているため、この課題はさらに深刻化しています。 Volterra が、企業の Web アプリケーションを「Un-Distance」し、applicationを書き直すことなくapplicationパフォーマンスを 77% 向上させる方法について説明します。
Web アプリのパフォーマンスは通常、エンドユーザーが認識するページのコンテンツが表示されるまでにかかる時間によって測定されます。 Web 開発者は、First Contentful Paint、Largest Contentful Paint、Document Complete などのいくつかのメトリックを使用して、Web アプリのパフォーマンスを測定します。 このブログでは、Web アプリのパフォーマンスの指標として「ドキュメント完了」メトリックを使用しました。Web 開発者は、Web Page Test、Google Lighthouse、Rigor などのツールを使用してこれらのメトリックを測定します。
Web アプリのパフォーマンスがわずかに低下するだけで、ユーザー エクスペリエンスに大きな影響が及び、結果としてオンライン ポータルを通じた売上にも影響が及びます。 電子商取引大手の Amazon は、applicationのパフォーマンスが 1 秒低下すると、収益が 16 億ドル減少すると報告しました。 Akamai がこの少し古いレポートで報告しているように、複数の業種のオンライン企業でも同様の経済的影響が見られます。 Googleと Microsoft は同様の経済的影響の数値を報告しています。
このデータ ポイントは、Webapplicationのパフォーマンスがオンライン企業にとって最優先事項であることを明確に裏付けています。
電子商取引分野のオンライン企業の具体的な例を見てみましょう。 多くの電子商取引企業は、Webapplicationを 1 つまたは複数のデータ センターに配置していますが、これらのデータ センターは電子商取引企業のユーザーが居住するすべての国に存在しているわけではありません。 ユーザーがデータセンターとは異なる国/地域にいる場合、ユーザーからデータセンターまでのネットワーク遅延が大きくなり、ページの読み込み時間が約 6 ~ 12 秒遅くなります。 前述のように、ページの読み込み時間が 5 秒を超えると、直帰の確率は 90% に増加します。
図2に示すように、Webアプリのページ読み込みを分解してみましょう。
安全な SSL セッションを設定するためだけに 6 つのメッセージを送ることは、高遅延リンク (大西洋横断/太平洋横断リンクの可能性あり) を介して送信される場合、ページの読み込み時間に影響し、結果としてユーザー エクスペリエンスが低下します。
画像を圧縮したり、依存関係を最適化してページの読み込み時間を短縮するなど、applicationを最適化して Web アプリのパフォーマンスを向上させる手法は数多くあります。 多くの場合、application設計を推進するビジネス要件のため、これらの最適化は不可能である可能性があります。 これらの最適化が可能であるとしても、アプリを作成した開発者が組織にいなくなったり、新しいサービスの開発で忙しくなったりするため、実行可能なオプションではない可能性があります。 したがって、eコマース組織の DevOps チームは、applicationの変更を必要としないでアプリのパフォーマンスを向上できるソリューションを重視します。
Volterra は VoltMesh と VoltStack という 2 つの製品を提供しており、これらを Volterra の ADN と組み合わせると、applicationのパフォーマンスを最大 75% 向上させることができます (次のセクションのデモを参照)。 Volterra の VoltMesh 製品は、グローバルに分散されたネットワークおよびセキュリティ製品であり、Volterra の ADN 上に構成すると、applicationアクセラレーション機能も提供されます。 Volterra の VoltStack 製品は、分散applicationの展開とライフサイクル管理を提供し、ユーザーはapplicationsの一部を Volterra の ADN にオフロードして、applicationのパフォーマンスをさらに向上させることができます。
VoltMeshとVoltStackは、次の3つの方法でeコマース企業のWebapplicationのパフォーマンスに対処します。
Web アプリのパフォーマンスを向上させる最も簡単なソリューションは、Volterra の Global ADN で SSL セッション終了を実行することです。 SSL セッションを設定するための 6 つのメッセージ セットは、国内のグローバル ネットワークエッジにローカルに送信され、大西洋横断リンクや太平洋横断リンクを通過することはありません。 リモートの Volterraグローバル ネットワークサイトとオリジン サーバーの間で永続的な SSL セッションが確立され、パフォーマンスがさらに向上します。 これは図 3 のように視覚化できます。
パフォーマンスをさらに向上させるために、企業はアプリのレイテンシに敏感な部分を ADN に展開できます。 Web アプリのレイテンシの影響を受けやすい部分の例としては、Cookie 処理、graphQL、フロントエンドのバックエンドなどが挙げられます。 電子商取引企業の例では、通常、Cookie を処理して、ユーザーに表示するページを決定します。たとえば、ユーザーにアカウントがある場合はログイン ページを表示し、ない場合はゲスト ページを表示します。 当社の ADN で Cookie を処理すると、集中型 DC や地球の反対側にあるクラウドで Cookie を処理する場合と比べてパフォーマンスが大幅に向上します。 これは図 4 のように視覚化できます。
Macy’s、Home Depot、Target などの多くの商取引ベンダーは実店舗も持っており、消費者は実店舗内でオンライン製品カタログを閲覧し、商品の場所を確認したり、取引やクーポンにアクセスしたりすることができます。 ユーザー エクスペリエンスを向上させるために、Web アプリのフロントエンドのみを店舗内のコンピューティングに移動することもできます。 アプリの残りのすべてのコンポーネント、つまりデータベースは、フロントエンドの製品カタログほど頻繁にアクセスされないため、バックエンド データ センターに残しておくことができます。 これは図 5 のように視覚化できます。
この問題は、基本的に複数の異種クラウドにわたる分散コンピューティングの問題です。 DevOps チームは、パブリック クラウド プロバイダー、CDN プロバイダー、エッジ プロバイダーなどのさまざまなベンダーからの断片的なソリューションを寄せ集めて DIY ルートを進むことも、分散クラウド サービス プラットフォーム プロバイダーからパッケージ化されたソリューションを購入することもできます。 課題は図 6 に示されています。
ここでは、DevOps チームがソリューションを評価する際に考慮すべき主要なアーキテクチャの原則を示します。
次に説明するテスト セットアップは、前のセクションで説明した各 Volterra ソリューションによって提供されるパフォーマンスの向上を実証するために使用されました。
次の 4 つのシナリオがテストされ、各シナリオのパフォーマンスの向上について説明します。
ベースラインシナリオ: まず、図 8 に示すように、サンフランシスコのユーザーとパリのデータ センターで完全に実行される Web アプリのパフォーマンスをベースライン化します。 ベースライン シナリオの Web アプリのパフォーマンスは 3.5 秒と測定されました。
ソリューション 1 テスト シナリオ: ソリューション 1 のテストでは、ユーザーはまだサンフランシスコにおり、Web アプリはパリのデータ センターで実行されていますが、SSL セッションはサンノゼの Volterra ADN で実行されている VoltMesh リバース プロキシで終了します。 このシナリオを図 9 に示します。
VoltMesh は、サンノゼ PoP で実行されているリバース プロキシとパリ データ センターで実行されている Web アプリの間に永続的な SSL セッションを自動的に作成します。 Web アプリのパフォーマンスは2.9 秒に向上し、約 18%の向上が見られました。
ソリューション 2 テスト シナリオ: ソリューション 2 のテストでは、フロントエンドと通貨マイクロサービスがサンノゼの ADN にデプロイされます。 残りのマイクロサービスとデータベースは引き続きパリのデータセンターで実行されます。 このシナリオを図 10 に示します。
フロントエンドと通貨のマイクロサービスのみを移行する理由は、ユーザーの通常のブラウジング アクティビティ中にはこれらのマイクロサービスのみが関与するためです。 Web アプリのパフォーマンスは2 秒に向上し、ソリューション 1 の結果と比べて31%向上しました。
ソリューション 3 テスト シナリオ: ソリューション 3 のテストでは、フロントエンドと通貨マイクロサービスが、実店舗エッジのコモディティ Intel NUC (4 つの仮想コア) にデプロイされました。
フロントエンドと通貨のマイクロサービスのみを移行する理由は、実店舗のエッジでのユーザーの通常の閲覧アクティビティ中にはこれらのマイクロサービスのみが関与するためです。 Web アプリのパフォーマンスは0.8 秒に向上し、ソリューション 2 の結果より60%向上しました。
テスト結果の概要とその結果得られた経済的価値を図 12 に示します。 経済的価値は、秒単位の改善を組織に対する各秒の改善の価値で外挿することによって決定できます。 たとえば、Amazon では 1 秒の改善ごとに 16 億ドルの経済的価値があると評価しています。したがって、ソリューション 3 はベースラインに対して 43 億ドルの経済的価値をもたらします。