ベトナムの現地法人から、日本の本社に電話がかかってきました。「本社のシステムにログインしても、画面がまったく切り替わりません。お客様の見積もりを出すのに5分も10分も待たされています。これでは仕事になりません」。受話器を置いた情報システム担当者は首をかしげます。本社のオフィスで同じシステムにアクセスすると、画面は一瞬で切り替わり、何のストレスもありません。サーバーの負荷を確認しても異常はなく、ネットワーク機器のログにもエラーは見当たりません。それなのに、海外拠点や遠方の支店からアクセスするスタッフだけが「遅くて使い物にならない」と口をそろえて訴えてくる。原因がわからないまま、現場の不満だけが積み重なっていく、という状況は決して珍しくありません。

実はこの現象、システムの不具合ではなく、多くの場合「距離」そのものが原因です。今回は、なぜ遠方からのアクセスは遅くなるのか、そしてその解決策として使われる「CDN(コンテンツデリバリーネットワーク)」という仕組みについて、専門用語をできるだけかみ砕きながらご説明します。

なぜ遠方からのアクセスは遅くなるのか

本社では速いのに、海外拠点や地方の支店では遅い。この差が生まれる理由は、主に3つあります。

1つ目は、物理的な距離によるデータ通信の往復時間です。インターネット上のデータは光の速さで移動しますが、それでも距離が離れるほど、行って戻ってくるまでの時間はどうしても長くなります。名古屋の本社と東京の支店程度であればほとんど気になりませんが、名古屋とベトナムやアメリカとなると、データが海底ケーブルを通って地球の反対側近くまで往復するようなものです。1回あたりはコンマ数秒の差でも、画面を表示するたびに何十回、何百回とこのやり取りが発生するため、積み重なると数秒、数十秒という体感の遅さになってしまいます。

2つ目は、サーバーが一箇所にしかないことによる集中です。多くの企業システムは、本社や特定のデータセンターに置かれた1台(または数台)のサーバーが、全世界からのアクセスをすべて受け止めています。本社に近い場所からのアクセスは短時間でサーバーにたどり着けますが、遠方からのアクセスはそれだけで不利な上、同じサーバーに世界中からのアクセスが集中すれば、処理待ちの行列に並ぶような状態になり、さらに遅くなります。

3つ目は、画像や動画など、データ量の重いコンテンツほど影響が大きいという点です。文字だけのシンプルなページであれば距離の影響はわずかですが、写真をふんだんに使った商品ページや、紹介動画を埋め込んだサイトになると、送受信するデータ量が桁違いに増えます。距離による遅延と、データ量の多さが掛け合わさることで、遠方のユーザーほど「重くて開かない」というストレスを強く感じることになるのです。

放置するとどうなるか

この問題を「たまたま海外拠点の回線が悪いのだろう」と放置してしまうと、じわじわと事業に影響が出てきます。まず、海外拠点や遠方拠点の業務効率が下がります。見積もり作成や在庫確認に本来なら数秒で済むはずの操作が、毎回何分もかかるようになれば、1日、1ヶ月という単位で見たときの損失は決して小さくありません。現場スタッフのモチベーション低下や、本社への不信感にもつながりかねません。

ECサイトを運営している場合は、さらに深刻です。海外からアクセスした見込み客が、商品ページの表示に何秒も待たされれば、購入を決める前に離脱してしまいます。表示速度が1秒遅くなるだけで離脱率が大きく上がるというデータもあるほどで、せっかく海外市場に打って出ようとしても、入り口である「ページの表示速度」でつまずいてしまっては、その先の商談やコンバージョンにたどり着くことすらできません。つまりこれは、単なる技術的な不便さではなく、機会損失そのものなのです。

CDN(コンテンツデリバリーネットワーク)とは何か、何を解決するのか

この問題を解決する代表的な仕組みが、CDN(コンテンツデリバリーネットワーク)です。CDNとは、簡単に言えば「本店だけでなく、全国各地に在庫を置いておく」チェーン店の発想を、インターネット上のデータ配信に応用したものです。

本店(本社のサーバー)にしか商品(データ)がなければ、遠方のお客様はわざわざ本店まで買いに行かなければなりません。しかしチェーン店のように、世界各地にあらかじめ同じ商品のコピーを置いておく拠点(これを「サーバー」や「キャッシュ拠点」と呼びます)を用意しておけば、お客様は一番近い店舗で買い物ができます。CDNは、世界中に配置されたこの「支店」から、利用者に一番近い場所を自動で選んでデータを届ける仕組みです。

コピーを各地に置いて配信を高速化する

CDNを導入すると、Webサイトのデータがあらかじめ世界各地の拠点にコピーされ、利用者は地理的に一番近い拠点からデータを受け取れるようになります。ベトナムの拠点からアクセスした場合、日本の本社まで通信が往復するのではなく、近隣アジアにある拠点から素早くデータが届くため、体感速度は大きく改善します。

重いデータをキャッシュして配信する

画像や動画、CSSやJavaScriptといった、頻繁には更新されない「静的なデータ」は、CDNの各拠点に一時的に保存(キャッシュ)しておくことができます。毎回本社のサーバーまで取りに行く必要がなくなるため、特にデータ量の重いコンテンツほど、CDN導入による効果を実感しやすくなります。

アクセス集中時の負荷を分散する

キャンペーンやセール時など、一時的にアクセスが急増する場面でも、CDNが各拠点に負荷を分散してくれるため、本社の1台のサーバーだけがパンクしてしまう事態を防げます。世界中のどこからアクセスが集中しても、その負荷を各地の拠点で受け止められることは、事業の安定運用という観点でも大きな意味を持ちます。

発注時に確認すべきポイント

CDNの導入を検討する際、非エンジニアの発注者が確認しておきたいポイントをいくつか挙げます。まず、自社の利用者(拠点や顧客)がどの地域に多いかを整理し、その地域をきちんとカバーしている拠点網を持つCDNかどうかを確認しましょう。地域によって拠点の密度が異なるため、東南アジアに拠点が多いのか、欧米が中心なのかは事業者ごとに違いがあります。

次に、キャッシュする対象と更新頻度の設計です。画像や動画は積極的にキャッシュしても問題ありませんが、価格や在庫情報など頻繁に変わるデータをそのままキャッシュしてしまうと、古い情報が表示され続けるリスクがあります。どのデータをどのくらいの時間キャッシュするのか、開発会社としっかりすり合わせる必要があります。

また、導入や運用にかかる費用体系も事前に確認しておきましょう。多くの場合、データ転送量に応じた従量課金となるため、想定されるアクセス量やデータ量に対してどの程度のコストになるのか、見積もり段階で試算してもらうことをおすすめします。

現実的な進め方

いきなり全社的にCDNを導入するのではなく、まずは影響が大きい部分から着手するのが現実的です。たとえば、海外拠点からのクレームが特に多いページや、画像・動画の比率が高いページを優先的にCDN対応し、効果を確認してから対象範囲を広げていくとよいでしょう。

また、CDNはあくまで「配信を速くする」仕組みであり、システムそのものの処理が重い場合は別途の改善が必要になることもあります。導入前には、現状のどこにボトルネックがあるのかを開発会社に調査してもらい、CDNで解決できる部分とできない部分を切り分けておくことが、無駄な投資を避ける近道になります。

壁を越えて働く人たちへ

海の向こうの拠点で、時差を越えて働くスタッフがいます。地方の支店で、本社と変わらぬ熱意で仕事に向き合う仲間がいます。彼らが日々向き合っているのは、距離という物理的な壁です。その壁は、テクノロジーの力で確かに越えられます。CDNは、単なる表示速度の改善技術ではありません。どこにいても同じ速さで、同じように仕事ができる環境を用意することは、離れた場所で奮闘するすべての人たちへの敬意の表れです。壁を越えて働く人たちが、距離を言い訳にせず、実力を発揮できる場所をつくること。それこそが、私たちがシステムづくりに込めたい思いです。