グーグルの垂直統合思想

New York Timesの「A Search Engine That's Becoming an Inventor」
http://www.nytimes.com/2006/07/03/technology/03google.html
は、グーグルに関し日々書かれている莫大な量の記事の中でも、久しぶりのヒットだと思う。NYTの原文はたぶん数日で読めなくなるので注意。
ウェブ進化論」第二章「グーグル」の第三節「グーグルの本質は新時代のコンピュータ・メーカー」の中でかなりのページ数を割いて詳述した内容と、この記事の内部取材によるファクトをあわせると、グーグルがどれほど他のネット企業と違うか、つまりグーグルの特異性が、より正確に理解できると思う。
ウェブ進化論」(p66-67)の中でこう書いたが、

そこで彼らが考えたのは、ネットの「あちら側」に自分たちが作る情報発電所は、「コンピュータ・システムそのものを設計する」という学問分野におけるここ一〇年の成果をすべてぶち込んで、全部ゼロから自分たちで作ろう、ということだった。価格性能比向上スピードが著しいPCを構成するマイクロプロセッサやストレージといった部品群を大量に並べて、大規模な情報を高速に信頼性高く処理できる低コストのコンピュータ・システムを作ることにした。そして構成要素たる一個一個の部品が頻繁に故障しても、全体としてはきちんと動き続けるシステムを構想したのである。日々増え続けるデータ、日々増え続けるトラフィック量に対応するために、シンプルに部品の量を増やしていけばいい設計を徹底した(専門的にはスケーラブル・アーキテクチャと言い、この考え方がコンピュータ・サイエンスにおいて根源的に重要な概念だと主張する研究者も多い)。
そもそもコンピュータ・メーカーというのは、このように「新しい考え方のコンピュータを設計して世に問う」会社のことだった。グーグルは、PC産業興隆の副作用として消滅した「本当のコンピュータ・メーカー」になろうとしたのだ。
八〇年代までのコンピュータ・メーカーは、設計したコンピュータを一台一台、顧客に売ってまわった。顧客の手元、つまりネットの「こちら側」に置くためには、そうしなければならなかった。でも新時代は違う。グーグルはコンピュータ・メーカーではあるが、作ったコンピュータ・システムを売る必要はない。巨大システムを自社サービス実現のために一つだけ作って、グーグルが世界に向けて提供するサービスの情報発電所インフラとして利用すればいいのである。
誰かに発注すればいいものをゼロから自分で作る意味は何か。突き詰めていくとそれは、圧倒的なコスト優位の実現である。チープ革命の恩恵すべてを会社全体で受け止めようとした結果と言ってもいいのである。 

これを補助線に、この記事を読むといい。
この記事で新しいのは、グーグルが参考にした研究や、グーグル内部システムの具体的な話が出てくるところだ。
(1) グーグルはスーパーコンピュータ研究コミュニティのいいアイデアを採択して現実に動くシステムに作り上げた

"Google took the best ideas from the supercomputer research community and wove them into a working system," said Stephen E. Arnold, a technology consultant to investors and the author of "The Google Legacy" (Infonortics, 2005), a book on Google's technology.

(2) 並列処理の長年の研究成果を取り入れたMapReduce

One such program, called MapReduce, is based on ideas discussed in computer science literature for decades, according to Urs Hölzle, Google's senior vice president for operations. "What surprised us was how useful it turned out to be in our environment," he said.

ちなみにMapReduceについては
http://labs.google.com/papers/mapreduce.html
で解説がある。
(3) 同じく並列処理の研究成果を取り入れたGoogle Work Queue

Another system, called the Google Work Queue, allows a big pool of servers to be assigned to various tasks as needed and reassigned to other projects later.

(4) 個別ハードの信頼性は低いまま、ソフトウェア層で信頼性を上げるGFSなどのシステム

"Nobody builds servers as unreliably as we do," Mr. Hölzle said in a speech last year at CERN, the Swiss particle physics institute. Google is reducing cost while maintaining performance by shifting the burden of reliability from hardware to software --- individual hardware components can fail, but software automatically shifts the local task and the data to other machines.
For example, Google designed a software system it calls the Google File System that keeps copies of data in several places so Google does not have to worry when one of its cheap servers fails. This approach also means that it does not have to make regular backup copies of its data as other companies do.

まぁ、こういう開発の諸々を考えあわせると、日に日に大きくなっている自ら構築中の超並列分散処理コンピュータ(「情報発電所」)のOSを、グーグルは粛々と開発していると考えればいいだろう。
他のネット企業は、こんなレイヤーには絶対に力を入れない。

Google's biggest rivals, Microsoft and Yahoo, certainly write much of their own software, and they work to configure their computers and data centers to their own needs. But they largely buy machines from existing manufactures like Dell, Sun Microsystems and Rackable Systems.

もっと上のユーザに近いレイヤーで勝負するのがネット企業だろ、というのがネット産業の常識である。
確かにグーグルのシステム・コストは他の企業より安い。グーグルはそこに自信を持ってもいて、競合に比べて最低でも二年、最高五年くらいは進んでいると自負する。

Google will not comment on its costs, but it does claim an advantage. "We don't think our competitors can deploy systems cheaper, faster or at scale," Alan Eustace, Google's vice president for research and systems engineering, told analysts in March. "That will give us a two-, three-, five-year lead."

またコストも競合の半分以下。普通の会社のシステム開発の場合の十分の一だとの第三者による推定も紹介される(僕は個人的には、もっと大きなコスト優位性があると見ている)。

Mr. Reynolds estimated that Google's computing costs are half those of other large Internet companies and a tenth those of traditional corporate technology users.

けれど、ネット事業ってそんなところで競争するものなのかい? というのが競合側の自然な言い分となる。そんなところまで「垂直統合」するのが正しいとは思えないよ、と言うのが、たとえばYahoo!の立場だ。

"At some point you have to ask yourself what is your core business," said Kevin Timmons, Yahoo's vice president for operations. "Are you going to design your own router, or are you going to build the world's most popular Web site? It is very difficult to do both."

これはIT産業における20世紀末までの常識、「水平分業」思想そのもの。IT産業界のほとんどの人たちは、このYahoo!のKevin Timmonsの言葉に共感するだろう。
また、もう少し普遍的な言い方をすればこういう表現になる。グーグルの(コンピュータ・レイヤーまで「垂直統合」する)アプローチは、(ネット事業を展開するうえで)不必要で非効率であると。

Despite those boasts, some argue that Google's home-brew approach is unnecessary and inefficient, a headstrong indulgence masked for now by the growth and profitability of its advertising business. And Google's rivals say their networks are plenty efficient and powerful.

でもグーグルは、間違いなく超並列分散処理コンピュータのOSまでは「垂直統合」することに決めて、粛々と開発を進めている。
そしてその先に半導体まで作るんじゃないか(「垂直統合」していくのではないか)という話を書いているところが、この記事のもう一つの面白いところだ。

Beyond servers, there are signs that Google is now designing its own microchips. The company has hired many of the engineers responsible for the Digital Equipment Corporation's well-regarded Alpha chip.
"Google's next step is to build high-performance silicon," said Mark Stahlman, an independent technology analyst.
Mr. Hölzle said Google had considered custom semiconductor design, but he declined to say if the company had built any. He said that, in general, Google did not want to build anything from scratch if it could buy something that was just as good.

この部分の機微が面白い。DECでアルファ・チップをやっていた人たちが、グーグルに既に入社しているらしい。それをもってグーグルがチップ開発に乗り出すのではないかと推測する人もいる。この文章中の「Mr. Hölzle」とは「Google's senior vice president for operations」であるが、彼が言う「グーグルは何でもかんでもゼロから作りたいとは思っていないけれど、自分たちが思うベストのものが世の中から調達できない場合には自分たちで開発することもやぶさかではない」という考え方は、グーグルの本音であり、今彼らが持っている万能感の表れだろう。
果たしてグーグルは、半導体にまで「垂直統合」の領域を広げていくのだろうか。じつに興味深い。
この記事を読んだ「ザ・サーチ」著者ジョン・バテルは、こう感想を述べている。
http://battellemedia.com/archives/002694.php

Google clearly believes that its infrastructure will prove a lasting competitive advantage, and the piece hints that Google may even get into microchip design. Hmmm, is Intel paranoid now?