アメーバを支える自作サーバのいままでとこれから | サイバーエージェント 公式エンジニアブログ
初めましての方は初めまして。知ってらっしゃる方はありがとうございます(※)。
アメーバでインフラエンジニアをしている桑野章弘と申します。id:akuwanoと言ったり、@kuwa_twでtwitterもやっています。

※M.S.注...「桑野トラップ」でご存知の方、その節はどうも申し訳ありませんでした。

twitterではどうでもいいことかカレーの事をメインにつぶやいております。(って言ったら誰もフォローしませんよね、、、参加した勉強会の実況等もしています)

色々話したいことはあったりするのですが、今回は私の最初のエントリということもありまして「アメーバの自作サーバのこれまでとこれから」についてお話しさせていただければと思います。


え?キャッチーだからとかじゃ、、、ないですよ?


■ミルフィーユサーバの紹介
、、、それでは、気を取り直して。
まず、現在アメーバで主に使われている自作サーバと言えばこれです。

$サイバーエージェント 公式エンジニアブログ

$サイバーエージェント 公式エンジニアブログ

サイバーエージェント 公式エンジニアブログ サイバーエージェント 公式エンジニアブログ

社内では俗に「ミルフィーユ(※1)」と呼ばれている自作サーバです。
特徴はなんと行ってもコンパクトにまとまった形です。その代わりRAID等の機能は削っており、スケールアウト前提に割り切った形となっています。

思えば、去年に自作サーバカンファレンスと言う所ではてなさんや、pixivさん、cerevoさん、チームラボさん等名立たる自作サーバを運用しているインフラ屋さんが集まった中でお話させていただく機会をいただきました。

その際に説明させて頂いた資料がこれです。

---------------------------------------------
自作サーバカンファレンス時の資料:

---------------------------------------------

※1 サーバにマウントしたサーバがケーキのミルフィーユの様なのでそう呼ばれるようになりました。


■自作サーバのメリット/デメリットの変化
前述の自作サーバカンファレンスの際にある程度自作サーバと言う物についてこういうメリットがあったりしますというお話させていただきました。

・低価格
  ベンダー製品のほぼ同スペックのサーバを買うよりも安く購入
・低消費電力
  電源装置や、HWを制限することで消費電力を抑える
・省スペース
  ミルフィーユサーバは1ラック47Uに80台の実績(理論上は96台)
・適材適所
  RAIDがいらなかったり、SSDをRAIDコントローラをかまさずに使いたかったりと言う用途に大してピンポイントで対応

現在自作サーバを1年運用してきましたがこれらがどのように変化したかについてまとめてみます。

「低価格」
  実際サーバを自作すると言う事におきまして、低価格を期待している部分があると思うのですが、実際問題としてそこまでアドバンテージが出なくなってきたと言う所が正直な部分としてあります。
  1Uのエントリモデルの価格がかなり下がってきていると言う所が大きいです。ですので、通常の1Uサーバを自作の様にカスタマイズして使う場合もかなりあります。
「低消費電力」 
  最近のサーバ機は電力効率は良くなってきていますが、そもそもの消費電力はある程度以下にはなりません。そのため自作のメリットは大きいです。
「省スペース」
  サーバはブレード機等で無い限りは1U以上を基本としており、ブレード機は導入障壁が高い(エンクロージャの管理、高い消費電力)事を考えるとやはり1U/2U機のフレキシブルな運用は捨てがたい魅力です。
  フレキシブルな運用を殺さずに省スペースを目指すと自作のバランス感覚は捨てがたい、という事になります。
「適材適所」
  どうしても購入できるサーバは僕らの環境を理解して作ってくれているわけではないので、本当に欲しいスペックのサーバにならない場合もあります。それは最大公約数的なスペックのサーバといえるかもしれません。(※2)
  本当に欲しいスペックのサーバは作らないと無い、と言う状況は少なくはありません。
  ただし、(サーバ用途として出ているPCパーツではなく)コンシューマ向けPCパーツを使用することが多い自作サーバでは、Memcached、MySQL等では、メモリ量で要求に答えられない場合は増えています。(※3)

以上の通りまとめてみましたが、結果として現在の自作のトレンド/メリットとしては「低消費電力」「省スペース」「適材適所」にシフトしてきていると言えます。

※2 もちろんそれで良い場合もあるわけで、そこも”適材適所”なわけです。
※3 これはミルフィーユサーバがmini-ITXを基本としていると言う理由もあります


■クラウドと自作サーバについて
次にクラウドと自作サーバについて比べてみます。
先ほどのメリット/デメリットの話でもでましたが、これからの自作サーバとしてはただ安いサーバを作るというよりはより少ないスペース、電力で多くのサーバを詰め込むために使う、と言う使い方がメインになってくるのではないでしょうか。

そしてミルフィーユのような壊れる前提のサーバは、どうしても徹底的なスケールアウトの構成をとらざるを得ません。

多数のサーバを束ねて使う、そしてスケールアウトの構成、、、そうですね、要するにIaaSなどのクラウド的な使い方にも自作サーバは合うわけです。

例えば、、、
・クラウドの様に自作サーバを使う
  これはオンデマンドでサーバを追加する仕組みを作っていくと言うことです。
  現在Chef等でのサーバの自動構築(これは今後このブログでも紹介されると思います)等で実施出きるはずでもう進んでいます。
  これは本質的にはクラウド、とはいえませんが自社でサーバを持っているから出来る半クラウド運用と言うメリットともいえます。
・クラウドのノードとして自作サーバを使う
  IaaS的な使い方として、EucalyptusOpenStackの様なクラウドプラットフォームや、RHEVや、VMWareの様なVPSとしてプライベートクラウドを構築していくと言う物です。

使い方としては、このような感じになりますが、実際にどのような形に落とし込めるかは今後の可能性として模索していきます(※)。

※M.S.注...おかげさまでAmebaPiggは非常に好評なので、AmebaPiggのシステムについてはVMWareでの仮想化を推進ということで、意見を一致させています。ライセンス費用高いので、本格導入時はアメリカから直買いしましょう。

■現在作成中のサーバについて
と、ここまで書いてきてなぜここに来て今更自作の話をしているのかといいますと、現在新しい自作サーバを作る計画をしているためです。
4in1Uのサーバを作っていきたいと前述のカンファレンス時にもお話させていただきましたが、そろそろ本格的に動き始めています。

プロトタイプとしてはこの様な感じになりまして、これが4枚入る形になります。

サイバーエージェント 公式エンジニアブログ


サイバーエージェント 公式エンジニアブログ

以前のミルフィーユサーバを運用していく間に出てきた改善点として、「組立の簡素化」「1台1台へのアクセスを良く」「スイッチ/LED等をつける」「さらに空気の流れを考慮」「ファンに手を食われない」等が実現された物になる予定です。

ハードウェアスペックですが、基本は今までQuadモデルと言われていた物を踏襲するつもりなのですがCPUの置き換えだけは、Core2Quadシリーズの終息により今まで重宝していたQ8400S~Q9550Sと言ったCPUがなくなってしまいました。(※4)
そのため選択肢が、
・intel core i5 600シリーズ
・AMD Phenom II X4シリーズ
となる予定です。
この辺りはコストパフォーマンスを確認して選択する事になると考えています。

Atomモデルは、これからもクラスタや分散KVS用途等で使われていくと思いますが、最近D510等がでてきてメモリも4GB積める物が出てきたため使いやすくはなってきており既に一部本番導入しています。
$サイバーエージェント 公式エンジニアブログ

新サーバの名前ですが、今は仮称としてSBY41(しぶやふぉーいんわん)とか、KWTRON(クワトロン:クアトロンじゃないです)などの候補が出ていますw
もしこれは!という良い名前があればつぶやいていただければと思います。
完成した暁にはまたどこかでお話しする事もあるかと思いますので、その際は生温かく見守っていただければと思いますw

※4 某社のHadoop用ソリューションにも採用されている所からもわかりますね。本当にバランスのとれたよいCPUでした、、、ウッウッ


■最後に
それでは、最後まで乱文に付き合いいただきました方ありがとうございます。
またお話する機会がありましたら是非よろしくお願いします。
そしてTwitterのフォローをお待ちしておりますw


■おまけ
サーバ設置時にやってみたサーバドミノ倒しの図。この形ならやらざるを得ませんよね。(※5)
$サイバーエージェント 公式エンジニアブログ

$サイバーエージェント 公式エンジニアブログ

アメーバではこの様に楽しくDC作業をしていますw

※5 実際には倒しておりませんのでご安心くださいw