石狩データセンター、科学的で情熱的で馬鹿正直な人たちが全力で作った進化し続ける巨大な箱

f:id:kitar:20131125163410j:plain

f:id:kitar:20131125163359j:plain f:id:kitar:20131123140228j:plain f:id:kitar:20131123180415j:plain

さくらインターネットさんの石狩データセンター(以下、石狩DC)にお邪魔してきました。

石狩DCへの純粋な興味もありつつも、オペレーションや継続的に改善を続けられるサービスの作り方へのヒントが欲しいという思いがあり参加させて頂きました。

普段はあまりブログを書く習慣がないのですが、なんだか書かずにはいられなくなったので、そのあたりのポイントを中心に書きます。

間違いなどをもし見つけられた際には、是非教えて頂けるとありがたいです。 

■はじめに

石狩DCは、科学的で情熱的で馬鹿正直な人たちが全力で作った、規模こそ巨大だが極めてシンプルで無駄がなく洗練された箱、僕にはそんな風に見えました。あれだけ徹底的に考え抜いて作っているからこそ高性能なVPSだって980円などという価格で出せるんですね。。ヤバいっす。。 

また、石狩DCは継続的に改善していくことを前提に設計された、巨大な実験場のようにも思えます。最大8棟の独立したモジュールで構成されますが、棟ごとどころか、棟内の部屋(サーバ室)を増やすたびに新しい改善や実験が盛り込まれます。さらに最近では、近くに自前の太陽光発電所を建設し超電導ケーブルを地下に埋めることを計画しているのだとか。

そんな途方もない努力を経て、エンドユーザの我々に高性能で安価で使いやすいサービスが提供されるのですね。。

余談ですが、道中みんなしてツイッターIDが書かれた名札をぶら下げて飛行機に乗ったものですから、客室乗務員の方に「つ、ツイッターの集まりか何かですか?」と聞かれました。「コンピュータがたくさん詰まってる施設を見学しに行くんです」と答えたら「お友達作りか何かですか?」と言われたので「そんなところです」とお答えしておきました。

さてそれでは、オペレーション作りや継続的改善などの観点から、ヒントになりそうだと思ったポイントをいくつか書きます。

■正確なオペレーションを遂行するための工夫

機械にできることは機械に任せ、人は人にしかできないことに集中するのは僕らの理想形です。石狩DCでは、監視やステータスチェックなど機械の力を活用しつつも、人間のチェックが必要なところはしっかりと工夫がなされています。

例えば、サーバの再起動をリモートではなく物理的に繋いで行う必要があるとき、以下のような流れで行うそうです。

  1. 現場に出向き、対象のマシンを特定
  2. 特定したらまずはそのマシンに付箋を貼る
    ※大量にサーバが並んでいるのでちょっと目を離しただけでも対象マシンを見失いやすい
  3. 作業端末を繋ぎ、IPと付箋と作業端末と繋がっているケーブルを声に出して確認
  4. テレビ電話で他のスタッフに現場を見てもらい、ダブルチェック(!)
  5. 再起動!

今回は簡単で分かりやすいリブート作業を紹介して頂きましたが、似たような工夫が随所になされていると思われます。

■改善し続けることを前提に考える

石狩DCは最大8棟のモジュールが建設できるようになっていますが、それぞれのモジュールは極力独立させていて、あるモジュールで得た学びを次のモジュールに活かせるようになっています。また、モジュールの内部においても、新しいサーバ室を作るたびに改善がなされています。改善は、部屋全体のエアフロー設計のような大きなものもあれば、細かなものもたくさんあり、例えば

  • ラック前面パネルをより冷気を取り込みやすいものに変えたり、
  • 排熱するルートを作るパネルの素材をよりエネルギー効率のよいものに変えたり、
  • 作業効率を上げるためにネジいらずのスライド式パネルを作ったり、
  • 機材を搬入しやすくするために自動ドアに変えたり、
  • その他もろもろ

といったようなことが、1つのサーバ室を運用して学んだ結果次のサーバ室に活かされます。

現場の気付きを吸い上げるための体系だったフローはまだ整っておらず、今まさに検討中なのだそうですが、そんな中でも現場のスタッフが直談判したり役員が訪れたときに拾い上げたりできる(そしてそれをしっかり反映できる)というのは、さくらインターネットの文化がなせる技なのだと思います。

■科学的に分析し、合理的にそぎ落とし、徹底的にコストダウン

改善するには正確なデータを計測することからはじまります。石狩DCでは、外気や室内の温度・湿度・含有成分の測定はもちろん、すべてのラックに個別に、冷気を送り込む部分と排熱する部分にセンサを配置しているそうです。

これらによって、例えば部屋全体のエアフロー設計を変更したときや、ラックの規格を変えたときなどに、随時エネルギー効率にどのような影響が出るのかを正確に把握することができますし、また、運用中に想定外の事が起こった時にもすぐに流体解析を行って何が起こっているのか特定することができます。

すべての設備は、箱ありきではなく中身ありき(サーバ性能やエネルギー効率の最大化など)で考えられていて、常識に囚われない合理的なコスト削減がなされます。

多くのDCではサーバ室を底上げして下に冷気や配線を通すそうなのですが、その必要はない(かつ、やらない方が初期コスト的にも効率的にも有利)と判断してラックはコンクリートに直接打ち付けるようにしたそうです。配線はラックの上にはしご的なものをかけて通すだけでよいので、とてもリーズナブル。また、ラック上部から排熱するために空気を囲い込むパネル。あれは段ボールに特殊な断熱用フィルムを貼っているだけだそうです。

■その他

さて、ここまでオペレーションや継続的な改善を続けられるサービス作りのヒントになりそうなポイントを書きましたが、石狩DCのスペック面での特長なども少しだけメモを残しておきます。

DC全体の規模・スペック

  • 敷地面積は東京ドームと同じくらい。
  • その中に、8つの独立したモジュールを設置予定。
  • 現在は2つが建設済みで、稼働中のモジュールは1つ。
  • 1つのモジュールには約500ラックを設置。最大120サーバ/ラック設置できる設計なので、全モジュールが建設されたら50万台近く稼働できることに。
  • 1つのモジュールは何部屋かのサーバ室に分かれている。1つのサーバ室を運用して得たデータを元に、次のサーバ室では改善した構造を試せるようになっている。
  • DCのエネルギー効率を示すPUEは見学時点で1.1程度。一般的なDCは1.5以上あるらしく(2とか3とかも普通)、1.1台というのはGoogleFacebookに並ぶ、まさに世界水準。

DC全体で実現する高エネルギー効率

  • DCでサーバの次にエネルギーを消費するのが空調。
  • いかに効率的に冷気を送り込み、熱を逃がし、サーバ室内を適温に保つかが効率化のポイント。
  • 石狩DCは建物全体が、(石狩の冷たい)外気を下部から取り入れて、熱を上部から排出する構造になっている。
  • 海や山から吹いてくる冷たい風を取り込んで、異物や塩分をフィルタし、排熱と混ぜて温度を調整し、適度に加湿してサーバ室に送り込むようになっている。
  • サーバ室内のエアフローは何種類か実験されている。
  • 1つは、側面から冷気を送り込んでラック上部から排熱するフロー。
  • これはエネルギー効率こそ良いが、サーバ室内で作業する人にとって過酷な環境すぎるなどの問題があったためボツになったのだとか。
  • もう1つは、天井から冷気を送り込んでラック上部から排熱するフロー。
  • 部屋全体をバランス良く冷やせるが、冷気を送り込むためのダクトが必要なのでエネルギー効率はまずまずとのこと。
  • あともう1つ、ラックの背中同士を向き合わせて、衝突した熱気を上に送るタイプもあった。
  • ・ほかにもいろいろ種類はあるが、特許とかいろいろあって大変なのだとか。

■おわりに

f:id:kitar:20131123223909j:plain f:id:kitar:20131123201818j:plain

初日の夜の懇親会で、田中社長が参加者に振る舞ってくださったカニ。美味しかった。。この冬、もう1回北海道行きたいなー