第3回 Google Inc.

企業連携プログラム
連携講座2 K1 (情報システム学科)
第3回 Google Inc.
西尾 信彦
情報システム学科
創業
• Stanford大学の大学院生であった
Larry PageとSergey Brinにより1998年9月に創業
– Menlo Parkにて創業し、その後Mountain Viewに移動
– 当初、Netscape Navigatorに添付され広まる
– Yahoo!の基幹検索エンジンとして採用
• 現在はYahoo!は独自
– 2001年にNovell Inc.のCEOのEric SchmidtをCEOに
• Adsが開始される
– 2004年に株式公開(IPO)
– 今年でちょうど10周年
• 創業以前は、www.google.stanford.eduとして稼動
– 大学のネットワークの6割以上を使用し追い出された
1
会社概要
• Google's mission is to organize the world's
information and make it universally
accessible and useful.
• ウェブ検索から始まり、イメージ、ニュース、
地図、動画(YouTube)、書籍など多岐に渡る
検索が可能に
• 検索のみならず、Gmail、カレンダー、オフィ
スなどのウェブアプリケーションから、 、ブロ
グ、写真などのコミュニティサイト、近年では、
Android携帯の開発、ウェブブラウザの提供
など多岐に渡る
Googleのオフィス
• 20カ国以上、数十拠点
– 中国、台湾、韓国、シンガポール、イスラエル、
2
全世界で分散開発
• 約2万人の従業員
– Microsoftが約4万人、立命は約1500人
• 約1万人がMountain Viewキャンパスに
– 数千人のソフトウェアエンジニア
• 残りは全世界に分布
– すべてのオフィスでまったく同じソフトウェア開発
環境
– 24時間VC環境 – 時差のみが乗り越えられず
収益はウェブ広告
• Google AdWords 広告プ
ログラム
– 検索結果に合せて、ターゲッ
トを絞った製品やサービスの
広告を掲載する
– 同種の広告プログラムの中
で最大規模のもの
• Google AdSense プログ
ラム
– ウェブサイトのコンテンツと関
連性の高い広告を掲載しサ
イトオーナにも収入を提供
3
Googleが発見した10の事実
• 1. ユーザーに焦点を絞れば、「結果」は自然に付いてくる。
– Google は、当初からユーザーの使い心地を第一に考えてきました。顧客を
最も重要視していると謳う企業はたくさんありますが、株主にとっての企業価
値を高める誘惑に負け、犠牲を払う会社企業も少なくありません。Google は、
サイトを訪れるユーザーの利益にならない変更は一貫して拒否してきました。
• わかりやすいインターフェイス。瞬時にロードされるページ。有償で提供されること
のない検索結果順位。
• サイトにはコンテンツと関連した広告が掲載されるべきで、注意をそらすようなも
のは好ましくありません。
– Google は、常にユーザーの利便性を第一に考えて行動した結果、ウェブの
世界に熱心なファン層を築き上げることができました。その発展は、テレビ コ
マーシャルなどを通じてではなく、満足しているユーザーの口コミを通じて実
現されたものです。
• 2. 1 つのことを極めて本当にうまくやるのが一番。
– Google は検索を行う会社です。 検索問題を解決することだけに焦点を置い
た世界最大の研究グループの 1 つを有する Google は、自分たちにできる
ことが何か、それをもっとうまくやるにはどうすればいいかを知っています。
他の会社で障害となるような複雑な問題も反復に反復を重ねて解決し、ウェ
ブ上で最高と言われるサービスをそれ以上のものにすべく、何百万という
ユーザーが情報をすばやくシームレスに検索できるよう、絶え間ない改善を
行ってきました。 検索分野で培った技術は、Gmail、Google デスクトップ、
Google Maps などの新しいサービスにも応用されています。 検索技術と同
様に新しいサービス* の開発に力を注ぎ、他の分野でも検索技術を活用する
ことで、ユーザーが生活のあらゆる面においてさまざまな情報にアクセスして
利用できるよう努力を続けています。
Googleが発見した10の事実
• 3. 遅いより速い方がいい。
– Google は、"今すぐの喜び" を信じています。答えを求めるユーザーは、答え
が今すぐ手に入ることを望んでいます。これは明らかな事実です。ユーザー
が一刻も早くウェブ サイトを離れることを目標に掲げている会社は、世界広し
といえ Google 以外にはないでしょう。Google は、Google のサイトのページ
から余計なビットやバイトを残らず削ぎ落とすこと、そしてサーバー環境の効
率を向上させることに全力を傾け、自己の持つスピード記録を何度も塗り替
えています。他の会社が大量のデータを処理するには大規模サーバーが最
も速いと決めつけている一方、Google は、PC のネットワークを利用した方
が高速であることに気付きました。他の会社が検索アルゴリズムに起因する
スピードの限界を容認する一方、Google は、新しいアルゴリズムを記述して
限界がないことを証明しました。そして Google は、さらなるスピード アップを
目指して努力を続けています。
• 4. ウェブでも民主主義は機能する。
– Google が機能するのは、どのサイトのコンテンツが重要かを判断する上で、
どのウェブ サイトの重要度が高いかを決定するために投票してくれる数百万
のユーザーを頼りにしているからです。少人数の編集者が決定したり、用語
の出現頻度だけを基準に決定するのではなく、PageRank™ という画期的な
技術を使用して各ウェブ ページにランクを付けています。PageRank は、そ
のページにリンクしているすべてのサイトを評価して数値を割り当てます。評
価の際、それらのサイトにさらにリンクしているサイトも考慮に入れます。ウェ
ブの構造全体を分析することで、Google は、どのサイトがそのコンテンツに
興味を持つユーザーから最高の情報源として "投票" されたかを判断します。
この方法では、新しいサイトが増えるたびに情報ポイント、しいては票数が増
えるため、ウェブが拡大するにつれて効率が上がります。
4
Googleが発見した10の事実
•
5. 情報を探したくなるのは机に座っているときだけではない。
–
•
世界はますますモバイル化し、特定の場所への拘束が望まれない時代になりました。PDA や携帯電話、果
ては自動車などを使用している際にも情報を手に入れることが要求されています。この分野で Google が開
発した革新的技術に Google 数字検索があります。これは、ウェブの閲覧が可能な携帯電話や、HTML 形
式のページを携帯電話用のブラウザで読み込み可能な形式に変換するシステムを対象とした技術で、デー
タ検索に必要なキー ストローク数を減少させます。数字検索システムにより、PDA や i モード、J-SKY、
EZWeb などの携帯端末でこれまで閲覧できなかった何十億のページが表示されるようになりました。
Google は、あらゆる場所、あらゆる場面での情報探しをお手伝いすべく、新しい技術とソリューションを開拓
しています。
6. 悪事を働かなくても金儲けはできる。
–
–
–
–
Google は営利企業です。Google は、企業に検索テクノロジーを提供することと、Google およびウェブのそ
の他のサイトに有料広告を掲載することで収益を上げていますが、Google で広告を見たことがないという方
もいらっしゃるでしょう。それは、検索結果ページには、ページと関連性のない広告の掲載を許可していない
ためです。つまり、一部の検索結果ページにだけ、上側または右側に広告主サイトへのリンクが表示されま
す。Google は、広告というものはユーザーが必要としている情報と関連性がある場合にのみ役に立つと考
えています。
Google は、派手な広告でなくても効率よく宣伝ができることも証明しています。ポップアップ広告は邪魔に
なってユーザーが見たいコンテンツを自由に見られないので、Google では許可していません。Google は、
閲覧しているユーザーに関連性のあるテキスト広告 (アドワーズ広告) の方が、ランダムに掲載される広告
よりずっとクリック率が高いことに着目しました。Google の最適化グループが広告主と協力し、キャンペーン
中のクリック率を高める努力を行います。なぜなら、クリック率が高いということは、広告がユーザーの興味
に合っていることを意味するからです。企業の規模には関係なく、あらゆる広告主がこのターゲット広告を利
用できます。利用方法には、数分でオンライン広告の掲載が始まるセルフサービス式の広告プログラムと、
Google の広告担当スタッフがお手伝いをするプログラムがあります。
Google で掲載される広告には、必ずスポンサーによる広告リンク (スポンサード リンク) であることが明記さ
れています。検索結果の完全性が損なわれないことが Google の中心的価値観です。検索結果のランクに
手を加えてパートナー サイトの順位を高めるようなことは絶対にありません。PageRank は、お金で買うこと
はできません。Google のユーザーは Google の客観性を信頼しているのであり、その信頼を破って短期的
に収益が増加しても意味がないのです。
数千という広告主の皆様が、製品の販売促進のために Google アドワーズ広告プログラムを利用されてお
り、Google は、アドワーズ広告が同種の広告プログラムの中でも最大のものと確信しています。さらに、数
千のウェブ サイト運営者の皆様が Google AdSense プログラムを通じてサイトのコンテンツと関連性の高
い広告を掲載し、収入を得る一方でユーザーに快適なウェブ環境を提供しています。
Googleが発見した10の事実
• 7. 世の中の情報量は絶えず増え続けている。
– Google が他のどの検索サービスよりも多い HTML ページのインデックス化に成功
した後、Google のエンジニアたちは、簡単には検索できない情報に目を向けました。
そのうちの一部は、電話番号や住所、事業別ディレクトリなどで、新しいデータベー
スを統合するだけで検索可能になりました。しかし、中にはもっと工夫が必要なもの
もありました。たとえば、10 億千万枚の画像を検索する機能や、PDF ファイルとして
作成されたページを表示する機能です。PDF ファイルを含んだ検索結果がユー
ザーの間で好評なため、Google は、検索対象のファイル形式をさらに増やし、
Microsoft Word、Excel、および PowerPoint などの形式で作成されたドキュメントも
検索結果に含めることになりました。携帯端末ユーザー向けには、HTML 形式の
ファイルを携帯端末で読み込み可能な形式に変換する独自の方法を開発しました。
技術革新のリストはこれからも長くなるでしょう。なぜなら、Google の研究者たちが、
世界中のあらゆる情報を検索ユーザーに提供するために開発を続けているからで
す。
• 8. 情報のニーズはすべての国境を越える。
– 世界中のユーザーに情報へのアクセスを提供することを目標にしている Google は、
米国カリフォルニア州を本拠地とし、世界各地にオフィスを構えています。数十のイ
ンターネット ドメインを通じて検索エンジンを利用しているユーザーのうち、半数以上
が米国外に居住しています。Google の検索結果は、ユーザーが自分の希望言語
で書かれたページだけに限定することができますが、設定できる言語は 35 を超え
ています。また、ユーザーが母国語以外のコンテンツも閲覧できるよう、翻訳機能も
提供しています。また、検索を英語以外の言語で実行したいユーザーは、およそ
100 のインターフェイス言語から選ぶことができます。新しい言語を速く追加するた
めに、Google は、ボランティアの方々の手を借り、Google.com で入手可能な自動
ツールを使った翻訳を進めています。このプロセスにより、地球上のどこにいるユー
ザーへも、多様かつ高品質のサービスを提供できるように大幅に改善されました。
5
Googleが発見した10の事実
•
9. スーツがなくても真剣に仕事はできる。
– Google の創設者は、Google が検索に他の何よりも真剣に取り組んでいることを繰り
返し強調してきました。彼らは、仕事は挑戦に満ちていなければいけない、挑戦は楽し
くなければいけないという考えで会社を作りました。そのため、Google には他の会社
に見られない独特の企業文化があります。それはあちらこちらに置かれたモーション
ランプや巨大なゴム ボールだけの話ではありません。オンライン サービスにおいて
Google がユーザーを最優先しているのと同じように、会社の日常において Google
は従業員を最優先しています。チームで目標を達成することや、個人の業績に対する
誇りが会社全体の成功に貢献するということを強調しています。めまぐるしいテンポで
アイデアを交換し、テストし、実践しています。他の会社が何時間もかけている会議に
しても、Google では、ランチの間の会話とほとんど変わらないスタイルです。コードを
書く人と小切手を書く人の間を隔てる壁の数も、ほんの数枚です。このようにコミュニ
ケーションの活発な環境、そして数百万という人々が Google の検索結果に信頼を置
いているのだという意識が、生産性と仲間意識を促進しています。人と違うことがした
いという集団は、適切なツールさえあれば、本当に人と違うことをしてくれるのです。
•
10. すばらしい、では足りない。
– 常に期待を超える結果を出すことです。Google にとって一番であることは終点ではな
く、出発点に過ぎません。Google は、技術革新を繰り返し、機能性の高いものにさら
に期待を上回る改良を加えます。「入力したつづりが正しくなくても、上手く検索できる
ようにならないだろうか?」 あるエンジニアがそこに改善の余地を見つけ、ユーザーの
心を読み取るようなスペル チェッカーを開発しました。「WAP 電話からだと検索が遅す
ぎる。どうにかできないか?」 Google の携帯端末グループは、Google 数字検索を開
発し、入力に必要なストローク数を 1 文字あたり 3 ストロークから 1 ストロークに減少
させました。数百万というユーザーを抱える Google は、摩擦の生じる点をすばやく見
つけて解消することができます。しかし、Google の異色な点は、全世界のユーザーが
まだ具体的にイメージしていないニーズを予測して製品やサービスを開発し、新たなス
タンダードを作り出すことです。現状に満足しないこと、それこそが世界最高の検索エ
ンジンを作る原動力なのです。
Googleのウェブ検索
3. 数分の一秒の間
に、検索結果が表示
されます。
1. ウェブ サーバーが検索クエリをインデックス サー
バーに送信します。インデックス サーバーのコンテン
ツには、本の後ろにある索引と同じように、クエリと一
致する単語がどのページにあるか記録されています。
2. クエリがドキュメント サーバーに移
動すると、ドキュメント サーバーは保
管された書類を読み込みます。各検
索結果を描写するスニペット (ページ
の抜粋) が生成されます。
6
PageRank 技術
• 検索品質向上のため、
ウェブページをランク付
けする
– ランクの高いページから
参照されているページ
は更にランクが高くなる
– 参照リンク構造のみか
らランクが判定できる
– 近年はページ数の増大
と、SEO対策のため、そ
れほど機能していない
ささえるのは世界一のインフラ
• 膨大なPCクラスタにより構成
– Googleは売っていないだけでPCの生産世界一?
– 常にどこかのホストが壊れているても平気!
– クラウドコンピューティング
• 世界にコンピュータは5台だけ? Google,Amazon,Yahoo,MS,IBM
• 世界中に分散するデータセンター
– 数十箇所、水力発電所のそばに設置
– 日本には法制上置けない
• 徹底した分散システム
– ファイルシステム Google File System
– データベースシステム Bigtable
– 分散処理システム MapReduce
7
初期(1999年)の
Googleクラスタ
• 1枚に4CPU
– 4枚の基板をコルク板の
上に集めて実装
– しなう基板!
• HDDを空中実装
– 手作り
• 大量のケーブルと冷却
ファン
最近のデータセンタ
Google Chrome Comicより
8
Google File System
• Ubuntu LinuxのGoogle改良版をベース
– EXT3ファイルシステム
• テラバイトスケールのファイルの順次読み書
きに最適化
– 世界中のウェブデータを保存、数分で更新?
• Aggressiveなreplicationと分散アクセスによ
る高速化
データストレージ Bigtable
• ウェブサービスにつきもののMySQLでは役
に立たない!
• Relational DB(のすべての機能)は必要な
い!
• 巨大(テラバイトスケール)なテーブル(表)
– 横軸がURL、縦軸はコンテンツ、リンク情報、etc
• 多くのGoogleサービスがベースとして使用
9
分散処理システム MapReduce
• ウェブ検索のためのインデックステーブル作
成に活用
• Mapフェーズでは
– 莫大なウェブコンテンツをホスト毎に分担して、
– <キー, 値>ペアを作成
– 同一キーのペアを近いホストに集めて
• Reduceフェーズでは
– 集ったペア群をまとめて縮約し
– インデックステーブルに整形する
徹底したソフトウェア開発
• 全ソースコードがシングルツリーにまとめられ
– 全世界のオフィスから全エンジニアで共有
– すべてのオフィスで同じ環境
– ビルドツールでコードバージョン管理、自動バックアップ
• 厳密なコードレビュー
– 全てのプログラミング言語に厳密なコーディングスタイル
ガイドラインが存在
– 限界まで自動化されたコードチェック
– 必ず複数のエンジニアによるコードレビュー
• コードレビューサポートの自動化ツールを利用
10
徹底したコードテスト
• すべてのソースコード(ファイル毎)に必ずテス
トコードを書く
– 書かないとコードベースにチェックインできない
– テストコーディングスタイルも厳密に定義
• 随時、自動でテストが動き続け、どこかのテス
トが失敗すると即座に修正要求が担当者に
行く
– バージョン管理システムおよびバグ追跡システム
と連携
膨大なログを管理
• すべてのサービス履歴を記録
– どのユーザが何を検索しているか
• ユーザを特定
– 同じユーザがまた戻ってきて検索しているか
• 最初の結果に満足していない
– どのタイミングでユーザがどのリンクを選んだか
• ログはGoogleの第二の財産
– Googleしかもっていない
– ユーザのプライバシー保護を厳守 – log approvalの実施
• 膨大なログを処理するための
– プログラミング言語とシステム
11
エンジニア天国の環境
• エンジニアが少しでも長く働ける数々の工夫
– 多くの「噂」があるが?
• マネージャよりも優遇されるエンジニア
– 管理職に出世することが目標ではない
• 非常に高いHiring Bar
– 見たこともない問題を浴せ反応を見る
– その場でホワイトボードでプログラミング
– 間違った人を入社させない
• インターンシップもあるのでチャレンジを!
Google TechTalk
• 内部のエンジニアが技術発表をする場合
– Confidential
– 毎日10テーマほどあり活発
– VCやvideoアーカイブ
• 外部から講演者を呼んで内部で実施する場合
– GoogleVideoやYouTubeで公開
• 外部向けにGoogleから発信する場合
– 最近では今夏京都にて関西初の開催
– 多くは関東エリアにて開催
12