[Analysis]
見えるグーグル、見えないグーグル
2008/06/02

大ざっぱに言って、グーグルには2つの側面がある。見えるグーグルと、見えないグーグルだ。「見えない」は言い過ぎでも、グーグルの中には、普通に外から眺めているだけでは見えてこない、エッジな分散コンピューティングの世界が広がっている。
検索やメール、カレンダーなどは外から見えている分かりやすいグーグルだ。逆にこうしたサービスを支えるインフラ技術は、かなり一生懸命見る気にならないと、見えてこない。
ある技術系イベントの席で、たまたま隣になったグーグルの技術者が、私にこう言った。「アプリはあんまりやらないんですよ。画面とか、面倒くさいでしょ。グーグルドキュメントとか別に消えていいって感じ。インフラに興味があるんです。OS? OSなんて、どうでもいいし」。
変わった人だなという印象を受けた。今の時代はインフラよりもサービスに華がある。フロンティアが広がっているのもサービスの分野だ。そう思っていた。しかし、それは記者の勝手な思い込みに過ぎなかった。
最近、『Googleを支える技術――巨大システムの内側の世界』(西田圭介、技術評論社)を読んで、この考えは180度変わった。彼が言っていたアプリケーション(サービス)よりインフラがおもしろいという発言に共感を覚えるようになったのだ。グーグルでのインフラ開発は、極めてエキサイティングなものに違いない。
グーグルのインフラ技術は、本当のところ、内部の人間にしか分からないことだが、パブリックになっている論文や統計データ、グーグルの関係者の発言からでも、かなりのことが分かる。そのことは記者も分かっていたし、実際にMapReduceやGFSに関する論文はプリントアウトして持ち歩いていたこともある。しかし、公開されている論文数は多く、テーマも専門的で多岐にわたるため、とても記者ごときに読み通せるものではなかった。
そうした論文を読み込み、公になっている情報をつぶさに拾い上げてグーグルのインフラ技術の全体像を再構成して平易に解説した『Googleを支える技術』には大きな価値がある。この本のもう1つの価値は、そうしたインフラ技術の一部が今なお開発を継続中であり、どういう課題に取り組んでいるかを明らかにしていることだ。インフラよりもアプリケーションがフロンティアであると感じていたのは、グーグルのインフラがいかいすごかろうと、それはもうほとんど完成してしまったものだろうと思いこんでいたからだ。
グーグルがしてきたことは、単に何万台かのコンピュータを使って計算処理を分散しました、というような話ではない。コモディティ化された大量の安価なCPUやハードディスクをいかに自律的、効率的に運用してグローバルな巨大ファイルシステムやデータベースを作るかというのがテーマだ。言葉にするとそれだけのことだが、相手にしているデータやハードウェアの量が桁違いに多いことと、PC間の接続距離を何階層かに分けて考える必要があることなど条件が複雑なことから、多くのチャレンジングな課題が出てくる。
Rubyの生みの親である、まつもとゆきひろ氏は前書きに寄せて「Googleのしてきたことは、コンピューティングの未来の先取りです」と書いている。グーグルのインフラ構築というのは従来の常識やモデルが通用しない世界だから、グーグルはストレージシステムやコンピューティングのあり方を再定義しつつあるのだと言えるのだろう。また著者の西田圭介氏は、グーグルの巨大システムのしくみを1つ1つ見ていったとき、「はじめてOSやデータベースについて学んだときのようなわくわくする気持ちを覚えました」と書いている。確かに、グーグルの内部では、従来の意味でのコンピュータの教科書に載っていないような独特の仕組みがいくつも実現しているのだ。
例えば、GFSやBigtableほど知られていない「Chubby」と呼ばれる分散ロックシステムがある。ChubbyはGFSに対する外部ロックシステムとしても機能するが、GFSで扱うのに適していない小さなデータを扱うファイルシステムとしても利用されるという。さらに、イベント通知機能を備えており、その特性からグーグル内部ではDNSサーバ代わりに名前解決に使われているという。Chubbyは5台で1つのセルを構成し、1つのマスタと4つのレプリカからなる。そのマスタはマシン間の投票で選ばれるという。また、Chubbyセルにはデータセンター内で閉じたものと、グローバルにアクセス可能なものがある――。
グーグルの分散システムを支える多くの技術に似たアイデアは、アカデミックな世界では広く知られているものも多いという。ただ、著者の西田氏が指摘する通り、それを着々と10年かけて実装してきたこと、実験してきたこと、最適化してきたことこそが、「見えないグーグル」の強みだろう。それは必ずしもコンピュータサイエンス的なデジタルだけで完結するインフラばかりではなく、PCの消費電力(電源ユニットの改造)やハードウェアの故障との戦いという面でも膨大なノウハウを蓄積している。
『Googleを支える技術』を読んでいて記者は思わず笑ってしまったのだが、著者の西田氏は随所にグーグルのインフラを利用する上での注意を書いている。例えば、過去のトラブルを引き合いに出しつつ「Chubbyを利用するときにはデータが大きくなりすぎないか、注意して使わないといけません」などと、まるでグーグルの新人研修用テキストに書くような文章を書いている。普通に考えれば誰の役にも立たない助言だが、その一方で、いずれ遠くない将来、こうした分散システム上でプログラミングをするのは、何もグーグル社員に限らなくなるのではないだろうか、という予感を感じさせるものでもある。
情報をお寄せください:
最新記事
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |







