回線はデータセンターに移行して、お手製インフラと併用へ
ベニヤ板とDCのハイブリッド! pixivインフラの今
2010/07/21
ホームセンターに行けば9800円で買えそうなスチール製の“ラック”に、むき出しのマザーボード。うねうねとケーブルがラックの間を這(は)う。
「ラックに直接置くと通電しちゃうじゃないですか。だからラックに木片をくくりつけて、その上にマザーボードを載せているんですね。ただ、そうすると実は若干たわむんです、自重で……。なのでパーツの抜き差しではかなり嫌な思いをします」。
イラスト投稿サイトの「pixiv」(ピクシブ)でインフラの設計・運用を担当する上薗竜太氏がこう話すと、あまりの無手勝流ぶりに会場からは笑いが起こる。
「でも、これはまだ前のバージョンの運用でですね、3カ月前ぐらいからベニヤに変えました。これが新しいpixivを支えるラックです」
実物の写真がスクリーンに映し出されると会場には再び大きな笑いが起こった。「これによってマザーボードがたまわない。パーツの抜き差しで心も痛まない。マザーボードも傷まない。かなりいいラックになったんじゃないかなと思います」。
2009年9月、ライブドアが主催したテクニカルセミナーで講演した上薗氏によれば、pixivは160台にのぼるむき出しの“自作サーバ”にLAMPスタックを入れた自家製インフラで、当時月間8億5000万PVをさばいていたという(講演資料)。pixivは2007年9月のサービスインから数えて2年目にして、すでにかなりの成長を果たしていた。ところが、そのインフラは、たわみがちなマザーボードやベニヤ板だったのだ。
1台平均5万円。1ラック当たり20台。営業担当の女性社員までもが“自作”するというお手製サーバ群。データセンターに入ったブレードサーバなどに比べたらジョークのようなインフラだが、さばいているトラフィックの量は膨大だし、少なくともハードウェア調達コストに関してはコストパフォーマンスは高い。
この“ベニヤ・インフラ”で知られたpixivが、最近一部のサーバをデータセンターに置くようにしたのだという。理由は何だったのか?
早速、ベニヤを使ったサーバルームも設置されているピクシブ本社を訪ねてみた。
現在もベニヤ板式の自社インフラを併用
「すべてをデータセンターに移したわけではありません」。こう話すのはピクシブで技術部門を担当する取締役の青木俊介氏だ。「帯域保証したい画像やバックアップデータなどはデータセンターに置くようにしました。ただ、これまでに構築したインフラも使っていて、ここ(自社兼サーバルーム)と(新規に契約した)データセンターは専用線で接続しています」(青木氏)
ベニヤを使った自社サーバルームには今も約220台のサーバがマザーボードがむき出しにされた状態で並んでいる。
「写真を撮るなら、こちらのラックのものでお願いします」。pixivエンジニアの店本哲也氏に背後から声をかけられた。ラックは全部で十数本。ラックは世代別になっていて、サービス開始初期のものではケーブル類の引き回しが奔放(ほんぽう)だ。それに対して、確かにラックを追うごとに徐々にノウハウが蓄積して、ケーブルのまとめ方がうまくなっているのが分かる。最近のものはベニヤ板の採用により安定感も増している。一般家庭用のバッファローのハブに混じって、最新のラック付近にはH3C製のスイッチもあり、二重化されているという。
「最初のころのサーバは、明日までに3台入れないといけないという緊張感でやっていましたから(笑)」(店本氏)
よくよく観察すると、なるほど最近のラックは小奇麗、と、言えなくもない。しかし、ふつうに考えれば、どれも“むき出しのまま”。大差はない……。店本氏が自信たっぷりに指差す最新式のラックも、ちょっと恥ずかしそう指差す初期のラックも、等しく“奇観”。このベニヤ・インフラは、「インフラはふつうデータセンターにある」という前提を覆すのに十分なインパクトだ。
25本の光回線が物理的限界に
手作りで自社拠点を拡張してきたpixivだが、ここへきて転機が訪れた。データセンターにサーバを設置したのだという。新生pixivではデータセンターに新たに2ラック、45台を増設した。最大のネックは回線だったという。
東京・代々木にあるピクシブ本社が入っているオフィス向けビルは5階建ての比較的小さなビル。ここに一般利用者向けサービスの100Mbpsの光回線を合計23本、1Gbpsのものを2本も引き入れ、それを束ねて利用していた。これが限界に達していたという。
「床下の配管がいっぱいになって、新規ケーブルの施設でも工事の人に無理を言ったりして……」(店本氏)
安い回線を買ってきて束ねて使うという発想は、安いサーバをたくさん束ねて高可用性と高い負荷耐性を持たせるLVS(Linux Virtual Server)の発想と似ている。ハードウェアが壊れること、回線が切れることを前提に設計するのはインターネット的で、ある種の合理性もある。
ただ、一般消費者向けの回線サービスを常時負荷の高いWebサービス用インフラとして流用するという使い方には限界がある。急速に増え続けるトラフィックに対応できるかが課題になる。
「光回線が収容されている四ツ谷の局舎自体も、もうpixivのトラフィックでいっぱいいっぱいになっていたんです」(青木氏)
局舎のバックボーンや床下配管での光ファイバー施設の限界に直面し、帯域保障型の回線サービスに移行する決断を迫られたという。
「月額525円のプレミアム会員サービスを発表したときに、皆さんに有料会員になっていただければデータセンターにサーバを入れて、いい環境で運営できますとご説明していました。データセンターの高速な回線で快適にお使いいただけます、と」(青木氏)
利用者アンケートで実装してほしい新機能を尋ねれば、「機能よりサーバを買ってください」と答えるのがpixivユーザーたちだった。一方、半分以上のユーザーから1日以内に返信があるなど、pixivには熱心なファンが多い。そうしたユーザーによる「サポートしたい」という気持ちでサービスが回っている面があるという。
2010年7月20日現在、ちょうどデータセンターへの切り替えを完全に終えたところという。自社内に設置したベニヤ・インフラも稼働を続けるが、ユーザーに流れるトラフィックはデータセンターからだけになる。
すでにレスポンスは確実に上がっているという。Webサービスではページのロードが速くなると、それだけでPVが伸びるものだが、今回の移行によってpixivも2割弱ほどPVが伸びたという。これは広告収入にもダイレクトに響く数字だ。
現在、pixivの会員数は約217万人。モバイルを合わせて1日に4700万〜6300万PVのアクセスがあるという。日本最大規模のYahoo! Japanの16億2400万PV/日などにはもちろん及ばないが、特定層向けサービスとしてpixivは、かなり大きなWebサイトだ。ベニヤ・インフラでここまで成長してきたのは驚きだが、こうして無事に一部設備をデータセンターに移行させることに成功したというわけだ。
ベニヤをデータセンターに持ち込み!
興味深いのは、青木氏が「データセンターも自作のようなものだった」と語っているところだ。
にわかに信じがたいことだが、pixivはデータセンターを借りるに当たって既存インフラを、そのままデータセンターに持ち込もうとやってみたのだという。つまり、ベニヤ板もろとも、本物の19インチラックに裸のマザーボードを入れようしてみたのだという。
「データセンター事業者は3社ほど検討しましたが、IDCフロンティアを選んだのは、データセンターがすぐに自転車で駆けつけられる距離で便利だからという理由のほかにも、そういう無茶を聞いてくれるからというのもありましたね」(青木氏)
結局、ベニヤだと固定のためのラッシングの問題が避けられず、既製品サーバを使うしかないという結論に至ったというが、自由度の高さがポイントだったという。
「ぼくたちはベンチャー企業なので常にチャレンジし続ける必要があります。一般のシステム会社、特にインフラを担当する部署では保証や事例のないものの導入を躊躇してしまう傾向があると思いますが、ぼくたちは積極的に新しいものを取り入れていく“攻めのインフラ”を目指しています。pixivというサービスはプラットフォームなので、サーバーやデータセンターを他人任せにしていたら生き残れないと思っています」
専用線の選択ひとつ取ってみても、特定キャリアの利用を前提としているデータセンター事業者よりも、自由に新しいタイプのサービスが試せるデータセンターが良かったのだという。1次プロバイダに接続する形態ではなく、IXに直接専用線を引きこむ接続サービスなど新しいサービスが出てきたとき、柔軟に対応できるからだ。
今後も自社の“むき出しベニヤ板インフラ”も併用する。効率を考えれば、既存のサーバ群もラックに入れたほうがいい。ただ、今からデータセンターに再び200台分のメーカー製サーバを増設するとなると、数千万円の投資は避けられないし、占有するラック数も増えて一気に固定費がかさむ。
OSS利用で安価にスケール
自作サーバ群のラック間を歩きながら説明する店本氏は楽しそうだ。無造作に積み上げた3.5インチの裸のハードディスクを指さして、「積めるのは3台までで、4台乗せるとダメっぽいんですよね」と、こともなげに言う。排熱の関係らしい。
ちょっぴり無茶なアプローチのように思えるが、あっけらかんとした合理性は爽やかですらある。頭でっかちではなく、捨てるほどお金を持っているわけでもなく、自分たちで動かしてみて、うまくいかなければ挙動を観察して調整し、よりうまく動くようにする。こうしたアプローチは、OSやソフトウェアの利用の局面では、より合理性を増すかに見える。
例えば、pixivではDNSラウンドロビンを限界まで使ってみたことがあるという。ぶら下げるWebサーバの数が一定数を超えると「DNSレコードがUDPパケットに収まらなくて、ユーザーの環境によっては“画像が見えない”ということが起こった」(店本氏)という。DNSでは応答が512バイトを超えると、TCPにフォールバックしようとするが、家庭用ルータにはこの仕組みがうまく扱えないものもあるからだ。現在はデータセンター側にフロントサーバとして20台のNginxを設置して、これにURL文字列のハッシュ値をベースとする負荷分散の仕組み「carp」のモジュールを入れて使っているという。必ずしも高価なスイッチやロードバランサを入れなくても、億単位のページビューをさばけるという実例だ。
Debian GNU/Linux、PHP、MySQL、LVS、Nginx、Squid、memcachedなど、利用しているソフトウェアはどれもオープンソース。pixivは、大規模Webサイトのベスト・プラクティス集の1つの典型にも見える。OSのカーネルも含め、パラメータやサーバ構成の調整と計測を繰り返す。お金をかけてブラックボックス的なソリューションを買い求めるよりも、自分たちの手でインフラを作り上げる。それは、青木氏が笑って答えるように、「データセンターを使った社員なんていなかった」ことや、予算がなかったことから来る必然的な選択だったのかもしれない。しかし、こうした制約からむしろOSS利用に精通していっているようにみえるのが興味深い。現在pixivでは、これまで作ってきたPHPのコードのリファクタリングを行い、フレームワーク的なものに進化させようとライブラリの整備を始めているという。1年前に16人だった社員数も30人にまで増え、学生アルバイトも8人抱えるまでになった。
1日に5000万ヒットのWebサイトを支えるインフラやソフトウェアは、一部がデータセンターに移行したとはいえ、今も手作り感がいっぱいだ。危なっかしいシステム運用と冷ややかに見る人もいるかもしれないが、ほとんど予算がない状態から大規模サービスを成長させていく頼もしさ。急速に成長して多くのファンに愛されているサービスという面でも注目だが、こうした形でWeb系企業が伸びているのだという点も、IT関係者としては大いに注目しておくべきかもしれない。
関連リンク
情報をお寄せください:
- プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る - エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る - VBAにおけるFileDialog操作の基本&ドライブの空き容量、ファイルのサイズやタイムスタンプの取得方法 (2017/7/10)
指定したドライブの空き容量、ファイルのタイムスタンプや属性を取得する方法、FileDialog/エクスプローラー操作の基本を紹介します - さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは (2017/7/6)
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり
|
|
キャリアアップ
- - PR -
転職/派遣情報を探す
「ITmedia マーケティング」新着記事
フォルクスワーゲンがGoogleとタッグ 生成AI「Gemini」搭載で、何ができる?
Volkswagen of AmericaはGoogleと提携し、Googleの生成AI機能を専用アプリ「myVW」に導入...
JAROに寄せられた「広告への苦情」は50年分でどれくらい? 業種別、媒体別の傾向は?
設立50周年を迎えた日本広告審査機構(JARO)が、これまでに寄せられた苦情を取りまとめ...
データサイエンティストの認知率は米国6割、インド8割 さて、日本は?
データサイエンティスト協会は、日本と米国、インド、ドイツの4カ国で、データサイエンテ...