SpeedData

サードパーティーコンテンツが仕込まれたWebページ

サードパーティソフトウェアに起因するWebサイトの隠れたる危険:5つの重要な教訓を含むケーススタディ

2023年8月29日
翻訳: 山本 奈良乃

この記事は米Catchpoint Systems社のブログ記事「The Hidden Danger of Websites Relying on Third Party Software: A Case Study with 5 Key Takeaways 」の翻訳です。
Spelldataは、Catchpointの日本代理店です。
この記事は、Catchpoint Systemsの許可を得て、翻訳しています。


Webサイトでサードパーティのソフトウェアを使用することは、リスクとリターンがあります。
eコマースサイトやプラットフォームは、顧客データの抽出からライブチャットの有効化、サイトの変更に対するユーザ体験の分析まで、通常、機能性と特長を増強するために多数のサードパーティのアプリやツールの実装に依存しています。
サードパーティはこれらの対話型の目的のためにしばしば有益である一方、ユーザ体験の中断の原因ともなり得ます。

先週、私たちの顧客である、世界をリードするスポーツ用品と器具の会社がまさにそのような問題を経験しました。
彼らが一般的にデプロイされるA/Bテストツールの使用が、西海岸のユーザにとって数時間にわたりいくつかの重要なドメインのパフォーマンスと可用性に影響を及ぼしました。

このブログでは、具体的に何が起こったのか、どのように先進的なシンセティック監視が私たちに問題を検出させることを可能にしたのか、そしてWebサイトでサードパーティソフトウェアを利用する際に考慮すべき5つの重要な教訓について詳しく説明します。
さあ、始めましょう。

複数のサイトでA/Bテストが失敗する

「昨日発生した、A/Bテストでの不具合が原因でいくつかの重要なサイトに障害を与えた件について、根本的な原因を明らかにしたいと考えていました。」
そこで私(のAlexa)は、グローバルなeコマース機能の維持を担当するプラットフォーム・エンジニアリング・チームとSREチームにメールを送りました。
この会社のエンタープライズ・カスタマー・サクセス・マネージャとして、私はこの問題を確実に把握し、サードパーティが生産拠点に与える影響を把握したかったのです。

私はまた、今後同様の問題に対して広範囲に渡る見通しが立てられるよう、追加の合成テストに向けて協力したいと思いました。

Optimizely、Google Optimize、Adobe TargetのようなA/Bテストや実験ツールは、eコマースの最適化やパーソナライゼーション戦略の一環として、非常に人気のあるツールです。
これらのツールは、機能や製品のユーザエンゲージメントを向上させる目的で、同じ変数の複数のバージョンのユーザ体験を比較することを可能にします。
とはいえ、このようなサードパーティツールを使用中に、ユーザ体験にもたらすリスク、具体的にはSPOF(単一障害点)になる可能性に注意することが重要です。

8つの失敗したリクエストを示すテスト(Catchpoint)
8つの失敗したリクエストを示すテスト(Catchpoint)
メインドメインから提供された子リクエストのタイムアウトを示すウォーターフォール(Catchpoint)
メインドメインから提供された子リクエストのタイムアウトを示すウォーターフォール(Catchpoint)

CatchPointのSPOF失敗テストにより、根本的な原因を突き止め、その原因を特定することができました。
ご覧のように、サードパーティの最適化ツールを使用すると、同社のドメイン、特に子リクエストで複数の失敗が発生していました。
ページの基本構造は機能していましたが、ページを動的かつ相互作用を可能にする画像やJavaScriptなど、ページ構造を完成させるために必要な次の段階のリクエストが影響を受け、失敗を引き起こしていたのです。

Catchpointのテストは午前1時39分(太平洋標準時)から失敗し始め、深刻なパフォーマンス上の問題が発生したことを示し、午前9時4分(太平洋標準時)まで、企業のWebサイトを利用するアメリカ西部沿岸部のユーザに利用しやすい環境を提供することができませんでした。
検索や取引カートなどの重要な機能を含む、主要な機能性にも影響が出ました。
コマース製品の部門も影響を受けました。

Catchpointのテストでは、同社のメイン・ドメインからのリクエストの待ち時間、接続時間、応答時間が増加し、障害が発生しました。

ウォーターフォールが示すレンダリングブロック/クリティカルレンダリングパスのリクエスト失敗(Catchpoint)
ウォーターフォールが示すレンダリングブロック/クリティカルレンダリングパスのリクエスト失敗(Catchpoint)

開発チームとエンジニアリングチームがサイト最適化ツールを使ってフロントエンドとコアバックエンドの変更を試したところ、レンダリングブロックの失敗を引き起こすロジック変更が実行され、致命的なまでにページの読み込み時間が遅くなり、重要なリソースが利用できなくなりました。

実際のエンドユーザに与えた影響

企業ページのコンテンツの中でも、例えば製品写真の読み込みが非常に遅く、最終的にはページそのものがタイムアウトしてしまいました。
下のフィルムストリップでは、Webページの表示時間が30秒以上かかっていることがわかります。
通常のページのコンテンツは3.5秒以内に読み込まれます。

部分的なページの読み込みを示すフィルムストリップ(Catchpoint)
部分的なページの読み込みを示すフィルムストリップ(Catchpoint)
サイト最適化機能のリクエストデータは、ファイルサイズの変化がページの可用性に影響を与えることを示している(Catchpoint)
サイト最適化機能のリクエストデータは、ファイルサイズの変化がページの可用性に影響を与えることを示している(Catchpoint)

影響を受けた商品ページのひとつに、フットウェアをカスタマイズする人気な機能がありました。
しかし、カスタマイズの効果を確認するための画像にアクセスできなければ、この機能は本質的に役に立ちません。
これはeコマースサイトのすべての商品画像に当てはまると言う人もいるかもしれません。

商品を見ることができなければ、購入する可能性は極めて低いです。
もしこの障害が、人気の新商品が発売されたり、セールが開催されたりするようなピーク時に発生していたとしたら……。
収益に相当な影響があったことでしょう。

インターネットの混乱が収益に与える影響

Forrester Consulting社に最近委託した調査によると、eコマース企業の39%が、このようなインターネットの障害によって毎月500~999,999ドルの損失を被っているといいます。
さらにForrester社は、インターネットの障害を特定できないことがビジネスを脅かしていることを明らかにしました。

「多くの場合、企業は障害を特定するために消去法に頼っています。」
報告書にはそう記載されています。

「たとえそれが企業の管理外であったとしても、発生源を素早く特定することは非常に重要です。
それによって企業は、顧客と連絡を取ったり、サードパーティプロバイダに連絡を取ったりすることで、混乱によるダメージを即座に軽減することができます。
eコマース企業はこれらの課題を克服しなければ、年間数百万ドルの損失を出し続けることになります。」

eコマースサイトがサードパーティのソフトウェアと統合する際のポイント

Nilabh Mishra氏 編著 (プロフェッショナル・サービス、バリュー・エンジニアリング、シニア・マネジャー)

1.高度なインターネット合成監視の重要性

サードパーティのソフトウェアがサイト運営に関与している場合(eコマースではほぼ常にそうです)、稼働時間のみの合成監視から離れる必要があります。
多くの競合他社は、単にページが稼働しているか停止しているかを監視していますが、それだけでは全貌を把握できません。
上の事例でわかるように、この多国籍のアスレチックフットウェアとアパレルの会社では、ページは稼働していましたが、画像は閲覧できませんでした。

ページは一見正常に表示され、200※を指しているように見えます。
※訳注:通常、Webページが正常に動作している場合、そのページは「200 OK」というHTTPステータスコードを返します。

しかし実際には、引き出そうとしている製品リクエストが利用可能でなかったため、ページ読み込みがループしていたのです。
このパフォーマンスの問題は、基本的な合成監視では発見できなかった可用性の問題を引き起こしていたのです。
全体の読み込みプロセスを考慮する必要があり、高度な合成監視(私たちはインターネット合成監視と呼んでいます)だけがこれを行い、ここで問題となっている深刻なパフォーマンスと可用性の問題を完全に明らかにすることができます。

2.APMとIPMの連携が必要

アプリケーション・パフォーマンス・監視 (APM) およびインターネットパフォーマンス監視 (IPM) ソリューションは、連携して動作する必要があります。
基本的な稼働時間監視では問題を検出できなかったのと同様に、eコマースおよび小売サイトの監視をAPMに頼ることもできません。
この例でも同様に、誤検出が発生し、全体像が把握できなくなります。

3.サードパーティのツールの問題はIPMで検出する

サードパーティのツールに依存する場合は、インターネットパフォーマンス監視(IPM)を活用してください。
理由をお伝えします。
IPMは、サードパーティを監視し、影響を最小限に抑えるために不可欠です。

APMソリューションだけでは、このような問題を検出するのは非常に困難です。
APMだけでは、サードパーティがページの読み込み時間などの問題にどのような影響を与えているかを確認するのはかなり難しいのです。
CatchpointのようなIPMソリューションなら、もっと簡単です。

たとえ単一ページのテストを実行していただけであっても、この種の問題をピンポイントで特定することができます。
IPMは、何が失敗していて、それがどのような影響を及ぼしているのかを正確に理解するのに役立ちます。
そうすれば、SREがAPMソリューションを利用する際、トラブルシューティングがより簡単になります。

SREは適切な情報を手にし、何が故障しているのかを正確に理解することで、MTTRを短縮することができます。

4.プロフェッショナル・サービス・チームと連携する

プロフェッショナル・サービス・チームと連携し、最適な監視戦略が整っていることを確認してください。
当社は現在、当社の最大手の小売企業の顧客と協力して、当社の合成監視およびRUM製品の両方からWebサイトのビルドIDを監視しています。

サードパーティは、リクエスト構造の一部としてこれらのIDを持っています。

5.サードパーティを定期的にクリーンアップする

Webサイトが使用しているすべてのサードパーティを定期的に監査し、クリーンアップします。

私たちは、顧客がより多くのデータを収集するためや、あるいはその他の目的のために、ページにサードパーティのツールを継続的に追加しているのを見てきました。
しかし、それらを頻繁にクリーンアップしていないため、サードパーティのツールは、使用されなくなってから数か月、あるいは数年後も稼働しています。
定期的にアクティブなものをチェックし、そうでない連携機能やプラグインを削除することで、顧客体験を阻害するような予防可能な問題を減らすことができます。

さらに読む