書籍「Googleクラウドの核心」、いずれクラウドでソフトウェアを開発する人に
本書「Googleクラウドの核心」で書かれているのはGoogleクラウドを構成するハードウェアとソフトウェアのうちのハードウェア。すなわちデータセンターについてです。
そして本書では「データセンター」を、
データセンターとは、必要な環境や物理的なセキュリティの要件が共通する複数のサーバや通信装置を、保守しやすいように1カしょに集めて配置している建物のことである。
上記のように定義しつつ、本書の主題である「WSC」(Warehouse-Scale Computer、ウェアハウススケールコンピュータ)を
WSCは、新しく、急速に進化し続けている処理要求に対応するための、新しいタイプの大規模マシンである。
このように定義。このWSCが、本書の原題である「Datacenter as a Computer」のComputerに名称を与えたものであり、そして本書はいかにしてWSCを構築するかについて、グーグルが得てきた知見を記した書籍です。
WSCの構造と効率
WSCの構築の課題として本書でつねに取り上げられるのが「効率」です。第3章「ハードウェアの構成要素」では、64ソケット128コアのハイエンドサーバであるHP Superdomeと、1ソケット4コアのローエンドPCサーバであるHP ProLiantでTPC-Cを走らせ、どちらのコスト効率が高いかを比較。
双方の値引き要素を無視すると、ProLiantはSuperdomeの約20倍のコスト効率ということになる。
さらにイーサネットで接続されたクラスタ性能を測定。クラスタを構成するサーバの台数が多くなるほど、SuperdomeとProLiantの性能差が近づいていき、4096台ではほとんど変わらなくなることも示しています。
グーグルのクラウドがコモディティサーバから構成されている理由の一端がここにあります。
第4章では「データセンターの基礎」として、データセンターを構成する電力システム、冷却システムについて解説。ここでも効率的な冷却について紹介しています。
第5章「エネルギーと電力の効率」は本書の中心となる章。データセンターが消費する電力のうち、IT機器に使われているのはわずか30%で、残りは冷却やUPSなどに使われていることを示した上で、冷却を減らすために温度を27度まで上昇させる、サーバごとに直流12V UPSを用いる、などの対策を例示。
さらに、変化するサーバの負荷に対してそれほど消費電力が連動しないことを示し、その主な要因がディスクやメモリの電力消費にあること、また、ラックごとにみればラック全体の最大消費電力に達することはほとんどないため、全ラックの最大消費電力の合計がデータセンター全体の電力容量を上回る「オーバーサブスクリプション」の可能性についても論じています。
その他、本書の構成は以下のようになっています。
第1章 イントロダクション
第2章 負荷とソフトウェア基盤
第3章 ハードウェアの構成要素
第4章 データセンターの基礎
第5章 エネルギーと電力の効率
第6章 コストのモデル化
第7章 障害と修理への対応
第8章 WSCの課題
クラウドでソフトウェアを開発するはずのエンジニアに
おそらく、本書で解説している内容がそのまま仕事に役立つ、というエンジニアの方はそれほど多くないでしょう。それでも本書は多くのエンジニアにおすすめしたいと思います。その理由は、単純に最新のデータセンター(とはいえグーグルにとっては数年前のもの)がどのような考えで構築されているのかを知る楽しさが1つ。
そしてもう1つ理由があります。
僕は本書を読んでいるうちに、何だか20年前のエンジニア時代にイーサネットの構造(当時はイエローケーブルとトランシーバーの時代)や仕組みを解説した本を読んでいるのと似た感覚を思い出しました。
エンジニアとしてソフトウェアを開発したり理解するのに、イーサネットの物理レイヤがどうなっているのか知っていることが直接役立つことは、それほどありません。しかしそれでも、物理レイヤからきちんと理解することはIT全体の理解にとって大事な要素だと思えたし、僕が優れたエンジニアだと思う人の多くはそうした知識をしっかり持っていて、いろんなことを教えてくれました。
それと同じように、これからクラウドでソフトウェアを開発することになるはずの多くのソフトウェアエンジニアにとって、クラウドの物理レイヤから理解を組み立てていくために本書は格好の、そしておそらく唯一の優れた参考書になるはずです。
ところで、Googleクラウドのもう半分、検索エンジン、GFS(Google File System)、BigTable、MapReduce、Sawzallといったソフトウェアについても知ることで、Googleクラウドの核心にさらに近づけるはずです。それには技術評論社の「Googleを支える技術」を併せて読むことをおすすめします。
Googleクラウドの心臓とも言える巨大データセンターは、データセンター全体があたかも1台のコンピュータであるかのように振る舞う。 これをグーグルでは「Warehouse-Scale Computer(WSC)」 と呼ぶ。グーグルはなぜWSCのようなアプローチを採用したのか、驚くほど高いエネルギー効率はどのように実現しているのか
ふだんなにげなく行っているWeb検索。背後には、想像以上に膨大な計算、多数のコンピュータの働きがあります。本書では、論文やWebなどで公開されているパブリックな情報をもとに、Googleの基盤システムについて技術的な側面から解説を試みています。
Googleクラウドのアーキテクチャについて興味のある方は、以下の記事でも詳しく解説しているので、ぜひ読んでみてください。
- グーグルの最新のデータセンターは非常識なほど進化している
- データセンターが「落ちる」ことを想定したグーグルのアーキテクチャ
- グーグルが「Google File System」次期バージョンを開発中
- グーグルが取り組む次世代Bigtable、全世界規模でサーバ1000万台を自動化して構築する「Spanner」プロジェクト
- グーグルが構築した大規模システムの現実、そしてデザインパターン(1)~MapReduce編
- グーグルが構築した大規模システムの現実、そしてデザインパターン(2)~BigTable編
- グーグルが構築した大規模システムの現実、そしてデザインパターン(3)~教訓編
- データセンターの進化を振り返る(日経BPの中田記者が)