600台の手作りサーバ群を仮想化して コスト削減、効率向上、負荷分散、冗長化を実現
低コストで最大限の効率を追求するはてなのシステムユニークなサービスで知られるはてなは、システム構成も実にユニーク。システムの中核を担うサーバこそデル製のAMD Opteronサーバだが、それ以外は自社設計の「手作りサーバ」だ。仮想化により、この600台の物理サーバを1,300台のサーバとして運用している。また、アプリケーション・サーバについては、Linux Virtual Serverによるロード・バランシングで負荷分散と冗長化を実現している。
Computerworld.jp
高度なスケーラビリティと冗長性の確保 そして、効率と応答性を最重要視
「人力検索はてな(Q&Aサービス)」「はてなダイアリー(ブログサービス)」「はてなブックマーク(ソーシャル・ブックマーク)」といったサービスで知られるはてなの登録ユーザーは、2010年3月時点で140万人。月間ユニークユーザーは約2,000万で、ピーク時のトラフィックは800Mbpsに達する。
これだけのトラフィックを処理するため、600台の物理サーバを、仮想化で約1,300台として運用している――というのが、デルとAMDの提供による特別講演「はてなのサービスを支えるシステム」で田中慎司氏が明らかにした、はてなインフラの現状だ。
当然、システムの設計と構築/運用にあたっては、高度なスケーラビリティと冗長性を確保すること、そして効率と応答性が重要視されている。
例えば、アプリケーション・サーバについては、「Linux Virtual Server(LVS)」でロード・バランシングしながら複数台をクラスタ構成で運用。負荷を分散するとともに、障害発生時はフェールオーバ/フェールバックを行わせている。
また、マスタ/スレーブ構成としたDBサーバのうち、更新されるマスタ側はマルチ・マスタ方式としたうえで相互にレプリケーションを実施。
ただし、冗長化とハードウェア利用効率はトレードオフの関係にあるため、はてなはサーバを仮想化することで、コスト抑制とスケーラビリティや可用性の向上を実現させているという。
さらに、ハードウェア・リソースをフル活用するため、同一の物理サーバ上に配置する仮想サーバの組み合わせにも注意が払われている。「空いているリソースを互いに利用できるような組み合わせを選んだ」(田中氏)。具体的には、CPUバウンドのWebサーバとメモリ・バウンドのキャッシュサーバ、CPUバウンドのWebサーバとI/OバウンドのDBサーバを同居させるようにしたと言う。
このほか、サイト規模が大きくなるにつれて、ネットワークにもさまざまな対策が必要になると田中氏は言う。1か所のデータセンターでグローバルに対応するのは難しいため、CDN(コンテンツ配信ネットワーク)として「Amazon Cloudfront」を利用していると明かした。
●Megasite Infrastructure Storategy 2010 講演レポート
○開幕記念講演: 会員数6,200万人の「楽天」を支えるITインフラ――運用のポイントは過負荷対策と仮想化(楽天 千田孝由起氏)
○複雑化が進むECサイトで重要視すべきは“顧客視点”でのサイト・パフォーマンス可視化(日本コンピュウェア 谷 直樹氏)
○600台の手作りサーバ群を仮想化してコスト削減、効率向上、負荷分散、冗長化を実現(はてな 田中慎司氏)
●各講演資料がダウンロード可能です → Megasite Infrastructure Storategy 2010 イベント・サイト




























