2010/08/23(月)クラウドインフラの構築は異文化交流(書籍:Googleクラウドの核心)

IIJ 次世代モジュール型エコ・データセンター実験



先頭を切って公開された首藤さんの記事の公開を皮切りに、昨日公開されたあきみちさんの総まとめまで、皆さんいろいろな観点でまとめられた記事が公開され、IIJが実施している次世代モジュール型エコ・データセンター(通称コンテナDC)の話題がプチ盛り上がっています。
などと第三者風に書いていますが、そもそもこのブロガー向け見学会の企画&説明をしている本人が私なので、大変自作自演的というかどうも皆様ありがとうございましたその節は大変お世話になりましたなどなど。

掟破りの「ブロガーミーティングを開催してきました(中の人)」的なエントリを書こうかと思ったのですが、レポート自体は皆さんの記事を参照していただく方がおもしろいと思うのでパスしときます。

Datacenter as a Computer

今回は、この見学会のレポートを書いていただいた首藤さんが監修されている、Googleクラウドの核心(日経BP)の話を実験と絡めて書いてみようかと思います。*1
Googleクラウドの核心
ルイス・アンドレ・バロッソ、ウルス・ヘルツル (著)
丸山不二夫、首藤一幸、浦本直彦 (監修)
高嶋優子、徳弘太郎 (翻訳)
日経BP社
本書は元々The Data Center as a Computerとして刊行されている洋書の翻訳であり、Googleの巨大コンピューティングの一端について解説した本になります。

何となく読むと「Googleすげー」的な本にも見えるのですが、、似たようなことをやっている人間からすると、こいつはクラウドインフラに関わる当事者が読むべき入門書だと感じるわけです。Googleがやっていることをまねするためではありません、このような巨大インフラを構成にするに当たり必要な要素が上から下まで網羅されているというのがポイントなのです。

インフラのコストを下げるためには

クラウドインフラを作ると言うことには、暗黙のうちにコストを削減するという圧力がある、ということにします。まあ、お金をいくらかけてもよければこんなにめんどくさいことやらなくていいですからね。
コストを下げるというのは、従来はサーバを安く入手したり、単体のサーバでより多くの処理をこなせるようにしたりという努力があったわけです。もちろんデータセンター(コンピュータの置き場所)を安く作るというのも重要なことです。
しかし、最近のコスト低減圧力はそんなレベルをとうに通り越して、それぞれのレイヤーでの努力だけではどうにもならないレベルにまで到達しています。

システムの品質というのを定義するのは難しいのですが、まあ皆さん何となく性能とか可用性とかを思い浮かべると思うので、そういうなのをひっくるめて「品質」と言うことにしておきましょう。「品質」は高ければ高いほどいいのですが、たいていの場合質を高めるとコストが高くつきます。そして、コストと見合いながら「このへんまでならいいかな」という感覚で要求する品質とコストの最適化を測ってきました。
そして、従来はこれは各レイヤーにおいて個別に行われていたのです。

個別にコストと品質のバランスが最適化されたシステムからさらにコストを下げるにはどうするか。そこで考えるのが、レイヤーをまたいだ最適化です。
サーバのパーツを豪華にして停止しにくくするのではなく、周囲の仕組みをあるサーバが停止しても影響を受けにくくする。高価なロードバランサを使う代わりにアプリケーションを工夫してセッションを共有する、とか。
あるレイヤーでは実現できなかった「品質」を別のレイヤーの「品質」を向上させることで、システム全体としての「品質」を低下させない(向上させる)という手法がとられてきました。

データセンターもシステムのレイヤーの一つである

そして、Datacenter as a Computerの言わんとすることは、このレイヤーをまたいだ最適化をデータセンターのレイヤーにまで広げようと言うことです。
従来ソフトウェアとインフラ(サーバ・ストレージ・ネットワーク)については、比較的近しいエンジニアが手がけてきたため、レイヤーをまたいだ最適化が意識無意識のうちに行われてきました。しかし、データセンターに代表される、いわゆる「ファシリティ」レイヤーについては、求められるスキルが大きく異なることもあり、なかなかその最適化の対象になってこなかったという現実があります。
そのため、データセンターのエンジニアは自分のテリトリーの中で最高を求め、インフラエンジニアは高品質なデータセンターを「当たり前」として使ってきました。
コストの削減のために、この、両者の垣根を取り払おうというのが本書の提言することです。

日本語版「Googleクラウドの確信」の目次は以下のようになっています。
1. イントロダクション
2. 負荷とソフトウェア基盤
3. ハードウェアの構成要素
4. データセンターの基礎
5. エネルギーと電力の効率
6. コストのモデル化
7. 生涯と修理への対応
8. WSCの課題
それぞれの章で取り上げられている内容は概要でしかないかもしれませんが、これは「ファシリティエンジニアがインフラやソフトウェアのことを知る」そして「ソフトウェア・インフラエンジニアがファシリティのことを知る」ために必要な基本的な要素が押さえられています。
その目的は、自分のレイヤーが解決できない課題を他のレイヤーに任せること、あるいは他のレイヤーが解決できない課題を自分のレイヤーで解決すること。

特に4章、5章ではデータセンターがどのような技術により構築されており、何にコストがかかっているかを紹介しています。インフラエンジニアやソフトウェアエンジニアがこの章を読むことで、どのような要求を切り下げることでデータセンターのコストが引き下げられるのか、そして、そのために何を作らなければならないのかというアイデアを得ることができるでしょう。
そして、ソフトウェア・インフラエンジニアが、電力や冷却などのファシリティの特性を考慮したシステム作ることで初めて、ファシリティエンジニアは今までの固定観念から解放され、新しい(低コストな)ファシリティを作ることができるのです。

ぶっちゃけ、データセンターの現場は土建・設備業界です。*2もちろん中にはコンピュータやシステムに対して大変造詣の深い方もいらっしゃいますが、業界としてはオフィスビルを建てたりプラントを作ったりしている方々なのです。彼らは大変優れた技術をお持ちですので、「この条件を満たす建物を建てて」とお願いすれば間違いのないものを作ってくれます。しかし、彼らがITシステムを見て「この設備省略したいから、システムのここ何とかして欲しいんだけど」という要望を出してくれるかというと、残念ながらまだそれは難しいでしょう。現時点ではまだ、彼我の距離は近くありません。

だからこそ、クラウドインフラの構築というのは、異文化交流だと思うのです。
違う背景を持った技術者が互いの得意不得意を理解して、初めて効率的なインフラが作れるのです。
本書はそのきっかけとなる良い書籍です。これをとっかかりにして、文化の交流が進むことを切に願います。

*1 : 献本ありがとうございました

*2 : データセンター「オペレーター」さんはここでは含んでません

宣伝

えーと、本文とは関係ないのですが、技術評論社から出ている雑誌に記事を書かせていただきました。
こちらはIIJ GIOの紹介ってことになってます。今回のコンテナDCはGIOのために作っているので、まあ、関係ないわけではないかと。
GIOの仮想サーバって実際のところどうよ?って話もありますので、気になる方は是非どうぞ。
G-CLOUD Magazine
技術評論社