エンドユーザーのアプリケーション体験を最適化:変化する環境

はじめに

誕生以来、インターネットは技術の進歩と市場の力を原動力として、アプリケーションデリバリープロセスを改善し、双方向性を高めながら、ますます短いサイクルで進化してきました。企業や政府機関は、ユーザーの期待や競争圧力に対応し続ける必要があります。ユーザーエクスペリエンスを妨げていた従来の技術(Adobe Flash、HTTP/1.xなど)は廃れ、ユーザーエクスペリエンスをより重視した新しい技術(HTML5など)が主流となっています。

本書では、2017年以降の運用と計画に向けてIT部門が把握しておくべき、ユーザーエクスペリエンスに影響を及ぼす最近の変化の一部を定量的に示します。

  • コンテンツ配信ネットワーク(CDN)の普及
  • データセンターおよびサービスプロバイダーのネットワークアップグレード
  • より高速な「ラストマイル」およびモバイルアクセス
  • パフォーマンス向上を目的に設計された最新のHTTPプロトコル
  • クライアントとサーバーの関係の進化

あらゆる場所に広がるCDN

CDNベンダーは、ユーザーへのコンテンツ配信時のレイテンシー(多くの場合約30 ms)を低減するため、主に人口集中地域の近くで運用するポイントオブプレゼンス(PoP)の数を急速に増やしてきました。以下は、コンテンツを迅速に配信できるよう世界各地にインフラストラクチャを構築している、特に広く利用されているCDNの一覧です。.1

図1:主要なCDNベンダーと拠点

CDNが運用するPoPの数を増やし、ユーザーとの距離を縮める一方で、アプリケーションのユーザーベースがグローバル化したことに伴い、WebサイトのCDNへの依存度は高まっています。2015年3月には、インターネット上で利用可能なHTMLコンテンツの11%がCDNでホストされていました。2  2016年にはその割合が17%に上昇し、2017年3月時点では、CDNでホストされるHTMLコンテンツは20%に達しました。2年足らずで、CDNでホストされるHTMLコンテンツの量はほぼ倍増しました。この傾向により、ユーザーへのコンテンツ配信のレイテンシーが大幅に短縮されています。

データセンターおよびサービスプロバイダーのネットワーク強化

10G/40G/100G Ethernetポート(およびそれに対応する大容量のスイッチとルーター)の導入により、企業ネットワーク、WAN接続、リモート拠点のエンドポイントにおけるインターネットパフォーマンスが大幅に向上しました。今後4年間で、企業およびサービスプロバイダーのネットワークでは25Gおよび100G接続へのアップグレードが引き続き進み、帯域幅容量は2015年比で約5倍に拡大する見込みです。3

図2:10GEは依然としてポートの主流

データセンターとエッジインフラのアップグレードへの投資により、クライアントに向かうアプリケーショントラフィックにとって、サービスプロバイダーのネットワークや企業のデータセンターがボトルネックとなる問題が緩和されました。

より高速な「ラストマイル」とモバイルアクセス

競争の激化に伴い、世界各地のインターネットサービスプロバイダー(ISP)とモバイル通信事業者は、「ラストマイル」(顧客に接続を提供する通信ネットワークの最終区間)およびモバイルユーザー向けのダウンロード速度を向上させてきました。以下のグラフは、米国、アジア、欧州における2015年のISPのダウンロード性能を示しています。4

米国

図3:州別の平均接続速度
図4:州別の平均ピーク接続速度

アジア

図5:APACの国・地域別平均接続速度
図6:APACの国・地域別平均ピーク接続速度

ヨーロッパ

図7:EMEA各国の平均接続速度
図8:EMEA各国の平均ピーク接続速度

世界各地で、インターネット接続の「ラストマイル」は以前より大幅に高速化しており、現在利用可能な帯域幅は、Webアプリケーションのユーザーエクスペリエンス向上に貢献しています。

パフォーマンス向上を目的に設計された新しいHTTPプロトコル(HTTP/2)

The development of the HTTP/2仕様の開発は、主にHTTP 1.xのパフォーマンス上の問題を背景に進められました。2012年、GoogleはWebコンテンツ配信を最適化し、従来のHTTP 1.1プロトコル設計における非効率性の解消を図るため、SPDYを開発し、普及させました。HTTP/2はSPDYを基盤とし、HTTP/1.1との互換性を維持しながら、主にレイテンシとTCP接続数の削減に重点を置いています。

パフォーマンスの向上を目的として、HTTP/2プロトコルには次の変更が加えられています。

  • 多重化:単一のTCP接続で複数の通信を可能にします(SPDYが実現した機能と同様です)。
  • ヘッダー圧縮:同じヘッダー(Request URL、User-Agent、Cookiesなど)を繰り返し送信する際の冗長性を低減します。
  • サーバープッシュ:リクエストされたコンテンツとソースの依存関係(JSファイルやCSSファイルなど)に基づき、サーバーからエンドポイントへコンテンツをプロアクティブにプッシュできます。
  • リソースの優先順位付け:重み付けと依存関係を使用し、タイプやコンテンツに基づいて配信の優先順位を設定することで、配信とレンダリングを最適化します。

2015年半ばにIETFがプロトコル仕様を承認した後、主要なWebブラウザベンダーはHTTP/2対応の導入スケジュールを発表しました(下表参照)。

図9:ブラウザベンダーによるHTTP/2のサポート

エンドポイントのWebブラウザからWebサーバーへのHTTP/2リクエストは2016年初頭に始まり、新仕様に対応したWebブラウザのリリースと普及に伴って増加してきました。更新されたWebブラウザは、まずHTTP/2でWebサーバーにリクエストを送信し、ネゴシエーションによってHTTP/1.xにフォールバックします。以下の図は、世界中のWebサイトにおけるHTTP/2通信(サーバーとエンドポイント間)の増加を詳しく示しています。5

図10:WebサーバーへのHTTP/2リクエストの増加

HTTP/2仕様の機能強化により、HTTP/1.xベースのインフラストラクチャと比べてパフォーマンスが80%~1,000%向上します。仕様の変更が実環境のパフォーマンスにどのような影響を与えるかを確認するには、Anthumが提供するHTTPとHTTPSの簡単な比較テストを実行してください。このテストでは、2つのプロトコルバージョンの違いを確認できます。

クライアントとサーバーの関係の進化

こうしたインフラストラクチャとプロトコルの改善に加え、アプリケーションの実際の構成も変化しています。従来のアプリケーションでは、すべてをクライアントに「プッシュ」していたため、かつては「フロントエンド」の高速化が必要でした。一方、最新のアプリケーションでは、2つの主要コンポーネント(クライアントとサーバー)に処理が分散されており、API経由でもブラウザ経由でも、アプリケーションとのデータ交換の90%が小さなデータ単位で行われています。

初回ロード後に配信される「コンテンツ」はごくわずかです。プレゼンテーション層(UI)の大部分は、クライアント側のJavaScriptライブラリ(JQuery、Angularなど)で操作できます。そのため、フロントエンド高速化技術の主な対象であるレスポンスデータは、量が大幅に減少し、形式もHTMLではなく、主にJSONまたはXMLになっています。

図11:アプリケーションアーキテクチャの進化と、クライアントとサーバーの役割分担への影響

このアーキテクチャの変化により、現在のアプリではHTMLが占める割合が減少する一方、その他の構成要素が占める割合は増加しています(下図参照)。6

図12:コンテンツタイプ別のページ構成(KB)

開発者がスクリプトをローカルではなくインターネットから読み込むため、相当量のJavaScript(およびHTML)がCDN経由で配信されています。そのため、最新のアプリケーションでは、こうしたコンテンツを対象とするフロントエンド高速化技術の重要性が低下しています。

モバイルデバイスの普及と、従来のテクノロジー(Adobe Flashなど)からHTML5への移行に伴い、ITアプリケーション部門は、ブラウザに配信するシングルページWebアプリケーションの開発に着手しました。通常、このようなアプリケーションでは、ユーザーがアプリケーション内の各部分に移動しても、ページを再読み込みする必要がありません。その結果、画面遷移が高速化し、ネットワーク転送の効率が向上するほか、エンドユーザーエクスペリエンスも改善されます。7現在では、Webアプリの大半が「1ページ」設計を前提に開発されています。

2017年以降の理想的なエンドユーザー向けアプリケーション体験の実現

IT運用部門が管理するWebベースのアプリケーションで理想的なエンドユーザー体験を実現し、維持するには、以下のテクノロジーとプラクティスを採用する必要があります。

WebサーバーのプロトコルをHTTP/2に標準化する。

WebインフラストラクチャをHTTP/2標準にアップグレードすることで、HTTP/1およびHTTP/1.1で問題となっていたサーバー側のパフォーマンス上の課題に対処できます。HTTP/2では、接続管理が改善されるだけでなく、Webアプリケーション設計者が優先順位を設定できるため、コンテンツ配信を最適化し、エンドポイントのWebブラウザ内での構築が可能になります。

HTTP/2ベースのリクエストのみが送信されるよう、Webブラウザの最低基準を設定します。

社内(従業員や請負業者など)および社外(顧客やパートナーなど)に対し、HTTP/2リクエストをサポートするバージョンへのブラウザのアップグレードを促すことで、HTTP/1.1または1.0への自動ネゴシエーションによるフォールバックと、それに伴う非効率なデータ転送を解消できます。

SaaSベンダーがすべてのWebアプリケーションにHTTP/2を実装していることを確認します。

繰り返しになりますが、HTTP/1.1および1.0への自動ネゴシエーションによる切り替えを回避することで、パフォーマンスの向上とユーザーエクスペリエンスの改善につながります。

CDNベンダーのPoPが、ユーザーやお客さまの所在地に合わせて地理的に配置されていることを確認してください。

従業員、契約社員、顧客の所在地に合わせて地理的に配置されたPoPネットワークを持つCDNベンダーを利用することで、WebブラウザとCDNのPoP間の通信遅延を低減できます。

ネットワークベースのアプライアンスでキャッシュ技術を利用することを検討してください。

アプリケーションの前段にオンボードキャッシュ技術を搭載したネットワークアプライアンスを配置することで、Webページに必要な静的コンテンツのパフォーマンス向上に役立ちます。

低コストのオープンソースWebキャッシュを評価する

キャッシュが必要な場合は、SSDを搭載した低コストで高性能なオープンソースのWebキャッシュ(例:Varnish)の使用を検討してください。

まとめ

ビジネス要件に加え、モバイルおよびクラウドコンピューティングへの移行により、IT部門には、重要なアプリケーションを提供しながらユーザーエクスペリエンスを最適化することがますます強く求められています。現在、ユーザーのWebコンテンツ体験を変化させている要因は3つあります。第1に、CDNの容量が大幅に拡大し、POPが主要なユーザー層の近くに配置されることで、レイテンシーの低減につながっています。第2に、Webサーバーとクライアント間の全体的なパフォーマンスを向上させるため、インターネットプロトコルが更新されています。第3に、インターネットサーバーとクライアントの関係が変化し、両者間のトランザクションは以前ほど一方向ではなくなり、配信されるデータもより動的でユーザーに特化したものになっています。こうした変化を踏まえると、ユーザーエクスペリエンスの向上を目的として5~7年前に策定されたフロントエンドのアプリケーションデリバリー最適化戦略は、市場の動向とWebテクノロジーの自然な進化によって急速に価値を失いつつあります。

エンタープライズWebアプリケーションのインフラストラクチャは、市場の変化に合わせて進化しなければ、パフォーマンスとIT投資収益率の低下を招きます。IT部門にとって重要なのは、ユーザーエクスペリエンスを提供するインフラストラクチャ(Webサーバー、ロードバランサー、CDN、SaaSなど)を、Webパフォーマンスの向上を目的に設計されたHTTP/2へ確実にアップグレードすることです。


1 http://www.cdnplanet.com/cdns
2 http://httparchive.org
3 https://technology.ihs.com/589721/data-center-network-equipment-market-tracker-regional-q2-2017
4 https://www.stateoftheinternet.com/resources-connectivity-2015-q1-state-of-the-internet-report.html
5 https://w3techs.com/technologies/details/ce-HTTP/2/all/all
6 http://httparchive.org
7 https://techcrunch.com/2012/11/30/why-enterprise-apps-are-moving-to-single-page-design

2017年8月29日公開