Googleはインターネットを再構築したいのか(前編)「The Next Platform」で読むグローバルITトレンド(9)(2/3 ページ)

» 2017年09月07日 05時00分 公開
[Timothy Prickett Morgan, The Next Platform]

Espressoはどのような構造になっているか

 概念的には、EspressoはGoogleのネットワーキングスタックに次のように組み込まれている。

 前述したように、Googleにとってピアリングネットワークは極めて重要だ。だが、このネットワークの柔軟性と管理性を高めるのは厄介な課題だった。Googleはネットワークをコントロールしているわけではないからだ。Googleの生み出すトラフィックは、インターネット上のトラフィック全体の約25%を占めており、同社は世界70カ所以上のメトロポリタンエリアにサービスプロバイダーとの接続ポイントを展開し、数十億人のユーザーにスムーズにサービスを提供する態勢を整えている。ただし、Googleはネットワークをコントロール下に置いているわけでは決してない(いずれにしても、このユーザー規模は圧倒的だ)。

 Espressoによるルーティングネットワークは、個々の機器を超えたルーティングリソースのプールを作成する。Borgがベアメタル上にコンテナレイヤーを実装し、コンピューティングリソースのプールを作成するのと同様だ。

 Googleはコンピュート、ストレージ、ネットワーキングのいずれにおいても、統合された分散管理を積極的に推進している。この管理は、監視下にあるシステムやアプリケーションからの大量のテレメトリデータを利用して、エンドユーザーの観点から一貫した経験をエンドユーザーに提供するものだ。

 この最後の点は重要だ。検索エンジンを例に取ろう。検索結果の表示が遅い理由について、説明を受けたい人はいない。ユーザーとしては、きちんと機能してほしいだけだ。検索が世界中の数十台のルーターや数千台のサーバに分散されたアプリケーションで処理され、全てが完了するまでの応答時間は1秒未満でなければならない。

 これは、エンジニアリング上の大変な難題だ。世界最大級の難題かもしれない。Googleや他のハイパースケールデータセンター運営企業はこの難題にどう取り組んでいるのか。詳細はほとんど明らかになっていない。そこでThe Next Platformの共同編集長を務めるティモシー・プリケット・モーガンがバーダット氏に話を聞いた。

インターネットトラフィックの25%は、Googleが運んでいる

――まず、素朴な質問を。B4があるということは、B2もあるのか? B3はどうなったのか?

アミン・バーダット氏(以下、バーダット氏): とてもいい質問だ。B3は存在していた時期があり、われわれはそれに代えてB4を導入した。われわれとしては、B4はプライベートデータセンターネットワークインターコネクト、B2はわれわれのデータセンターをパブリックインターネットにつなぐものとして位置付けている。

 Googleは現在、インターネットトラフィック全体の約25%を運んでいる。言い換えれば、インターネット経由でエンドユーザーに届くデータの4分の1がGoogleから送られたものだということだ。その全てがB2ネットワークから送られているわけではない。われわれはGoogleのグローバルキャッシュにより、ISPネットワーク内でかなり大きな存在感を発揮しているからだ。だが、実はB4ネットワーク(われわれのデータセンターを相互に接続している)の方が、B2ネットワークよりも大きく急成長している。

――それは興味深い。どちらのネットワークもJupiter機器で動いているのか? あるいは異なる機器で動いているのか? どのような仕組みになっているのか?

バーダット氏: 詳しく言うと、Jupiterはわれわれのデータセンターネットワークであり、固有の一連のスイッチを採用している。B4も同様のスイッチ技術を使っており、これらは従来、Jupiterとは別個にB4を動かしてきた。ただし、そのソフトウェアシステムはJupiterとは異なっている。われわれはこれまで、B2のハードウェア機器がどのようなものかについては何も公表していない。これに対し、既に明らかにしたように、B4とJupiterは自前のハードウェアとソフトウェアアプリケーションで動いている。これらは全て自社で開発したものだ。

――EspressoはGoogleから新たに発表された基幹ネットワーキング技術であり、われわれは皆、興味津々だ。

バーダット氏: 最大のポイントは、これまで、われわれの自社開発ネットワーク技術のアプリケーションが社内で使われるものだったのに対し、Espressoはパブリックインターネットで大いに使われることだ。つまり、われわれのデータセンターネットワークであるJupiterはデータセンターの中で動いているし、われわれのデータセンターを相互接続するネットワークもプライベートネットワークだ。

 まず、少し歴史をさかのぼってみよう。われわれが直面していた問題は、既存の標準ルーティングプロトコル、中でも主に異なるネットワーク間の全てのペアリングに使われるBorder Gateway Protocol(BGP)が個々のマシンにフォーカスしており、基本的に、接続について非常にローカルな捉え方しかしないことだった。

 BGPは送信元と宛先間の経路、つまりネットワーク経由でお互いに通信しようとする2台のコンピュータ間の経路が見つかりさえすれば満足してしまう。最適な経路を見つけようとしたり、動的な最適化を行おうとしたりはしない。

 私がよく使う例えだが、これは実際の道路の交通状況とは対照的だ。A地点からB地点に行くときの経路は、1日の中で随分変わる。もちろん、さまざまな選択肢がある可能性がある。

 そこでわれわれは、サービスがわれわれのネットワークで動いているか、Google Cloudで外部の顧客のために何かをポストしているかにかかわらず、インターネットの豊富な機能を利用して世界中のユーザーに最高品質のエクスペリエンスを提供できることを目指している。

 基本的に、Espressoは個々のルーターからルーティングインテリジェンスを引き出し、サーバプールとしてまとめる。このプールではデータのオフライン分析が可能だ。

 では、ルーターについて考えてみよう。ルーターは、個々のパケットの転送に関する判断を行っている。現在では通常、数百ナノ秒刻みで判断を行っており、個々の判断にかける時間はごく短い。ルーターは「このパケットがどのアプリケーションに属するか」や、「帯域幅やレイテンシなどに関して何に注意すべきか」が分からず、これらについて考える十分な時間もない。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。