あなたは「Fastly」というサービスをご存知でしょうか?
これまでのCDNよりももっと高速に効率的にコンテンツを配信するためのサービスの一つです。
ここでふと思ったことは「そもそも、CDNって一体なんなのだろうか?」
僕は名前を知っていたのですが、基本的に業務システムを構築することが多かったので、CDNという技術についてざっくりとした知らなかったのです。
なので、今後のスキルアップのために、CDNについて調べてみました。
今回の対象読者は以下の通り
- CDNをもっと詳しく知りたい開発を初めて3ヶ月ぐらいの方
- Webの技術でCDNを扱うことになった技術者の方
URL指定でキャッシュ制御ができる。
Contents
そもそも、CDNとは?
CDNとはコンテンツデリバリーネットワークのことをさします。
どういうものかというと、コンテンツの配信を効率的にする仕組み。
さらに詳しくいうならば、Webサイトにアクセスしようとするユーザーから最も近い配信拠点から効率的かつ高速でWebを配信する仕組みのことです。
この仕組みというのは、画像やファイルをダウンロード配信を遠くにいるサーバから効率的に配信したりダウンロードするために使われます。
そして、この仕組みというのが、それぞれのルータやサーバを経由して配信されます。ユーザがアクセスした後にHOP(データが届くまでのルーターへの経由数)が画像やファイルがユーザに届くスピードに影響します。
例えば、高速道路で目的地まで行くために、何回かサービスエリアに寄ることで、目的地までの到着時間が遅くなるのと同じ考え方です。
CDNを利用する3つのメリット
ユーザーの使い勝手を良くするため。
シングルページアプリケーションは、初期ロードを実行する際に、膨大なコンテンツを生成して表示するので、ロードが遅くなる傾向にあります。
ロードが遅くなると、ユーザー自身が苛立つことになるため、サービス自体の評価が下がる。
だから、サービスを提供する側がパフォーマンスを上げるためにCDNを画面で設定できるFastlyがかなり暑いサービスであるようです。
Fastlyのサービスについては、時間があるときに書こうと思います。
トラフィックの負荷分散ができる。
ロードバランサー(負荷分散装置)を設置したとしても、多くの人からアクセスが増えると、回線不足を起こす可能性がある。
そりゃ、一つの回線にアクセスが集中すれば、遅延するのは当たり前ですね。
例えば、東京にある半蔵門線永田町駅という駅は、企業が非常に多く、通勤時にはエスカレーターを利用する人が増えます。エスカレータが2つしかないため、出口まで出るのに時間がかかってしまう。
高可用性が期待できる。
システムはそもそも、利用できない状況にならないように配慮する必要がある。なぜなら、サービスが利用できない結果、経済学的に機会損失が起こるためである。
だからこそ、CDNを利用することでそのリスクを減らすことができる。
まとめ
CDNという仕組みはそれだけ、我々が海外のWebコンテンツを利用する際にとても役に立っているサービスなのです。
ほんの5年ぐらい前は、海外のコンテンツにアクセスする時は、とても時間がかかっていました。
Razberry piのOSをダウンロードするときに、一晩ぐらいかかってましたからね。
技術の進歩は激しいものです。