前回はAkamai Technologiesが発表しているホワイトペーパーを解説しましたが、今回は、そもそもホワイトペーパーを発表したAkamai Technologiesとはどのような企業であるかを解説します。
Akamai Technologiesは、主にWeb閲覧の高速化とWebサーバの負荷軽減を実現するソリューションを世界的に提供しています。主な顧客は世界的に活動を行っている企業ですが、同社発表によると、同社は世界の15%~20%のトラフィックを捌いているそうです。
世界全体の2割(最大の場合)がAkamai Technologiesに関連するWebトラフィックというのは凄いです。まさに「インターネット界の巨人」と言えます。
一方で、Akamai TechnologiesがカバーしているのはAkamai Technologies社にコンテンツ配信を依頼している顧客だけなので、世界で注目されるWebコンテンツの集中具合も凄いと思います。恐らくWindows Updateやウィルスソフトパターンファイル配信が大きなウェイトを占めているのだろうと邪推してみました。
Akamaiの語源
非常に日本語っぽい会社名ですが決して「赤米」という日本語ではありません。ハワイ語で「賢い」という意味の単語だそうです。ABCに並んだ時に最初に来る事が重要という事で適切な単語を探していたら発見したそうです。
Akamaiはマサチューセツ工科大学(MIT)での研究からビジネス特許を取得し、Google社と同じ1998年に設立されたそうなのですが、当時MIT内にてハワイ語ブームがあり、ハワイ語辞書が手元にあったのでハワイ語から社名が生まれたそうです。
Akamaiの目指すところ
核攻撃が来たとしても自律的に再生できる冗長なネットワークとして設計されたインターネットは、冗長性を実現するために信頼性を犠牲にしています。そのため、インターネットでやり取りされるデータの到着は保証されませんし、到着までにかかる時間も予測が困難です。
CDN(Contents Delivery Network)技術企業として注目される事が多いAkamaiですが、目指しているのは「インターネット全体の信頼性向上」であるようです。Webの通信速度向上などは、信頼性向上のための活動の一部でしかないとのことでした。
とはいえ、現状でAkamai Technologies社が実際に行われているビジネスの多くがWebだと思うので、ここでは主にWebでのCDN技術にフォーカスした解説文を書いています。
どうやっているのか?
どうやって世界の2割ものWebトラフィックを扱っているかですが、世界中のISP内にAkamai Technologiesサーバを設置しているそうです。世界70ヵ国以上のISPやIXに、6万1000台のAkamai Technologiesサーバが設置されていると同社Webに記述してあります(as of 2010年4月) 。
2009年時点の発表では、日本国内の拠点数は約30で、約2000台のAkamai Technologiesサーバが設置してあったそうです。当時の世界中での台数は4万台だったことを考えても、現在はその当時よりも日本国内のサーバ数は増えていると思われます。
このように、世界各地に設置してあるAkamai Technologiesサーバが、Web閲覧者へのデータ転送を高速化するとともに、ISP間に流れるトラフィックを軽減します。
CDNとは何か?
以下の例は非常に誇張していて正確ではないのですが、たとえばアメリカにWebサーバがあるとします。このWebサーバにあるデータを日本から取得しようと思った時、3回別々の通信が日米間で行われます。
しかし、図2のように日本にオリジナルWebサーバのコピーがあれば、日本のユーザは近くにあるコピーからデータを取得すれば良くなります。これによって日米間のトラフィックは軽減され、ISPは回線にかかる費用を軽減できます。さらに、ユーザは自分の近くにあるデータにアクセスすることにより、高速にデータを取得できます。
何故近くのデータを取得する方が速いか?
では、何故このように「最寄りのコピー」を利用するのでしょうか?
光の速さは有限であり、太平洋を越えるような通信をするとどうしてもデータ取得に一定の時間がかかってしまいます。Webコンテンツを取得するときにはTCPが利用されますが、TCPは距離が離れれば離れるほどスループットは低下します。太平洋を渡らずに国内だけで全ての通信が完結すれば、ユーザへのレスポンスが高速化します。
負荷軽減とBurst Trafficへの対応
コピーを利用するメリットとして負荷軽減も挙げられます。図1のような状態では、日本国内からのデータアクセスが減るので、オリジナルサーバへの負荷も軽減されます。世界各地から閲覧されるようなWebである場合、この負荷軽減は非常に重要な要素です。
たとえば、Microsoft社のWindows Updateや、セキュリティソフトベンダーによるパターンファイル更新など、世界中から大量のアクセスがあるWebサイトはこのような負荷分散が必須になります。全体的な負荷分散やダウンロード速度向上という面もありますが、そのようなコンテンツはburstyなトラフィック特性を示すことが多いという理由もありそうです。burstyとは急激にトラフィックが集中するという意味です。
特定の更新があって、世界中のコンピュータが同時に同じ更新ファイルをダウンロードした時の瞬間最大風速的トラフィックは恐らく凄いです。Microsoft社がWindows Updateで新ファイルを公開した次の瞬間に世界中で国際間にある光ファイバがパンクしないのはAkamai Technologies社があるからとも言えそうです。
DNSによる最適サーバ選択
Akamai Technologiesが提供するサービスの特徴は、DNSを誤摩化すことによってユーザ側の環境に全く変更を加えずにCDN機能を実現できることです。具体的には、オリジナルサーバを持つ顧客企業が管理するDNSにCNAMEを1つ登録します。そのCNAMEは、Akamai Technologies社の持つドメイン名が記述されます。
ユーザがDNSに問い合わせを行うと、最初にオリジナルサーバのドメイン名でのDNSに行き、次にAkamai Technologies社のDNSへ問い合わせます。Akamai Technologies社のDNSはユーザの最寄りのエッジサーバのIPアドレスを返答することによって、ユーザが近くからデータを取得できる状態を実現します。Akamai Technologies社のDNSは、名前解決を要求しに来たユーザのIPアドレスから、ユーザの所属しているネットワークを知ります。
なお、図3ではRoot Name ServerやユーザのISPにあるDNSは省略してあります。説明のために簡易化していますが、厳密には図3は間違いなのでご注意ください。
Akamai Technologiesサービスを購入する顧客
Akamai Technologies社が提供するサービスを購入する顧客は以下のような条件がありそうです。
特定地域だけではなく世界に対して情報発信をしている
世界中から非常に多くの人々がWebサイトを見に来る
大きいデータファイルをやり取りすることがある
何かのきっかけでアクセスが集中することがある
もちろん、上記条件に限定されるわけではないのですが、上記条件を満たすような巨大企業にメリットが大きいサービスである気がします。たとえば日本国内だけでサービスをするのであれば、国内の複数拠点にWebサーバを設置するだけでも何とかできるのかも知れません。
しかし、世界中に高品質なWeb配信を行おうと思った場合、世界各所のデータセンターにサーバを設置する必要が出てきます。世界各所にサーバを設置するのは非常にコストがかかります。日本とアメリカだけならば何とかなるのかも知れませんが、多くの国がひしめき合うヨーロッパなどに対しても高品質にWeb配信を行うのは非常に大変です。
でも、そのような巨大企業だけで全世界のトラフィックの2割まで行く場合があるというのは凄いと思えます。
Akamai Technologies社の顧客企業の発見方法
検索エンジンを使うとAkamai Technologies社の顧客企業をある程度発見可能です。以下の検索キーワードで検索してみてください。
akadns.net
edgesuite.net
akam.net
さらに、発見したそれらしきドメイン名を使ってDNSに問い合わせをしてみます。たとえば、windowsの場合はコマンドコンソールから以下のようなコマンドを入力します(IPアドレスなどは一部改変されています) 。
C:\> nslookup www.microsoft.com
Name lb1.www.ms.akadns.net
Address: XXX.XXX.XXX.XXX
XXX.XXX.XXX.XXX
Aliases: www.microsoft.com
toggle.www.ms.akadns.net
g.www.ms.akadns.net
MacosX、Linux、*BSDの場合は以下のようにします。
% dig mixi.jp
; > DiG 9.3.4-P1 > mixi.jp
;; global options: printcmd
;; Got answer:
;; ->>HEADER
それっぽいDNSが関わってれば、そのWebサイトを運営している会社はきっとAkamai Technologies社の顧客ですね。
最後に
今回は、Akamai Technologiesという「インターネット界の巨人」を紹介しました。恐らくほとんどの人が気がつかずにAkamai Technologiesとデータのやり取りをしています。主要な大手Webサイトの多くがAkamai Technologiesのサービスを利用していると思われるため、Webを使っている人でAkamai Technologiesと全く接点を持った事は無い人は皆無だろうと思います。
今回紹介した以外にも、Akamai Technologiesは様々な技術やサービスを提供しています。さまざまなホワイトペーバーがAkamai Technologiesの企業Webに掲載されているので、興味がある人は見てみると面白いと思います。
次回は、ネットワーク機器ベンダーであるCisco Systems, Incが発表しているホワイトペーパーを見てみたいと思います。